我在 Windows 7 中的 Oracle Vbox 上运行 Ubuntu 来开发网站。我有一组具有所有者读/写权限的目录,但组 www-data 没有这些目录的权限。
我尝试了更改状态的命令 sudo chmod 640 /path-to-directory
,但收到一条消息,要求我输入 www-data 密码。我的所有者级别密码不起作用,我不知道这个密码是什么。
我尝试了passwd
一下,收到了“更改 www-data 密码”的消息,并提示我输入当前密码。当我输入密码时,我收到以下错误消息:
passwd:身份验证令牌操作错误
passwd:密码未更改
这个错误信息看起来更像是我的系统上的某种问题,但其他一切正常。
答案1
你做错了 (tm) :)
在您的终端窗口中,查看“命令提示符”:
username@hostname:~$
那是什么username
?您也可以尝试输入whoami
[Enter] 来查看您当前的用户名。
根据您的描述,您输入的内容类似于
sudo su www-data
或者以其他方式以 www-data 用户身份打开控制台会话。此用户无权使用sudo
命令,因此您尝试使用sudo
会失败。
www-data
用户默认也没有设置密码,因此无法直接以该用户身份登录。这很好。你不想给它设置密码。
您需要以您的用户身份打开另一个会话(或退出当前www-data
会话)并在其中输入命令:
sudo chown yourusername:www-data /path/to/directory
它将要求您输入登录密码。
(或者,也许只是将您的内容移动到/var/www
已经具有正确权限的位置。然后您可以将您的用户添加到 www-data 组以获取该目录的读写权限)
答案2
要允许用户 www-data 在运行 ubuntu 的本地 vmware 中使用 WinSCP 登录,请按照以下步骤操作:
编辑密码文件
sudo nano /etc/passwd
改变
www-data:x:33:33:www-data:/bin:/usr/sbin/nologin
到
www-data:x:33:33:www-data:/var/www:/bin/bash
节省。
设置 www-data 的密码
sudo passwd www-data
您现在可以使用 www-data 用户登录。
答案3
要更改密码使用此命令sudo passwd 用户名,使用您想要设置新密码的用户更改用户名,但您还应该检查特定目录的所有权和组。使用此命令 ls -l /路径/到/文件 #ls -l 输出中的第三个字段是用户,第四个字段是组
您可以使用以下方式更改群组和所有权chown