avoir un peu de mal à créer un dossier sous un autre utilisateur /home/devuser1/pubic_html
dossier. J'essaie d'éviter d'utiliser Sudo
et de chercher une alternative. Les autorisations sur ledit dossier se lisent comme suit:
drwxr-s--- 2 devuser1 www-data 4096 Apr 28 19:40 public_html
Sinon, en supposant que j'utilise le préfixe Sudo
, quelles seraient les implications? J'ai lu que c'est une mauvaise pratique d'utiliser Sudo
pour créer un dossier. Une fois le nouveau dossier créé, je change toujours la propriété de celui-ci à l'utilisateur en question. Exemple:
chown -vR devuser1:www-data /home/devuser1/public_html/$vhost
Sudo -u [username] mkdir /home/[username]/public_html/[folder_name]
fonctionne très bien.
D'après ce que je peux voir, les autorisations et la propriété sont les mêmes si je devais me connecter en tant que même utilisateur et créer le dossier sous public_html
.
Vous pouvez également appeler su -c "mkdir /home/[username]/public_html/[folder_name]" [username]
Avec install
, vous pouvez créer un répertoire avec un propriétaire, un groupe et un mode spécifiques:
install -d -o <user> -g <group> -m <mode> <path>
Compte tenu de ces autorisations, seul le propriétaire du répertoire ou le super utilisateur peut créer des sous-répertoires.
La seule façon d'éviter d'utiliser des privilèges supplémentaires pour créer le dossier est de changer la propriété pour vous-même (avec Sudo
), de créer le sous-répertoire et enfin de rendre la propriété au propriétaire, mais cela ne ressemble pas à un bon solution pour moi.
J'ai essayé de faire un mkdir -p /srv/postgres/data/mydir
mais parce que
drwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv
a le propriétaire root
ni install -d -o <user> -g <group> -m <mode> <path>
@ user2313838
ni Sudo -u postgres mkdir -p /srv/postgres/data/mydir
fonctionne @ maGz
Je dois donc le diviser en deux commandes:
Sudo mkdir -p /srv/postgres/data/mydir
Sudo chown postgres:postgres /srv/postgres -R