ADMINISTRAÇÃO DE REDES I LINUX Permissões, Usuários, Grupos e Quotas Frederico Madeira LPIC 1, LPIC 2, CCNA fred@madeira.eng.br www.madeira.eng.br
Agenda Permissões Gerenciamento de Usuários Gerenciamento de Grupos Quotas
Permissões Permissões, são conjuntos de direitos que são aplicados a arquivos ou diretórios do sistema de arquivo. Elas garantem que um usuário que não se enquadre nas permissão atribuídas a um arquivo, não tenha acesso ao mesmo, ou não possa executá-lo, ou ainda alterá-lo. Aplicado em três classes de privilégio: - Usuário (dono) - Grupo - Outros
Permissões Cada Classe é dividida em três níveis básicos: r Read (permissão de leitura); w Write (permissão de gravação/deleção); x - Execution (permissão de execução); - - Permissão desabilitada.
Permissões
Permissões Bits de Atributos Especiais Suid O aplicativo será executado com as permissões do dono do arquivo Representado pela letra s no campo do bit de execução Ex: [root@vpn01 tmp]# ls /etc/passwd -all -rw-r--r-- 1 root root 2584 Nov 23 18:00 /etc/passwd [root@vpn01 tmp]# ls /usr/bin/passwd -all -rwsr-xr-x 1 root root 22960 Jul 17 2006 /usr/bin/passwd Obs: S = apenas suid s = suid + x(execução)
Permissões Bits de Atributos Especiais Sgid As pastas/arquivos criados, herdarão o grupo da pasta em que eles estão inseridos. Obs: S = apenas sgid s = sgid + x(execução) Obs1: Se diretório com sgid setado, todos os arquivos criados, farão parte do grupo do diretório. Ex: [root@localhost tmp]# ls -all drwxr-sr-x 2 root root 4096 Fev 25 21:54 financeiro
Permissões Bits de Atributos Especiais Stick Impede que usuários apaguem arquivos que não foram criados por eles Representado pela letra t. Usado em Diretórios Obs: T = apenas stick t = stick + x(execução) Ex: [root@localhost /]# ls -all drwxrwxrwt 77 root root 20480 Fev 25 20:52 tmp
Permissões Bits de Atributos Especiais Bits de Atributos Especiais Dígito suid sgid stick 0 - - - 1 - - 1 2-1 - 3-1 1 4 1 - - 5 1-1 6 1 1-7 1 1 1
Permissões Verificando Permissões Tipos de Arquivos Tipo de Arquivo Descrição - Arquivos comuns (Texto ou Executável) d Diretórios l Links Simbólicos c Dispositivo de Caracteres b Dispositivo de Blocos s Soquete = Pipes Checando Permissões: [root@vpn01 fred]# ls -l -rw-r--r-- 1 root root 0 Nov 6 2006 a -rw-r--r-- 1 root root 1332629 Ago 8 11:14 provisionamento.tar.gz drwxr-xr-x 3 root root 4096 Out 8 15:21 backup
Permissões Verificando Permissões [root@vpn01 fred]# stat provisionamento.tar.gz File: `provisionamento.tar.gz' Size: 1332629 Blocks: 2616 IO Block: 4096 arquivo comum Device: fd01h/64769d Inode: 5275649 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2007-12-10 16:49:54.000000000-0300 Modify: 2007-08-08 11:14:52.000000000-0300 Change: 2007-08-08 11:15:08.000000000-0300 [root@vpn01 fred]# stat -c %a,%a provisionamento.tar.gz 644,-rw-r--r--
Permissões Alterando Permissões chown Altera o Dono Principais opções: -R (recursivo), -c (Mostra info sobre alteração) Ex: chown fred <filename> chown fred.ti <filename> chown fred:ti <filename> chgrp Altera o Grupo Principais opções: -R (recursivo), -c (Mostra info sobre alteração) Ex: chgrp ti <filename>
Permissões Alterando Permissões chmod Altera todas as permissões Principais opções: -R (recursivo), -c (Mostra info sobre alteração) Ex: chmod go-x,go+w <filename> chmod 775 <filename> chmod 4775 <filename> chmod u+s <filename> chmod o+t <filename> chmod a+rwx <filename> (seta para todos, user, group e others) chmod g=rw <filename>
Permissões Alterando Permissões umask Filtro de permissão para criação de novos arquivos Padrão para Arquivos = 0666 Padrão para Diretórios = 0777 Calcula-se: (permissão padrão - valor umask)
Usuários/Grupos - Definições Usuário: Alguém que possui uma identificação no sistema, um nome e um número (uid). Grupo: é um conjunto de usuários. Cada grupo também possui uma identificação única no sistema, um nome e um número (gid). UPG (Grupo privado de Usuários): Para cada usuário criado, é criado um grupo com o mesmo nome, cujo único membro é o próprio usuário.
Usuários/Grupos - Arquivos Lista dos Usuários do Sistema /etc/passwd (delimitado por ':') fred:x:501:501:fred:/home/fred:/bin/bash 1. Login 2. Password 3. UID 4. GID 5. Comentário 6. Home Dir 7. Shell Senhas/Politica Usuários /etc/shadow (delimitado por ':') teste:$1$8c.rhxb/$7.r7qcxffedeqeqlkecth.:13859:0:30:7::: 1. Login 2. Senha Criptografada 3. n dias após 01/01/1970 a senha foi mudada pela última vez 4. n dias depois da criação a senha pode ser mudada 5. n dias depois da criação a senha deve ser modificada 6. notifica o usuário n dias antes que a senha expire 7. desabilita a conta n dias após a senha ter expirado 8. n dias após 01/01/1970 a conta será encerrada 9. Campo reservado.
Usuários/Grupos - Comandos - useradd: Adiciona usuários Opções: -s (shell), -g (grupo), G (grupos), -d (home dir) Copia a estrutura do diretório /etc/skel para o home dir Políticas para criação de usuários: /etc/login.defs - Tamanho mínimo da senha, Expiração da senha, Tempo de alerta de troca de senha, Intervalo mínimo entre troca de senhas
Usuários/Grupos - Comandos - usermod: altera características do usuário Opções: -s (shell), -d (home), -G (grupos) - Chage: Muda info sobre expiração de senha de um usuário (Política) Opções: -l (exibe info) - passwd: troca a senha dos usuários Opções: -d (delete password), -l (trava a senha), -u(destrava), -x (dias de validade)
Usuários/Grupos - Comandos - userdel: deleta usuários do sistema opções: -r apaga todos os arquivos - groupadd: adiciona um novo grupo - groupdel: deleta grupos do sistema - gpasswd: Define senha e func. administraivas para grupos Opções: -a(add user para grupo), -d (del user do grupo)
Usuários/Grupos - Comandos - newgrp: Altera para um grupo secundário do usuário. Ex: [root@localhost tmp]# id uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk) [root@localhost tmp]# newgrp bin [root@localhost tmp]# id uid=0(root) gid=1(bin) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk) [root@localhost tmp]# exit exit [root@localhost tmp]# id uid=0(root) gid=0(root) grupos=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk)
Usuários/Grupos - Comandos - finger: Exibe informações sobre usuários locais ou remotos Opções: -l (formato detalhado) - id: Exebe o Id do usuário e grupos - groups: Exibe os grupos do usuário - w: Exibe usuários conectados ao sistema e o que estão fazendo - who: exibe quem está utilizando os terminais - whoami: Mostra o Id efetivo do usuário
Quotas É o recurso que permite ao administrador do sistema (root) especificar limites de utilização do espaço em disco do servidor Linux. Esses limites são especificados para usuários e grupos.
Quotas Para ativar o recurso de Quotas: 1. Editar o arquivo /etc/fstab e adicionar nas opções de montagem, usrquota (para user) e grpquota (group) conforme exemplo abaixo: LABEL=/home /home ext3 defaults,usrquota,grpquota 1 2 2. Reinicializar o sistema 3. Rodar o comando /sbin/quotacheck -vagum (v:verbose, a:all, g:group, u:user, m:noremount). Serão criados os aquivos aquota.group e aquota.user no sistema de arquivos onde foi ativa a quota, no nosso exemplo será no /home.
Quotas Comandos: - Para checar quotas dos usuários: repquota -au (all filesystems) (root only) - Para checar quotas dos grupos: repquota -ag (all filesystems) (root only) - Para editar quotas de usuário: edquota -u username - Para editar quotas de grupo: edquota -g groupname - Para editar o período grace dos usuários: edquota -ut username - Para editar o período grace dos grupos: edquota -gt groupname onde: Filesystem=FS que está com quota ativa blocks(blocos de 1k) = Blocos utilizados / soft=limite mínimo hard=limite máximo inodes(arquivos) = inodes utilizados / soft=limite mínimo hard=limite máximo Grace Period = Days, hours, minutes or seconds
Quotas - O limite soft pode ser extrapolado até o hard apenas durante o período grace, após o período grace, o usuário não terá mais espaço disponível. - Se valores forem 0, o limite está inativo. - O valor deve ser expresso em K - Se for definida uma quota de grupo e uma para usuário, e esse usuário fizer parte do grupo, o limite que for atingido primeiro bloqueará a liberação de disco para o user/group (vice-versa é verdadeiro)
ADMINISTRAÇÃO DE REDES I LINUX Permissões, Usuários, Grupos e Quotas Frederico Madeira LPIC 1, LPIC 2, CCNA fred@madeira.eng.br www.madeira.eng.br