当我运行sudo -i -u www-data -g www-data env时
我得到了sudo: unable to change directory to /var/www: No such file or directory
这一定是从什么地方的剧本,但我不知道在哪里。我要怎么找出这件事来解决它?有标准的区域清单要检查吗?
提前谢谢你!
发布于 2015-10-26 19:11:51
“必须从剧本中走出来”是什么意思?消息很清楚:在/etc/passwd中为用户www-data定义的主目录(很可能)不存在(参见getent passwd www-data)。
无论如何,你想用这个命令做什么?
发布于 2015-10-26 19:14:17
从sudo手册页
-i,-登录运行目标用户密码数据库条目指定的shell作为登录shell。这意味着特定于登录的资源文件(如.profile或.login )将由shell读取。如果指定了命令,则通过shell的-c选项将其传递给shell执行。如果没有指定命令,则执行交互式shell。sudo试图在运行shell之前更改到该用户的主目录。该命令的运行环境与用户在登录时接收的环境类似。sudoers中的命令环境部分(5)手动记录了当sudoers策略使用时,-i选项如何影响运行命令的环境。
因此,这很可能来自于与www-data帐户有关的东西。
我从查看www-数据用户输入的passwd文件开始,然后从那里开始工作。
https://serverfault.com/questions/731777
复制相似问题