Como posso configurar um diretório gravável em grupo?


16
$ whoami
meder
$ cd /var/www
$ sudo mkdir html
$ sudo groupadd web
$ sudo usermod -a -G web meder
$ sudo usermod -a -G web medertest
$ sudo chown meder:web html
$ sudo chmod -R g+rwx html

O problema é que, sempre que eu crio um novo arquivo, /var/www/htmlmesmo que o grupo esteja definido como web, ele é gravável apenas pelo usuário original.

Foi-me dado o conselho de definir o umaskque seria 002porque o padrão é o que causa os problemas. Mas eu teria que fazer isso para todos os usuários desse grupo e, tanto quanto eu sei, seria tedioso ter todos eles modificados ~/.bashrcpara ter umask 002. Mesmo que eu possa fazer isso sozinho com um comando shell para todos esses usuários, ainda parece muito entediante.

Alguém pode oferecer algum conselho sobre como ter um diretório gravável em grupo?


2
Você já tentou sair e depois fazer logon novamente com o medidor de usuário? As informações do grupo não são atualizadas na sessão atual.
6116 marco Marco

@marco - eu fiz su mederteste su medergostei mil vezes. Isso se qualifica como um logout?
Meder omuraliev

@marco graças não sabia que informações do grupo não é actualizada na sessão atual ... chatice
gabeio

Respostas:


30

Primeiro, ative o bit SGID no seu diretório:

sudo chmod g+s html

Isso fará com que os novos arquivos criados dentro desse diretório herdem a propriedade do grupo dos pais.

Não há herança de níveis de permissão no modelo de permissão POSIX. No entanto, isso pode ser feito com listas de controle de acesso , sem a necessidade de se preocupar com as configurações do umask:

sudo setfacl -d -m group:web:rwx html

É realmente uma chatice que umask não possa ser atribuído por diretório.


o que há g+sem números?
Jürgen Paul

1
@WearetheWorld precedido de 2: chmod 2XXX file.
Mizo

1
Eu tenho procurado por esta resposta para sempre, e acabei de me referir a ela através de uma resposta no Twitter. Obrigado @mizo!
Glyph

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.