Técnico de Manutenção e Suporte em Informática
Laboratório de Sistemas Operacionais Abertos
Unidade 11– Permissões Sobre Arquivos e
Diretórios
         Prof. Leandro Cavalcanti de Almeida
            leandro.almeida@ifpb.edu.br
                  @leandrocalmeida
O Controle de Acesso para
arquivos e diretórios é realizado a
partir das seguintes propriedades:
- Dono, Grupo e Outros
- Leitura, Escrita e Execução
Dono - Usuário que criou o
       arquivo/diretório
                           Grupo – conjunto de usuários
                           que possuem direitos sobre o
                           arquivo/diretório




Outros – conjunto de usuários
que não são donos ou não fazem
parte do grupo do
arquivo/diretório
Permissões de Acesso

Leitura – Permissão de leitura para arquivos e de
listagem de um diretório, representada pela letra   r
Escrita – Permissão de escrita em arquivos e de gravação
em um diretório, representada pela letra   w
Execução – Permissão de execução de arquivos e de
acesso em um diretório, representada pela letra x
No Linux as permissões de acesso
          --x
                são individuais ...
 r-x
                 - O Dono possui direito de
                 leitura(r), escrita(w) e
                 execução(x)
 rwx             - O Grupo possui direito de
                 leitura(r) e execução(x)
                 - Outros possuem o direito
                 de execução(x)

       ... isso sob um determinado
                   arquivo/diretório
Na prática funciona assim...
[leandro@notebook ~]$ ls -la teste.txt
-rw-rw-r--. 1 leandro leandro 459 Ago 19 15:36 teste.txt


                         -rw-rw-r--
1º caractere: Identifica o    5º ao 7º caractere: Identifica a
tipo de arquivo               permissão do Grupo

    2º ao 4º caractere: Identifica a             8º ao 10º caractere: Identifica a
    permissão do Dono                            permissão dos Outros
Na prática funciona assim...
[leandro@notebook ~]$ ls -la teste.txt
-rw-rw-r--. 1 leandro leandro 459 Ago 19 15:36 teste.txt



               leandro leandro


 Identifica o Dono        Identifica o Grupo
 do arquivo               do arquivo
Além dos 10 bits (-rw-rw-r--)
referentes ao tipo de arquivo,
dono, grupo e outros, podem
existir atributos especiais que
completam o mecanismo de
controle de acesso no Linux
Atributos Especiais

SUID – ajusta a identificação efetiva do usuário do
processo durante a execução de um programa

SGID – ajusta a identificação efetiva do grupo do
processo durante a execução de um programa

Stick Bit – Mantém uma imagem do programa na
memória depois que ele terminar de executar.
Na prática funciona assim...
Ex: SUID no passwd
[leandro@notebook bin]$ ls -l passwd
-rwsr-xr-x. 1 root root 28204 Fev 8 2011 passwd




 [leandro@notebook ~]$ passwd
 Mudando senha para o usuário leandro.
 Mudando senha para leandro.
 Senha UNIX (atual):
 ...
Como o usuário leandro consegue
escrever no arquivo e /etc/shadow?
leandro@notebook ~]$ stat /usr/bin/passwd
  File: "/usr/bin/passwd"
  Size: 28204 Blocks: 56        IO Block: 4096 arquivo comum
Device: 805h/2053d Inode: 162465       Links: 1
Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:passwd_exec_t:s0
Access: 2011-09-29 14:31:29.052042519 -0300
Modify: 2011-02-08 12:41:45.000000000 -0300
Change: 2011-09-14 09:30:48.487188832 -0300
 Birth: -



R: por causa do bit SUID ativado!
Representação OCTAL


      Método que permite a
  utilização de números octais
      para representação de
    permissões ao invés das
          letras r, w e x
Representação OCTAL

0 - Nenhuma permissão de acesso(---)
1 - Permissão de execução (x)
2 - Permissão de gravação (w)
3 - Permissão de gravação e execução (wx)
4 - Permissão de leitura (r)
5 - Permissão de leitura e execução (rx)
6 - Permissão de leitura e gravação (rw)
7 - Permissão de leitura, gravação e execução(rwx)
Representação OCTAL
 Ex:
[leandro@notebook ~]$ stat teste.txt
  File: "teste.txt"
  Size: 459         Blocks: 8   IO Block: 4096 arquivo comum
Device: 805h/2053dInode: 264921        Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ leandro) Gid: ( 500/ leandro)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2011-08-19 15:36:38.403249361 -0300
Modify: 2011-08-19 15:36:33.872249359 -0300
Change: 2011-08-19 15:53:32.594249919 -0300
 Birth: -
Na prática funciona assim...
Ex: ao invés de utilizar as letras, é mais
rápido e direto utilizar os números octais
                          letras
 [leandro@notebook ~]$ chmod g-w,o-r teste.txt

                          octal
 [leandro@notebook ~]$ chmod 640 teste.txt

                       Resultado
 [leandro@notebook ~]$ ls -l teste.txt
 -rw-r-----. 1 leandro leandro 459 Ago 19 15:36 teste.txt
chmod
Muda a permissão de acesso de um
arquivo ou diretório

chmod [opções] [permissões] [diretório/arquivo]

Ex:
 chmod uo+x teste.txt
 Inclui (+) a permissão de execução do arquivo teste.txt para o
 dono e outros usuários do arquivo.
chgrp
Muda o grupo de um arquivo ou
diretório

      chgrp [opções] [grupo] [diretório/arquivo]

Ex:
 chgrp grupo1 teste.txt
 Altera o grupo do arquivo teste.txt para o “grupo1”
chown
Muda o dono/grupo de um arquivo ou
diretório

chown [opções] [dono.grupo] [diretório/arquivo]

Ex:
 chown joao.users teste.txt
 Muda o dono do arquivo teste.txt para joão e seu grupo para users.

Lab so-abertos-unidade11

  • 1.
    Técnico de Manutençãoe Suporte em Informática Laboratório de Sistemas Operacionais Abertos Unidade 11– Permissões Sobre Arquivos e Diretórios Prof. Leandro Cavalcanti de Almeida leandro.almeida@ifpb.edu.br @leandrocalmeida
  • 2.
    O Controle deAcesso para arquivos e diretórios é realizado a partir das seguintes propriedades: - Dono, Grupo e Outros - Leitura, Escrita e Execução
  • 3.
    Dono - Usuárioque criou o arquivo/diretório Grupo – conjunto de usuários que possuem direitos sobre o arquivo/diretório Outros – conjunto de usuários que não são donos ou não fazem parte do grupo do arquivo/diretório
  • 4.
    Permissões de Acesso Leitura– Permissão de leitura para arquivos e de listagem de um diretório, representada pela letra r Escrita – Permissão de escrita em arquivos e de gravação em um diretório, representada pela letra w Execução – Permissão de execução de arquivos e de acesso em um diretório, representada pela letra x
  • 5.
    No Linux aspermissões de acesso --x são individuais ... r-x - O Dono possui direito de leitura(r), escrita(w) e execução(x) rwx - O Grupo possui direito de leitura(r) e execução(x) - Outros possuem o direito de execução(x) ... isso sob um determinado arquivo/diretório
  • 6.
    Na prática funcionaassim... [leandro@notebook ~]$ ls -la teste.txt -rw-rw-r--. 1 leandro leandro 459 Ago 19 15:36 teste.txt -rw-rw-r-- 1º caractere: Identifica o 5º ao 7º caractere: Identifica a tipo de arquivo permissão do Grupo 2º ao 4º caractere: Identifica a 8º ao 10º caractere: Identifica a permissão do Dono permissão dos Outros
  • 7.
    Na prática funcionaassim... [leandro@notebook ~]$ ls -la teste.txt -rw-rw-r--. 1 leandro leandro 459 Ago 19 15:36 teste.txt leandro leandro Identifica o Dono Identifica o Grupo do arquivo do arquivo
  • 8.
    Além dos 10bits (-rw-rw-r--) referentes ao tipo de arquivo, dono, grupo e outros, podem existir atributos especiais que completam o mecanismo de controle de acesso no Linux
  • 9.
    Atributos Especiais SUID –ajusta a identificação efetiva do usuário do processo durante a execução de um programa SGID – ajusta a identificação efetiva do grupo do processo durante a execução de um programa Stick Bit – Mantém uma imagem do programa na memória depois que ele terminar de executar.
  • 10.
    Na prática funcionaassim... Ex: SUID no passwd [leandro@notebook bin]$ ls -l passwd -rwsr-xr-x. 1 root root 28204 Fev 8 2011 passwd [leandro@notebook ~]$ passwd Mudando senha para o usuário leandro. Mudando senha para leandro. Senha UNIX (atual): ...
  • 11.
    Como o usuárioleandro consegue escrever no arquivo e /etc/shadow? leandro@notebook ~]$ stat /usr/bin/passwd File: "/usr/bin/passwd" Size: 28204 Blocks: 56 IO Block: 4096 arquivo comum Device: 805h/2053d Inode: 162465 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Context: system_u:object_r:passwd_exec_t:s0 Access: 2011-09-29 14:31:29.052042519 -0300 Modify: 2011-02-08 12:41:45.000000000 -0300 Change: 2011-09-14 09:30:48.487188832 -0300 Birth: - R: por causa do bit SUID ativado!
  • 12.
    Representação OCTAL Método que permite a utilização de números octais para representação de permissões ao invés das letras r, w e x
  • 13.
    Representação OCTAL 0 -Nenhuma permissão de acesso(---) 1 - Permissão de execução (x) 2 - Permissão de gravação (w) 3 - Permissão de gravação e execução (wx) 4 - Permissão de leitura (r) 5 - Permissão de leitura e execução (rx) 6 - Permissão de leitura e gravação (rw) 7 - Permissão de leitura, gravação e execução(rwx)
  • 14.
    Representação OCTAL Ex: [leandro@notebook~]$ stat teste.txt File: "teste.txt" Size: 459 Blocks: 8 IO Block: 4096 arquivo comum Device: 805h/2053dInode: 264921 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 500/ leandro) Gid: ( 500/ leandro) Context: unconfined_u:object_r:user_home_t:s0 Access: 2011-08-19 15:36:38.403249361 -0300 Modify: 2011-08-19 15:36:33.872249359 -0300 Change: 2011-08-19 15:53:32.594249919 -0300 Birth: -
  • 15.
    Na prática funcionaassim... Ex: ao invés de utilizar as letras, é mais rápido e direto utilizar os números octais letras [leandro@notebook ~]$ chmod g-w,o-r teste.txt octal [leandro@notebook ~]$ chmod 640 teste.txt Resultado [leandro@notebook ~]$ ls -l teste.txt -rw-r-----. 1 leandro leandro 459 Ago 19 15:36 teste.txt
  • 16.
    chmod Muda a permissãode acesso de um arquivo ou diretório chmod [opções] [permissões] [diretório/arquivo] Ex: chmod uo+x teste.txt Inclui (+) a permissão de execução do arquivo teste.txt para o dono e outros usuários do arquivo.
  • 17.
    chgrp Muda o grupode um arquivo ou diretório chgrp [opções] [grupo] [diretório/arquivo] Ex: chgrp grupo1 teste.txt Altera o grupo do arquivo teste.txt para o “grupo1”
  • 18.
    chown Muda o dono/grupode um arquivo ou diretório chown [opções] [dono.grupo] [diretório/arquivo] Ex: chown joao.users teste.txt Muda o dono do arquivo teste.txt para joão e seu grupo para users.