linux setfacl permissão para usuário diferente e capaz de escrever em recursiva

1

Eu tenho um usuário de reboque no mesmo grupo 1. usuário 1: datauser 2. usuário 2: webuser 3. Grupo: apache

O que definir permissão usando setfact para qualquer usuário pode criar diretório / arquivo recursivo.

Ex .:     diretório / web / foo /     Que permissão / conjunto de máscara (usando setfact), para que o datauser / webuser possa criar o diretório em foo dir (recursivo).

#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

Esse umask e chmod não funcionam.
[datauser] $ mkdir foo
[datauser] $ chmod g + ws foo
[datauser] $ umask 002 foo

[datauser] $ getfacl foo
 arquivo: foo
 proprietário: datauser  grupo: apache
 bandeiras: -s-
user :: rwx
grupo :: rwx
other :: r-x

Agora crie o diretório usando webuser: usuário do apache [PHP: mkdir (/ web / foo / browser, 0755, ture); ] E a permissão do diretório é: [datauser] $ getfacl foo / browser /  arquivo: foo / browser /
 proprietário: apache
 grupo: apache
 bandeiras: -s-
user :: rwx
grupo :: r-x
other :: r-x

Agora crie um arquivo no diretório do navegador. obtendo permissão negada.

[datauser] $ toque foo / browser / command.txt
toque: não pode tocar em "foo / browser / command.txt": Permissão negada

    
por Jignesh 02.07.2015 / 14:49

1 resposta

1

Que tal usar chmod g+ws /web/foo ? Isso define os setgid e write bits no diretório, o que torna todos os grupos de arquivos criados como apache nesse diretório e permite que todos os usuários do grupo apache gravem nesse diretório e criem mais diretórios dentro dele .

E outra coisa que você precisa fazer é atualizar seu umask para que o grupo tenha permissões de gravação por padrão. Então, você deve adicionar umask 002 em algum lugar em seus arquivos de inicialização para que o grupo obtenha permissões de gravação por padrão.

    
por 02.07.2015 / 15:08