Como dar a todos os usuários (exceto guest) permissões para um determinado diretório via terminal?

0

Eu quero que todos os usuários tenham permissões completas sobre um único diretório (e todo o conteúdo). Isso é possível e como? Obrigado.

    
por Dusan Milosevic 02.08.2014 / 17:46

3 respostas

2

Você pode obter o que deseja com adicionando usuários em um determinado grupo e depois aplicando permissão total a esse grupo .

( echo $USER & amp; echo $LOGNAME é útil para obter nome de usuário e nome de log)

Exemplo:

Se / Let:

dir1 é o diretório ao qual você deseja aplicar permissão total ao usuário, em que user1 é o usuário ao qual você deseja conceder permissão completa,% group1 é existente ou deve ser criado para dar permissão total.

Em seguida, as informações da linha de comando podem ajudá-lo:

  1. group1 pode ser criado usando o seguinte comando:

    sudo addgroup group1
    
  2. user1 pode ser adicionado a group1 usando o seguinte comando:

    sudo adduser pandya group1
    
  3. Agora, as permissões podem ser aplicadas usando os seguintes comandos:

    sudo chown :group1 -R dir1
    sudo chmod g+rwx group1
    

Explicação:

  • sudo chown :group1 -R dir1 aplicará group1 a dir1 recursivamente por -R (a todos os subdiretórios e arquivos)
  • sudo chmod g+rwx group1 aplica permissão de leitura + escrita + execução a group1
  • Como user1 está em group1 então-que agora user1 tem permissão total via group1 para dir1 recursivamente!

Verificação:

$ ls -ld dir1
drwxrwxr-x 3 pandya group1 4096 Aug  3 12:11 example

em que drwxrwxr-x indica d para o diretório 1o% rwx para permissão do proprietário ( u=pandya ) 2º rwx para permissão de grupo ( g=group1 ) e r-x para outros (o) permissão na forma ugo .

    
por Pandya 03.08.2014 / 08:42
4

Como o usuário guest session não é adicionado ao grupo users , você pode simplesmente fazer o seguinte:

sudo chown -R $USER:users /var/privatefolder

sudo chmod -R 770 /var/privatefolder

O usuário da sessão de convidado não pode acessar o conteúdo de /var/privatefolder

Editar

Parece que os usuários criados na GUI ou na instalação não são adicionados ao grupo Usuários automaticamente. Eu assumi que isso seja verdade.

você teria que sudo usermod -a -G users username

Isso precisaria que você adicionasse usuários ao grupo manualmente, tornando a resposta TuKsn tão fácil quanto.

    
por stedotmartin 02.08.2014 / 18:51
2

Você pode criar um grupo para todos os usuários que devem ter acesso a essa pasta.

Crie um novo grupo:

sudo groupadd myNewGroup

Adicione um usuário ao grupo

sudo usermod -a -G myNewGroup username

Alterar usuário e grupo do diretório

sudo chown -R $USER:myNewGroup /path/to/dir/

Altere as permissões do diretório

sudo chmod -R 770 /path/to/dir/

Ou ug+rwx mais informações para permissões link

Editar : Como Shutupsquare sugere que você pode usar os usuários do grupo que já existem. Para adicionar todos os usuários humanos ao grupo, você pode usar:

for u in $(awk -F: '$3 >= 1000 && $1 != "nobody" {print $1}' /etc/passwd); do sudo usermod -a -G users $u; done  

com base em: link

    
por TuKsn 02.08.2014 / 18:23