Baixe o app para aproveitar ainda mais
Prévia do material em texto
31/03/2014 1 Permissões Adm. De Usuário e Grupos Administração de Software Livre Pode-se substituir as letras por números. EX: r – leitura (4) w – escrita (2) e – execução (1) O conjunto de letras somadas tem o resultado 7. Essa é a permissão máxima para cada grupo que utilizar o arquivo. 0 - Nenhuma permissão 1 - Permissão para executar 2 - Permissão para gravar 3 - Permissão para gravar e executar 4 - Permissão para ler 5 - Permissão para ler e executar 6 - Permissão para ler e gravar 7 - Permissão para ler, gravar e executar EX: Permissão 777 (rwxrwxrwx) indica que pode ser lido, alterado e executado. Permissão 733 (rwx-wx-wx) indica que o grupo e outros usuários só podem ler e executar, enquanto que o dono do arquivo pode ler, gravar e executar. Permissões Arquivos e Pastas Estar ou não “setado”! 31/03/2014 2 Stat : Tem o objetivo de mostrar as informações gerais a respeito de um arquivo. EX: stat nomearquivo Ls : Dispõe ao usuário todas as informações pertinentes aos arquivos e diretórios. EX: -rwxr-xr-x 5 root admin 357 Feb 28 13:14 teste Permissões : É um conjunto de 9 letras, que é dividido em 3 grupos de 3 letras. 1° Grupo pertence as permissões de root 2° Grupo pertence as permissões do grupo admin 3° Grupo pertence a outros grupos de usuários. r = Leitura w = Escrita x = Execução d = diretório Permissões Dono do Arquivo Grupo Tam. em Bytes Data e hora Nome Arquivo Arquivos � Exemplo: # chmod 755 apache � chmod -R 755 /etc/apache 31/03/2014 3 Comando Número Permissão chmod 000 --------- chmod 400 r-------- chmod 444 r--r--r-- chmod 600 rw------- chmod 620 -rw--w---- chmod 640 -rw-r----- chmod 644 rw-r--r-- chmod 645 -rw-r--r-x chmod 646 -rw-r--rw- chmod 650 -rw-r-x--- chmod 660 -rw-rw---- chmod 661 -rw-rw---x chmod 662 -rw-rw--w- chmod 663 -rw-rw--wx chmod 664 -rw-rw-r-- chmod 666 rw-rw-r-- chmod 700 rwx------ chmod 750 rwxr-x--- chmod 755 rwxr-xr-x chmod 777 rwxrwxrwx Comandos � Proteção de Arquivos e Diretórios � Direitos de um arquivos podem ser vistos com: � $ ls -l � -rw-rw-r-- 1 root 48 Jun 17 08:34 arp_data � drwxrwx--x 4 autor 80 Mar 28 09:40 autor � Primeiro caractere indica o tipo do arquivo: � comum (-) � Armazena textos, executáveis, programas, etc � Criados livremente pelo usuário � diretório (d) � link (l) � especial (c, b) � Associado a impressora, disco flexível, etc � Criados e mantidos pelo sistema 31/03/2014 4 Comandos � Proteção de Arquivos e Diretórios � Direitos de um arquivos podem ser vistos com: � $ ls -l � -rw-rw-r-- 1 root 48 Jun 17 08:34 arp_data � drwxrwx--x 4 autor 80 Mar 28 09:40 autor � Nove caracteres seguintes indicam as permissões para os arquivos � -rwx rwx rwx ↓ ↓ ↓ dono grupo outros � r - read (leitura); w - write (gravação); x - execute (execução) e um traço (-) significa a sua negação Comandos � Alterando o dono e o grupo do arquivo � é realizada pelo dono atual ou pelo superusuário � mudança de dono � chown (change owner) � Sintaxe: chown novopropriet arq1 arq2 ... arqn � Exemplo: $ chown root relatorio � Para alterar o grupo ao qual pertence um arquivo � chgrp (change group) � Sintaxe: chgrp novogrupo arq1 arq2 ... arqn � Exemplo: $ chgrp projeto relatorio 31/03/2014 5 Comandos � Alterando as permissões � mudança das permissões de acesso a um arquivo é feita através do comando chmod � Modo intuitivo de utilizá-lo é: � chmod u/g/o/a +/-/ r/w/x arq � onde: • u: proprietário; g: grupo; o: outros; a: todos • +: libera; -: bloqueia; • r: leitura; w: escrita; x: execução � Exemplos: � $ chmod ug+w relatorio � $ chmod o-rw+x arq1 31/03/2014 6 � SUID (Set User ID) � A propriedade SUID é somente para arquivos executáveis e não tem efeito em diretórios. Nas permissões básicas, o usuário que executou o programa é dono do processo. Mas em arquivo executável com a propriedade SUID aplicada, o programa rodará com o ID do dono do arquivo, não com o ID do usuário que executou o programa. Normalmente o usuário dono do programa executável é também dono do processo sendo executado. Ou seja, quando um arquivo/programa executável tem o controle de acesso SUID, ele é executado como se ele estivesse iniciado pelo dono do arquivo/programa. � A permissão de acesso especial SUID pode aparecer somente no campo Dono. Exemplo: Um exemplo para arquivo executável com a propriedade SUID é o arquivo /usr/bin/passwd. Ou seja, quando executamos o comando passwd com qualquer usuário normal, o processo é executado com ID do usuário root (como se o usuário root tivesse executado o comando passwd), pois somente o usuário root tem permissão para alterar o arquivo /etc/passwd. # ls -lah /usr/bin/passwd -rwsr-xr-x 1 root root 27K 2006-04-03 10:37 /usr/bin/passwd 31/03/2014 7 � Comandos: Aplicando SUID: Aplicando a propriedade SUID em um arquivo executável utilizando formato simbólico (s): # chmod u+s programa.sh # ls -lah programa.sh -rwsr-xr-x 1 root roberto 0 2006-09-26 22:57 programa.sh � Aplicando a propriedade SUID em um arquivo executável utilizando formato octal (4): # chmod 4750 programa.sh # ls -lah programa.sh -rwsr-x--- 1 root roberto 0 2006-09-26 22:57 programa.sh 31/03/2014 8 � Procurando SUID: Procurando a propriedade SUID em um arquivo executável utilizando formato simbólico (s): # find /home/roberto -perm u=s /home/roberto/programa.sh Procurando a propriedade SUID em um arquivo executável utilizando formato octal (4): # find /home/roberto -perm -4000 /home/roberto/programa.sh � SGID (Set Group ID) � A propriedade SGID tem a mesma função que o SUID para arquivos executáveis. Mas a propriedade SGID tem um efeito especial para os diretórios. Quando SGID é aplicado em um diretório, os novos arquivos que são criados dentro do diretório assumem o mesmo ID de Grupo do diretório com a propriedade SGID aplicado. 31/03/2014 9 � A permissão de acesso especial SGID pode aparecer somente no campo Grupo. Exemplo: Se no diretório /home/roberto tem o grupo casa e tem o SGID habilitado, então todos os arquivos dentro do diretório /home/roberto serão criados com o grupo casa. Este é um importante atributo para uma equipe, assumindo que todos os arquivos compartilhados devem ter o mesmo grupo. � Comandos: Aplicando SGID: Aplicando a propriedade SGID em um diretório executável utilizando formato simbólico (s): # chmod g+s /home/equipe # ls -lah /home/equipe drwxr-sr-x 2 roberto equipe 48 2006-09-26 23:21 . 31/03/2014 10 � Aplicando a propriedade SGID em um diretório executável utilizando formato octal (2): # chmod 2750 /home/equipe # ls -lah /home/equipe drwxr-s--- 2 roberto equipe 48 2006-09-26 23:21 . � Retirando SGID: # chmod g-s /home/equipe # ls -lah /home/equipe drwxr-xr-x 2 roberto equipe 48 2006-09-26 23:21 . 31/03/2014 11 � Procurando SGID: Procurando a propriedade SGID em um diretório executável utilizando formato simbólico (s): # find /home -perm /g=s /home/equipe Procurando a propriedade SUID em um diretório executável utilizando formato octal (2): # find /home -perm -2000 /home/equipe � Sticky (Sticky bit) � Em diretórios, a propriedade Sticky impede que outros usuários deletem ou renomeam arquivos dos quais não são donos. Isso normalmente é utilizado para aumentar a segurança, pois o diretório estará em modo append-only (somente incremente). Sendo assim, somente o usuário que é Dono do arquivo,poderá deletar ou renomear os arquivos dentro de um diretório com a propriedade Sticky aplicada. A permissão especial Sticky pode ser especificada somente no campo outros usuários das permissões de acesso. 31/03/2014 12 � Exemplo: No diretório /tmp, todos os usuários devem ter acesso para que seus programas possam criar os arquivos temporários, mas nenhum pode apagar arquivos dos outros. Então é interessante aplicar a propriedade Sticky no diretório /tmp. � Aplicando a propriedade Sticky em um diretório utilizando formato simbólico (t): # chmod o+t /tmp # ls -lah /tmp drwxrwxrwt 8 root root 264 2006-09-26 23:22 . 31/03/2014 13 � Aplicando a propriedade Sticky em um diretório utilizando formato octal (1): # chmod 1777 /tmp # ls -lah /tmp drwxrwxrwt 8 root root 264 2006-09-26 23:22 . � Retirando Sticky: # chmod o-t /tmp # ls -lah /tmp drwxrwxrwx 8 root root 264 2006-09-26 23:22 . 31/03/2014 14 � Procurando Sticky: Aplicando a propriedade Sticky em um diretório utilizando simbólico (t): # find /home/roberto/ -perm /o=t /home/roberto/programa_pesado.sh Aplicando a propriedade Sticky em um diretório utilizando formato octal (1): # find /home/roberto/ -perm -1000 /home/roberto/programa_pesado.sh Link simbólico e hardlink � O link é um mecanismo que faz referência a outro arquivo ou diretório em outra localização. Os links são arquivos especiais e podem ser identificados com um "l" quando executado o comando: "ls -la". Exemplo: $ ls -la lrwxr-xr-- 1 roberto roberto 5 2006-10-12 22:40 link -> teste.txt 31/03/2014 15 Tipo simbólico � No link tipo simbólico, o link é um arquivo especial de disco do tipo link, que tem como conteúdo o caminho para chegar até o arquivo alvo. Características: Pode-se fazer links simbólicos em arquivos e diretórios; � O link simbólico e o arquivo alvo não precisam estar na mesma partição de disco; � Se o link simbólico for apagado/movido. Somente o link será apagado/movido; � Qualquer usuário pode criar/desfazer um link simbólico (respeitando as permissões). Tipo hardlink � No link tipo hardlink, o link é apontado para o mesmo inode (unidade física de alocação) do arquivo alvo, sendo assim, os dois arquivos serão o mesmo. Características: Não é possível fazer um hardlink para um diretório; � Somente é possível fazer hardlink em arquivos que estejam em uma mesma partição de disco; � Se o hardlink for apagado/movido, você estará apagando/movendo o arquivo alvo; � Somente o usuário root pode criar/desfazer hardlinks. 31/03/2014 16 Criando links � ln � Exemplos: 1 - Criando um link simbólico chamado "emulador" para o diretório /home/roberto/download/emulador_n64/: $ ln -s /home/roberto/download/emulador_n64/ emulador � Note que o link simbólico é identificado com o "l" no início. $ ls -lah | grep emulador � lrwxrwx--x 1 roberto roberto 36 2006-10-12 22:42 emulador -> /home/roberto/download/emulador_n64/ � 2 - Criando um hardlink chamado "texto.txt" apontando para o arquivo "alvo_hardlink.txt": $ ln alvo_hardlink.txt texto.txt Note que o arquivo "alvo_hardlink.txt" e o arquivo texto.txt possuem o mesmo Inode e o mesmo Device. $ stat alvo_hardlink.txt | grep Inode Device: 304h/772d Inode: 3057948 Links: 2 $ stat texto.txt | grep Inode Device: 304h/772d Inode: 3057948 Links: 2 31/03/2014 17 Gerenciamentos de Usuários e Grupos � Para criar um usuário de modo simples no Linux utilizamos os seguintes comandos: � adduser meu_user - cria o usuário meu_user � passwd meu_user - cria a senha do usuário meu_user >> Criando um usuário com diretorio pesssoal em /usr/local/usuario # useradd –d /usr/local/usuario usuario >> Criando usuário com grupo básico informática # useradd –g informatica usuario >> Criando usuário com dados comentários # useradd –c “Jose da Silva” jose 31/03/2014 18 � Para deletarmos um usuário utilizamos o seguinte comando: � userdel meu_user - deleta o usuário meu_user � userdel -r meu_user - deleta o usuário meu_user junto com o diretório. � Modificando uma conta de usuário Para você modificar uma conta você tem que editar o arquivo /etc/passwd Original (nome da conta = meu_user) meu_user:x:591:502:Meu User:/home/meu_user:/bin/bash � Modificar para: (nome da conta = new_user) new_user:x:591:502:Joao Carlos:/home/new_user:/bin/bash 31/03/2014 19 � Arquivos de configuração O arquivo que possui as configurações dos usuários é o /etc/passwd, abaixo ma linha comentada do mesmo: Exemplo 1: meu_user:x:591:502:Meu User:/home/meu_user:/bin/bash � # chage -d 0 USUARIO Explicação: Irá forçar a expiração da senha do usuário. Assim que ele logar o SO irá solicitar que altere a senha. 31/03/2014 20 � # passwd -x 30 -w 10 -i 0 USUARIO Explicação: -x 30 => Expira em 30 dias -w 10 => Irá comecar a avisar o usuário quando faltar 10 dias para a senha expirar -i 0 => Quantos dias a conta ainda ficará ativa após a expiração da senha, neste caso colocando 0 a conta será automaticamente bloqueada se a senha não for alterada nestes 30 dias � meu_user nome da conta x indica que está sendo utilizado o método shadow de encriptação de senhas 591 ID do usuário (UID = user identification) 502 ID do grupo (GID = group identification) Meu_user nome completo /home/meu_user diretório home do usuário meu_user /bin/bash shell padrão do usuário meu_user 31/03/2014 21 � Adminstrando grupos Adicionar grupos no linux também é muito importante para adminstrar usuários em conjuntos com os grupos criados � #groups usuario � Para criar um grupo digite o comando: [root@localhost]# groupadd novo_grupo para alterar o nome de um grupo ja criado: [root@localhost]# groupmod -n novo_nome nome_antigo O arquivo de configuração dos grupos fica em /etc/group. 31/03/2014 22 � Groupdel � # gpasswd -a usuario grupo � -d � Remove usuario do grupo � -M user,user2 grupo � Vários usuários � # groups user
Compartilhar