使用 root 到另一个用户主目录中的 mkdir

使用 root 到另一个用户主目录中的 mkdir

尝试在另一个用户的文件夹下创建文件夹时遇到一些困难/home/devuser1/pubic_html。我试图避免使用sudo并寻找替代方案。该文件夹的权限如下:

drwxr-s--- 2 devuser1  www-data 4096 Apr 28 19:40 public_html

或者,假设我使用sudo前缀,会产生什么影响?我读过,使用sudo创建文件夹是不好的做法。创建新文件夹后,我仍然将其所有权更改为相关用户。例子:

chown -vR devuser1:www-data /home/devuser1/public_html/$vhost

答案1

使用install,您可以创建具有特定所有者、组和模式的目录:

install -d -o <user> -g <group> -m <mode> <path>

答案2

sudo -u [username] mkdir /home/[username]/public_html/[folder_name]工作正常。

据我所知,如果我以同一用户身份登录并在public_html.

您也可以致电su -c "mkdir /home/[username]/public_html/[folder_name]" [username]

答案3

赋予这些权限,只有目录的所有者或超级用户才能创建子目录。

您可以避免使用额外权限来创建文件夹的唯一方法是将所有权更改为您自己(使用sudo),创建子目录并最终将所有权返回给所有者,但对我来说这似乎不是一个好的解决方案。

答案4

我尝试做一个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> @用户2313838

也不sudo -u postgres mkdir -p /srv/postgres/data/mydir@maGz

解决方案是将其分为两个命令:

sudo mkdir -p /srv/postgres/data/mydir
sudo chown postgres:postgres /srv/postgres -R

相关内容