1 votes

linux setfacl permission to different user and able to write in recursive

J'ai deux utilisateurs dans le même groupe 1. utilisateur 1 : datauser 2. utilisateur 2 : webuser 3. Groupe : apache

Ce qui définit la permission à l'aide de setfact à l'un ou l'autre des utilisateurs peut créer des répertoires/fichiers récursifs.

Ex.. : répertoire /web/foo/ Quelle permission/masque définir (à l'aide de setfact), pour que datauser/webuser puisse créer un répertoire sous le répertoire foo (récursif).

#datauser : mkdir -p /web/foo/datadir/
#webuser : mkdir -p /web/foo/datadir/webdir
#datauser : touch /web/foo/datadir/webdir/datafile.txt
#webuser : touch /web/foo/datadir/webfile.txt
etc...

I try with below command, but when any directory created using      
webuser:apache, then datauser:apache not able to write under that.

setfacl -Rm u:webuser:rwX,d:u:webuser:rwX foo
setfacl -Rm u:datauser:rwX,d:u:datauser:rwX foo
setfacl -Rm m:rwX,d:m:rwX foo

Que umask et chmod ne fonctionnent pas.
[datauser]$ mkdir foo
[datauser]$ chmod g+ws foo
[datauser]$ umask 002 foo

[datauser]$ getfacl foo
fichier : foo
propriétaire : datauser groupe : apache
drapeaux : -s-
user::rwx
groupe::rwx
autre::r-x

Créez maintenant un répertoire en utilisant l'utilisateur webuser:apache [PHP : mkdir(/web/foo/browser, 0755, ture) ; ] Et la permission du répertoire est : [datauser]$ getfacl foo/browser/ fichier : foo/browser/
propriétaire : apache
groupe : apache
drapeaux : -s-
user::rwx
groupe::r-x
autre::r-x

Maintenant, créer un fichier dans le répertoire du navigateur, mais l'autorisation est refusée.

[datauser]$ touch foo/browser/command.txt
touch : cannot touch 'foo/browser/command.txt' : Permission refusée

1voto

Tero Kilkanen Points 32968

Pourquoi ne pas utiliser chmod g+ws /web/foo ? Cela permet de définir le setgid y write sur le répertoire, ce qui fait que tous les groupes de fichiers créés sont apache dans ce répertoire, et autorise tous les apache d'écrire dans ce répertoire et d'y créer d'autres répertoires.

Une autre chose que vous devez faire est de mettre à jour votre umask afin que ce groupe ait des droits d'écriture par défaut. Vous devez donc ajouter umask 002 quelque part dans vos fichiers de démarrage afin que ce groupe obtienne les droits d'écriture par défaut.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X