作为 root 用户,我在我的 Ubuntu 中创建了一个新用户。
adduser isli
然后我授予新创建的用户 sudo 权限
usermod -aG sudo isli
然后切换到新创建的用户
su isli
在我的 isli 用户目录中有projects
我想要打开的目录
sudo ls -al
给出以下输出
drwx------ 6 root root 4096 Feb 7 15:15 .
drwxr-xr-x 23 root root 4096 Jan 29 06:10 ..
drwxr-xr-x 4 root root 4096 Jan 18 09:43 projects
但是当我尝试cd projects
输出时permissions denied
我做错了
答案1
您的用户isli
对您所在的目录 ( ) 没有任何权限.
,该目录是您的目录的父目录projects
。这是因为该目录.
归其他人所有root
,而其他人对其没有任何权限(---
模式指示器中的最后一个)。
一种解决方案是授予每个人对该目录的读取 ( r
) 和访问 ( ) 权限:x
sudo chmod o+rx .
您可能更喜欢的另一个选项是将目录设置为由用户拥有isli
:
sudo chown isli .
或者如果您还想授予isli
该目录下所有内容的所有权(例如projects
目录):
sudo chown -R isli .
(该-R
开关代表递归。)然后isli
您还可以编辑这些目录中的文件,这可能是您想要的。
另一个建议
事实上,您可能不想这样做,毕竟:您可能在root
的主目录中,并且您可能希望保留 所拥有的目录root
。该命令su root
不会更改当前工作目录,因此如果您从 root 的主目录(通常是 )开始/root
,您仍然会在那里。您可能希望保留 所拥有的目录root
。您可以使用以下命令显示当前工作目录:
pwd
您正在寻找的解决方案可能是将projects
目录移动到isli
的主目录中,这通常是/home/isli
,但如果您不确定,您可以在大多数交互使用的 shell 中通过来引用它~isli
。
要设置isli
为目录的所有者projects
,将其移动到isli
的主目录,最后更改到该目录,请执行以下操作:
sudo chown isli projects
sudo mv projects ~isli/
cd ~isli/projects