J'utilise le serveur Ubuntu 10.04 et j'ai des expériences très contre-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.
J'ai veillé à ce que mon utilisateur fasse 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?
su - username
votre console en cours d'exécution. vous n'avez pas besoin de vous déconnecter pour vous connecter de cette façon :)Les méthodes de déconnexion et de redémarrage du serveur n'ont pas fonctionné pour moi.
Cette méthode fonctionne cependant pour moi: (référence à cette réponse )
la source
+s
pièce? Merci.x
: on dirait que les droits d'exécution sont nécessaires pourtouch
fonctionner.Vous pouvez utiliser la
newgrp
commande pour modifier l'ID de groupe actuel de l'utilisateur. Deman newgrp
:la source
-R
option!Redémarrez l'ordinateur pour vous assurer qu'aucun processus bloqué n'empêche votre utilisateur et vos groupes d'être correctement appliqués lors de la déconnexion et de la connexion.
Ces étapes doivent donner à votre utilisateur du groupe
test
l'autorisation d'écriture surtest_file
Redémarrez l'ordinateur ou déconnectez le système d'exploitation de votre utilisateur. Un redémarrage du terminal ne suffit pas.
L'utilisateur peut écrire dans le fichier car il fait partie du groupe «test» et le groupe a l'autorisation rwx.
la source