J'ai lu d'innombrables articles sur le sujet et parcouru toutes les questions et réponses que je pouvais trouver sans aucune chance. Je deviens lentement en colère alors je me tourne vers vous car je sais que la réponse à ma question est fort probablement simple.
Sur mon serveur Web, j'ai deux utilisateurs et deux groupes. Les utilisateurs doivent lire et écrire dans la même zone. Pas un seul dossier, mais un réseau complexe de dossiers.
>> groups user_1
popuser psaserv psacln
>> groups user_2
psacln popuser psaserv
Ce ne sont pas de vrais utilisateurs, ils n'ont donc pas de fichiers .bashrc. Lorsque chacun des utilisateurs crée un répertoire, les autorisations ressemblent exactement à ce à quoi je m'attendais:
drwxr-xr-x 2 user_1 popuser 4096 Apr 30 20:47 folder_1
drwxr-xr-x 2 user_2 psacln 4096 Apr 30 20:49 folder_2
Mais une fois que l'un des deux utilisateurs crée le dossier, l'autre ne peut plus y écrire de fichier.
Si je chmod 777, alors bien sûr ils peuvent tous les deux écrire.
chat / etc / groupe
popuser:x:31:user_1,psaserv,user_2
psacln:x:505:user_2,user_1,psaserv
Aussi inhabituel est que lorsqu'un fichier est écrit dans le groupe, les autorisations semblent très restrictives:
-rw-r--r-- 1 user_2 psacln 0 Apr 30 21:15 some_file.ext
Bien que peut-être que prévu.
Quoi qu'il en soit, pour résumer et clarifier ma question en deux parties:
1) How can I make both users access files and folders from each other, given their group differences?
2) How can I set the default permissions on new files so they inherit the folder permissions?
(2) J'ai essayé d'ajouter umask 022 dans mon fichier ~ / .bashrc pour mon utilisateur root, mais cela n'a rien fait. Je ne sais pas où mettre cela pour ces "utilisateurs" qui n'ont pas de répertoires personnels.
Désolé, je sais que des questions comme celle-ci peuvent sembler redondantes pour vos experts utilisateurs de Linux. La recherche est difficile quand je ne sais même pas ce que je cherche.
Merci beaucoup, comme toujours.
[Je suis sur centos]
la source
Réponses:
Une solution consiste à attribuer aux annuaires un groupe commun aux utilisateurs.
Utilisez le bit "set group ID".
Vous ne pouvez pas hériter des autorisations rwx, définissez umask.
Vous avez prévu qu'un processus utilise ces identifiants. Vous devez prendre des dispositions pour que ce processus attribue à umask la valeur 022. La façon dont vous procédez dépend du processus que vous avez organisé à cet effet. Peut-être que vous utilisez
sudo
, peut-être que c'est un serveur Web, peut-être que c'est autre chose. Si vous ne l'expliquez pas, il n'est pas vraiment possible de fournir des conseils spécifiques et détaillés.la source
Si vous souhaitez que les nouveaux fichiers créés par vos utilisateurs soient par défaut en écriture pour les membres du groupe, vous devez modifier le paramètre umask en un autre type que 022. Si les implications en matière de sécurité vous conviennent, définissez le paramètre umask sur 002 (pour des exemples où définissez umask, voir https://stackoverflow.com/questions/10220531/how-to-set-system-wide-umask ).
Umask a expliqué
Les autorisations de fichier par défaut sur les fichiers et les répertoires nouvellement créés constituent une autorisation standard (
rw-rw-rw
pour les fichiers,rwxrwxrwx
pour les répertoires) soustrayant le paramètre umask actuel. Un paramètre umask de 000 conserve les autorisations standard, tandis qu'un paramètre de 777 supprime toutes les autorisations.Les trois chiffres de la clé umask représentent les autorisations utilisateur, groupe et personne, respectivement. Le nombre représente trois chiffres binaires, qu'il soit nécessaire de supprimer une autorisation spécifique ou non.
Pour calculer les autorisations qu'un nouveau fichier aura attribuées à un certain umask, commencez avec l'autorisation par défaut et soustrayez l'umask.
la source