Je suis en train de configurer un environnement dans lequel je donne à plusieurs utilisateurs un accès SSH sur mon serveur. Ils sont tous dignes de confiance, mais je veux les intégrer à un segment du système de fichiers. J'ai créé les utilisateurs comme suit:
adduser username -ingroup groupname
qui fonctionne assez bien. Lorsque je me connecte comme l'un d'entre eux, je peux le faire et obtenir toutes les bonnes réponses:
$id -r -u -n
username
$id -r -g -n
groupname
J'ai remplacé le groupe principal de mon propre compte utilisateur par groupname
en procédant comme suit:
$usermod myuser groupname
Je me suis ensuite déconnecté, puis je suis rentré. Les fichiers que je souhaite que le groupe puisse accéder se trouvent maintenant sous:
$ls -l / | grep groupname
drwxr-xr-x 3 root groupname 4.0K 2012-03-26 20:20 groupfiles
$cd /groupfiles
$ls -l
drwxrwxr-x 2 root groupname 4.0K 2012-03-26 20:32 project
Les autorisations sont de par leur conception, les membres du groupe ne peuvent pas modifier les fichiers/dossiers sous /groupfiles
mais ils peuvent ajouter, modifier et supprimer sous /groupfiles/project
Le problème que je rencontre est que lorsque je fais cela, je me trompe de groupe:
$touch test
$ls -l test
-rw-rw-r-- 1 myuser myuser 0 2012-03-26 20:58 test
$id -r -g -n
groupname
Je dois faire en sorte que les fichiers créés par vim, touch, etc. aient le bon groupe. Je connais newgrp()
et les bits setgid
. Ce sont pas ce que je cherche. Cela fonctionne très bien pour les nouveaux utilisateurs que j'ai créés, mais ne fonctionne pas pour mon utilisateur. Je ne suis pas sûr de ce qui s'est passé, mais cela fonctionne bien maintenant. Je viens de laisser cette question ici pour les futurs bricoleurs.
Je suppose que le comportement que vous souhaitez est le suivant: Sudo usermod -g groupname myuser
.
Remarque: cette commande modifie la propriété du groupe pour tous les fichiers dans $ HOME, mais pas en dehors de la maison. Vous voudrez peut-être les changer à nouveau chgrp -R myuser $HOME
Vous devez ensuite vous déconnecter et vous reconnecter pour que les modifications prennent effet.
Si vous ne voulez pas changer votre groupe principal 'myuser', newgrp est la voie à suivre.
Sudo usermod -g admin bodhi
ssh localhost
touch file
newgrp bodhi
touch file2
ls -l file file2
-rw-r--r-- 1 bodhi admin 0 2012-03-26 19:28 file
-rw-r--r-- 1 bodhi bodhi 0 2012-03-26 19:29 file2