Permitindo um acesso de leitura e gravação de grupo a um diretório

40

Eu tenho dois usuários, user1 e user2, que são membros do grupo A. O usuário2 possui uma pasta em seu diretório pessoal chamada folderA. Se eles desejam permitir permissões de leitura, gravação e execução para todos os membros do grupo A, como eles fazem isso?

E se folderA contiver muitos arquivos e pastas adicionais que também precisam ter permissão de leitura, gravação e execução?

As informações sobre grupos são um pouco "irregulares" na web, por isso estou colocando minha pergunta aqui na esperança de que alguém poste uma resposta clara que possa ajudar outras pessoas também.

Obrigado!

WxPilot
fonte

Respostas:

56

PastaA primeiro precisará fazer parte do grupoA - o proprietário ou o root da pasta pode executar esta operação

chgrp groupA ./folderA

O groupA precisará de permissões rwx da pasta

chmod g+rwx ./folderA

Existem opções nos comandos chgrp e chmod para recursão no diretório, se necessário.

Charles Green
fonte
nota: você deve ter certeza de que também pode acessar diretórios intermediários (+ x pode ser suficiente).
JFS
Eu originalmente tentei chown :groupname ./foldere isso não funcionou - pois mudou o grupo, mas não deu nenhuma permissão efetiva
user230910 17/11
3

Minha própria experiência nesta área aqui. Instruções originais . Testado no Ubuntu 18.04.

Permitir escrever na pasta do sistema

Dê permissão de gravação para a /etc/nginx/pasta.

# Check 'webmasters' group doen't exist
cat /etc/group | grep webmasters
# Create 'webmasters' group
sudo addgroup webmasters
# Add users to 'webmasters' group
sudo usermod -a -G webmasters username
sudo usermod -a -G webmasters vozman
sudo usermod -a -G webmasters romanroskach

# Group assignment changes won't take effect
# until the users log out and back in.

# Create directory
sudo mkdir /etc/nginx/
# Check directory permissions
ls -al /etc | grep nginx
drwxr-xr-x   2 root root     4096 Dec  5 18:30 nginx

# Change group owner of the directory
sudo chgrp -R webmasters /etc/nginx/
# Check that the group owner is changed
ls -al /etc | grep nginx
drwxr-xr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Give write permission to the group
sudo chmod -R g+w /etc/nginx/
# Check
ls -al /etc | grep nginx
drwxrwxr-x   2 root webmasters   4096 Dec  5 18:30 nginx

# Try to create file
sudo -u username touch /etc/nginx/test.txt  # should work
sudo -u username touch /etc/test.txt  # Permission denied

Dê permissão de gravação para a /etc/systemd/system/pasta.

# List ACLs
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

# Add 'webmasters' group to an ACL
sudo setfacl -m g:webmasters:rwx /etc/systemd/system

# Check
getfacl /etc/systemd/system

getfacl: Removing leading '/' from absolute path names
# file: etc/systemd/system
# owner: root
# group: root
user::rwx
group::r-x
group:webmasters:rwx
mask::rwx
other::r-x

sudo -u username touch /etc/systemd/system/test.txt  # should work
sudo -u username touch /etc/systemd/test.txt  # Permission denied
FooBar167
fonte