Je gère Ubuntu 10.04 Server et j'ai des expériences très intuitives avec les utilisateurs/groupes. Par exemple:
Sudo touch test_file # create empty file
Sudo groupadd test # create 'test' group
Sudo chown root:test test_file # change group of file to 'test'
Sudo chmod g+rwx test_file # give write permissions to group
Sudo usermod -a -G test {my-user} # add my user to 'test' group
touch test_file # touch the file as my current user
La dernière ligne produit une erreur d'autorisations.
Je me suis assuré que mon utilisateur fait partie du groupe "Test" (groups {my-user}
confirme cela). Le groupe de test_file est également définitivement défini sur "Test" et les autorisations de groupe sont définies.
Pourquoi mon utilisateur ne peut-il pas écrire dans le fichier de test de fichier?
Lors de l'ajout d'un utilisateur à un nouveau groupe, cela ne sera appliqué dans aucun processus en cours d'exécution, que seuls les nouveaux. Vous devez vous déconnecter puis vous reconnecter.
La déconnexion et le redémarrage des méthodes de serveur ne fonctionnaient pas pour moi.
Cette méthode fonctionne cependant pour moi: (Référence à cela Réponse )
chmod g+rwxs <parent folder>
Redémarrez l'ordinateur pour vous assurer qu'aucun processus bloqué empêche votre utilisateur et vos groupes d'être appliqués correctement pendant la déconnexion et la connexion.
Ces étapes doivent donner votre utilisateur de groupe test
l'autorisation d'écriture sur test_file
Sudo touch test_file
Sudo groupadd test
Sudo chown root:test test_file
Sudo chmod g+rwx test_file
Sudo usermod -a -G test {my-user}
Redémarrez l'ordinateur ou faites une déconnexion du système d'exploitation de votre utilisateur. Un redémarrage du terminal ne suffit pas.
touch test_file
L'utilisateur peut écrire dans le fichier car il fait partie du groupe "Test" et le groupe a la permission RWX.
Vous pouvez utiliser la commande newgrp
pour modifier l'ID de groupe actuel de l'utilisateur. De man newgrp
:
La commande newgp est utilisée pour modifier l'ID de groupe actuel lors d'une session de connexion. Si la facultative
-
Le drapeau est donné, l'environnement de l'utilisateur sera réinitialisé comme si l'utilisateur s'était connecté, sinon l'environnement actuel, y compris le répertoire de travail actuel, reste inchangé.