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

maG*_*aGz 33 permissions directory

尝试在另一个用户的/home/devuser1/pubic_html文件夹下创建文件夹有点困难。我试图避免使用sudo和寻找替代方案。上述文件夹的权限为:

drwxr-s--- 2 devuser1  www-data 4096 Apr 28 19:40 public_html
Run Code Online (Sandbox Code Playgroud)

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

chown -vR devuser1:www-data /home/devuser1/public_html/$vhost
Run Code Online (Sandbox Code Playgroud)

小智 39

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

install -d -o <user> -g <group> -m <mode> <path>
Run Code Online (Sandbox Code Playgroud)


maG*_*aGz 36

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

从我可以看到的权限和所有权是相同的,如果我以同一用户身份登录并在public_html.

你也可以打电话 su -c "mkdir /home/[username]/public_html/[folder_name]" [username]

  • 当你运行 `sudo -u USERNAME mkdir DIRNAME` 时,你正在以用户 `USERNAME` 的身份执行 `mkdir` 命令。这并不完全等同于以“USERNAME”的身份登录,因为登录还意味着设置环境变量等,但这是重要的部分,即以特定用户身份执行进程。 (2认同)