avoir un peu de mal à essayer de créer un dossier sous le dossier d'un autre utilisateur /home/devuser1/pubic_html
. 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 sudo
préfixe, quelles seraient les implications? J'ai lu que c'est une mauvaise pratique à 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 DIRNAME
, vous exécutez lamkdir
commande en tant qu'utilisateurUSERNAME
. Ce n'est pas exactement équivalent à se connecter en tant queUSERNAME
, car la connexion implique également la définition de variables d'environnement, etc., mais c'est la partie qui compte, à savoir l'exécution d'un processus en tant qu'utilisateur particulier.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 de retourner finalement la propriété au propriétaire, mais cela ne me semble pas être une bonne solution.la source
sudo -u devuser1 mkdir /home/devuser1/public_html/test
. Ce n'est pas la même chose que de créer le dossier avec,sudo
n'est-ce pas?ls -al
révèle:drwxr-sr-x 2 devuser1 www-data 4096 Apr 28 23:49 test
sudo
tant que vous changez de propriétaire après cela.ls
révèle le contenu de l'utilisateurpublic_html
, il semble que le changement de propriétaire ne soit pas nécessaire, mais peut-être des autorisations.su
, au lieu de cela, je l'utilise pour m'authentifier en tant qu'utilisateur qui va créer le dossier ... est-ce que cela a du sens?J'ai essayé de faire
mkdir -p /srv/postgres/data/mydir
mais parce quedrwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv
a un propriétaireroot
ni
install -d -o <user> -g <group> -m <mode> <path>
@ user2313838ni
sudo -u postgres mkdir -p /srv/postgres/data/mydir
fonctionne @maGzJe dois donc le diviser en deux commandes:
la source