Je rencontre un étrange problème sur une machine unix / linux:
Je suis membre d'un groupe, appelons-le groupe A et un certain fichier (qui a un propriétaire différent) appartient également au groupe A. Les autorisations de ce fichier sont
-rw-rw----
je m'attends donc à ce que je puisse ouvrir ce fichier, mais je ne le suis pas: j'obtiendrai le message d'erreur "Autorisation refusée" lorsque j'essaierai de regarder le contenu du fichier (en utilisant cat).
Étant donné que les autorisations semblent être correctes, quoi d'autre pourrait être à l'origine de cela? Y a-t-il des restrictions d'autorisation "prioritaires" en place? Si oui, comment pourrais-je le savoir?
permissions
files
nfs
group
Lagerbaer
la source
la source
Réponses:
Vous êtes-vous déconnecté et reconnecté depuis que vous avez été ajouté au groupe A?
Si ce n'est pas le cas, vos processus de connexion actuels n'auront que les appartenances au groupe qu'ils avaient au moment de la connexion, pas de modifications depuis. Et tous les processus enfants de cette connexion auront les mêmes appartenances de groupe (c'est-à-dire si vous vous êtes connecté à X, alors chaque application, y compris votre émulateur de terminal et votre shell)
Vous pouvez tester cela en vous connectant à nouveau sur une autre console ou via ssh, ou quelque chose comme
exec sudo -u $(id -u -n) -i
(pour tuer et remplacer efficacement le shell actuel par un nouveau shell - tous les processus d'arrière-plan appartenant à ce shell seront orphelins)la source
Avec NFS, cela dépend du mode de sécurité que vous utilisez, mais dans le mode traditionnel, la liste des groupes auxquels l'utilisateur appartient est envoyée par le client au serveur, et il y a une limite sur le nombre de groupes qui peuvent être envoyés (c'était 16 la dernière fois que j'ai vérifié).
Donc, le client dit: je suis uid 1234 et d'ailleurs je suis membre des groupes 12, 13, 14 ... Si vous êtes dans plus de 16 groupes, cette liste sera tronquée et il y aura des groupes pour dont le serveur ne sait pas que vous en êtes membre.
Voilà probablement l'explication. Seul l'administrateur système de la machine locale et / ou distante peut y remédier en modifiant le modèle de sécurité ou les paramètres du serveur NFS ou en réduisant le nombre de groupes dont vous êtes membre.
la source
Comme vous le notez dans un commentaire, vous ne disposez pas des autorisations de lecture pour
/home/username
. Mais pour lire/home/username/path1/path2/file
, vous devez exécuter des autorisations pour l'ensemble du chemin.Pour déboguer cela, exécutez en
namei -l /home/username/path1/path2/file
tant qu'utilisateur qui lit le fichier.la source
Il peut s'agir d'ACL. Voir
Cela pourrait être dû au fait que les groupes auxquels vous êtes censé appartenir ne sont pas correctement définis. Vérifier avec
Qu'en est-il de
Quel est le type de système de fichiers dans lequel il réside?
Un apparmor, SELinux ou tout autre contrôle d'accès obligatoire en place dans le système?
Vous êtes sûr que le fichier ne contient pas le texte "Autorisation refusée", non ;-)?
la source