Answers:
授予这些权限后,只有目录所有者或超级用户才能创建子目录。
避免使用额外特权来创建文件夹的唯一方法是将所有权更改为您自己(使用sudo
),创建子目录,最后将所有权返回给所有者,但对我来说,这似乎不是一个好的解决方案。
sudo -u devuser1 mkdir /home/devuser1/public_html/test
。这与创建文件夹不同sudo
吗? ls -al
显示:drwxr-sr-x 2 devuser1 www-data 4096 Apr 28 23:49 test
sudo
只要您在此之后更改所有权,我在创建文件夹中就不会看到任何邪恶。
ls
显示的用户内容中public_html
,看起来好像不需要更改所有权,但是可能需要更改权限。
su
,而是使用它来认证自己作为要创建文件夹的用户……这有意义吗?
我试图做一个,mkdir -p /srv/postgres/data/mydir
但是因为
drwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv
有所有者 root
都不install -d -o <user> -g <group> -m <mode> <path>
@ user2313838
也不sudo -u postgres mkdir -p /srv/postgres/data/mydir
工作@maGz
因此,我必须将其分为两个命令:
sudo mkdir -p /srv/postgres/data/mydir
sudo chown postgres:postgres /srv/postgres -R
sudo -u USERNAME mkdir DIRNAME
,您mkdir
以用户身份执行命令USERNAME
。这并不完全等同于以as身份登录USERNAME
,因为登录还意味着设置环境变量等等,但这是很重要的部分,即以特定用户身份执行进程。