permissões de usuários do Linux

0

Eu tenho que fazer o seguinte como lição de casa (no Fedora):

  • Faça 3 grupos S, F, A
  • adicione alguns usuários aos grupos
  • Crie um arquivo para cada grupo que somente os membros do grupo podem usar.

Eu loga como root e faço em desktop um mkdir SFA e com chmod dou wrx na pasta e com o chgrp dou o grupo A na dir A, mas se eu logar com um usuário do grupo AI não consigo ver o dir A no desktop, o que estou fazendo errado?

Além disso, se eu tiver uma pasta que possa ser acessada apenas por membros de seu grupo, posso criar uma subpasta nela e dar acesso à subpasta para usuários que não estão no grupo da pasta pai?

    
por Vagelis 11.04.2013 / 13:53

1 resposta

0

O Desktop no Gnome (que eu presumo que você esteja usando) é um subdiretório do usuário $HOME , especificamente $HOME/Desktop . Então, se você logar como root e criar um arquivo ou pasta no Desktop do root, outros usuários não irão vê-lo na sua área de trabalho. Além disso, o $ HOME do root não é acessível para usuários normais por padrão.

Em vez de criar o diretório no Desktop do root, crie-o, por exemplo, no Desktop do usuário A.

Agora, quando você tiver as pastas configuradas, se desejar conceder acesso a uma subpasta para usuários que não estejam no grupo de pastas pai, será necessário permitir a execução (não ler ou gravar) da pasta pai. A única maneira de acessar uma subpasta é ter direitos de execução no pai. Por exemplo, execute esses comandos como root :

  1. Crie uma pasta e atribua rwx direitos ao proprietário e aos membros de seu grupo e apenas x de permissões a todos os outros:

    mkdir /foo
    chmod 771 /foo/
    
  2. Crie um subdiretório de /foo que será livremente acessível a todos e crie um arquivo de teste:

    mkdir /foo/bar
    chmod 777 /foo/bar/
    touch /foo/bar/file.txt
    chmod 766 /foo/bar/file.txt
    

Isso é o que criamos até agora:

# ls -l / | grep foo
drwxrwx--x   3 root root  4096 Apr 16 14:31 foo
# ls -l /foo
drwxr--r-- 2 root root 4096 Apr 16 14:31 bar
# ls -l /foo/bar
-rwxrw-rw- 1 root root 0 Apr 16 14:47 file.txt

Então, se eu fizer login com um usuário que não esteja no grupo root , não poderei ler ou gravar em /foo , mas eu poderei ler e escreva para /foo/bar :

$ whoami
terdon
$ groups
users
$ ls /foo
ls: cannot open directory /foo/: Permission denied
$ ls /foo/bar
file.txt

Portanto, para dar acesso de qualquer tipo (leitura, gravação ou execução) a um subdiretório, você precisa ter pelo menos direitos de execução na pasta pai.

    
por 11.04.2013 / 15:45