Prof. Sandro Wambier

Transcrição

Prof. Sandro Wambier
Prof. Sandro Wambier
Sistemas Linux.






Cada usuário do sistema possui sua “conta”.
O usuário possui uma senha de acesso ao sistema que
poderá ou não expirar.
Cada usuário pertence a um ou mais “grupos”.
Cada usuário poderá possuir um diretório particular.
Os arquivos de cada usuário possuem “permissões”
distintas para leitura, gravação e execução.
Os arquivos de cada usuário podem ser disponíveis para
seu grupo com permissões diferenciadas.
Para criar, gerenciar ou eliminar contas de usuários
no GNU/Linux, é necessário estar "logado" no sistema
operacional com o usuário root.
Se não fosse assim, a segurança do sistema seria
seriamente comprometida, pois qualquer usuário
poderia criar, alterar ou apagar contas.
Nos sistemas GNU/Linux, as informações sobre usuários e grupos
podem ser armazenadas de diversas formas, dependendo da
necessidade e complexidade do sistema, número de usuários, etc.
Entretanto, essas informações, por padrão, ficam armazenadas
em arquivos de texto dentro do diretório /etc/.
Os mais comuns são:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
Nesse arquivo ficam armazenadas as informações sobre os
usuários. Ele é constituído de diversas linhas, uma para
cada usuário. Essas linhas contém diversos campos, a
saber:







Login de usuário;
Password criptografado;
UID: (User Identity)
GID: (Group Identity) identificação do grupo padrão do usuário;
Comentários;
Diretório pessoal;
Shell;
Para entender melhor cada um destes itens, vamos analisá-los
usando como base a linha abaixo extraída de um arquivo
/etc/passwd, que mostra a posição que cada uma das informações
do slide anterior ocupa:
chuck:x:1001:500:Chuck,Norris,846:/home/chuck:/bin/bash
Note que cada parâmetro do usuário é separado por : (dois
pontos).
chuck:x:1001:500:Chuck,Norris:/home/chuck:/bin/bash
chuck > login do usuário, geralmente limitado a 32 caracteres.
X > A letra x informa que a senha está armazenada e protegida dentro
do arquivo /etc/shadow. Se houver um asterisco (*) no lugar, significa
que a conta está desativada.
1001 > UID. Normalmente, o UID 0 é atribuído pelo próprio GNU/Linux
ao usuário. Note que, em nosso exemplo, o UID do usuário é 1001. UID
do root é 0 (zero)
500 > GID do usuário, o número de identificação do grupo do qual ele
faz parte. Assim como no UID, geralmente o grupo 0 é indicado para o
grupo do usuário root.
/bin/bash > informa qual o shell de login que o usuário utilizará.
O arquivo /etc/passwd contém informações sobre
todos os usuários, inclusive as suas senhas
criptografadas. Ele é legível por todos os usuários e, por
isso, estas senhas podem ser facilmente descobertas
por crackers.
Para evitar isso e aumentar a segurança do sistema,
adotaram o sistema de sombreamento de senhas, o
shadow passwords.
Quando o sistema de sombreamento de senhas
está disponível, o campo password do arquivo
/etc/passwd é substituído por um "x" e a senha do
usuário é armazenada no arquivo /etc/shadow.
Este arquivo só pode ser lido pelo usuário root, o
que dificulta muito a ação de usuários maliciosos,
aumentando a segurança das senhas dos
usuários.
O arquivo /etc/shadow é organizado da
mesma forma que o /etc/passwd: uma linha
para cada usuário, divididas em campos, que
são:
• Login de usuário;
• Password criptografado;
• Tempo de expiração da senha.
Este arquivo armazena as informações sobre
os grupos de usuários. O formato é similar ao
do /etc/passwd e seus campos são:
•
•
•
•
Nome do grupo;
Password;
GID;
Usuários membros do grupo.
O arquivo /etc/gshadow possui as mesmas
funções do arquivo /etc/shadow.
Veja um exemplo desse arquivo:
adm:!::
teste:!::
tux:!::
Sistemas Linux.
Formato padrão para o useradd.
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
Sistemas Linux.
Formato padrão para definições de login:
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 500
UID_MAX 60000
GID_MIN 500
GID_MAX 60000
CREATE_HOME yes
useradd: Comando utilizado para criação de um usuário.
adduser: Comando utilizado para criação de um usuário mais interativo.
userdel: Comando utilizado para remoção de um usuário.
usermod: Comando usado para modificar os dados de um usuário.
passwd: Comando usado para definir e ou modificar a senha de um usuário.
groupadd: Comando usado para criar um grupo.
addgroup: Comando usado para criar um grupo mais interativo.
groupdel: Comando usado para remover um grupo.
groupmod: Comando usado para modificar os dados de um grupo.
groups:
Comando usado para mostrar os grupos dos quais um usuário faz
parte.
Para criar um usuário de modo simples no Linux utilizamos os seguintes
comandos:
[root@localhot ] adduser meu_user - cria o usuário meu_user
[root@localhot ] passwd meu_user - cria a senha do usuário meu_user
Para deletarmos um usuário utilizamos o seguinte comando:
[root@localhot ] userdel meu_user - deleta o usuário meu_user
[root@localhot ] userdel -r meu_user - deleta o usuário meu_user junto com o
diretório.
Para criar um grupo digite o comando:
[root@localhost]# groupadd novo_grupo
para alterar o nome de um grupo ja criado:
[root@localhost]# groupmod novo_nome nome_antigo
Por padrão, sistemas GNU/Linux possuem alguns grupos utilizados para
permitir o acesso a determinados serviços e privilégios no sistema.
root: Grupo do superusuário; bin e daemon: Programas executados;
sys: Grupo do sistema;
adm: Grupo administrativo;
tty: Acesso a terminais;
disk: Acesso à dispositivos de disco;
lp: Grupo da impressora;
mem e kmem: Acesso à memória do
kernel;
wheel: Usuários com privilégios próximos ao root; mail: Usado por
utilitários de e-mail; news: Usado por utilitários de Usenet news; man:
Usado para acesso a páginas de manual; games: Grupo para guardar
recordes de jogos; dip: Grupo dial-up (PPP, SLIP); ftp: Grupo do daemon
FTP; nobody: Grupo de baixa segurança; users: Grupo padrão de usuários
em vários sistemas; floppy: Grupo para acesso a discos floppy.
Comando useradd
Sintaxe: useradd [opções] <username>
Opções:
 -d - Caminho do diretório home do usuário.
 -g - Especifica o grupo do usuário.
 -c - Inclui um comentário referente ao usuário, tais como nome, setor, etc
 -s - Especifica o shell de comando que o usuário irá utilizar.
 -m - Cria o diretório home do usuário e copia os arquivos de /etc/skel/ para o home criado.
 -p - Essa opção serve para especificarmos uma senha já criptografada para o usuário.
Exemplo:
# useradd -g admin -s /bin/bash -d /home/sup1 -c "Usuário Administrativo de Suporte 1" -m sup1
No exemplo acima criamos o usuário sup1, que tem como grupo admin, usando o shell
/bin/bash, o home criado foi o /home/sup1 e tem o comentário "Usuário Administrativo de
Suporte 1".

/etc/skel - Neste diretório são armazenados arquivos, por
padrão ocultos (arquivos que iniciam com um "."), que são
copiados para o diretório HOME do usuário no momento da
criação do usuário.

Se precisarmos incluir alguma configuração padrão, podemos
usar esse diretório para incluir ou até mesmo editar os
arquivos existentes e fazer os ajustes as suas necessidades.
Comando passwd
Sintaxe: passwd [opções] <username>
Opções:
 -d - Permite o usuário acessar (logar) o sistema sem senha.
 -l - Bloqueia/trava a conta do usuário. O usuário não consegue logar.
 -u - Desbloqueia/destrava a conta do usuário (bloqueado pela opção "-l").
 -S - Mostra o status da senha do usuário.
Exemplo 1:
# passwd sup1
Chaging password for user sup1
New password: [digitar a senha]
Retype new password: [repetir a senha]
Exemplo 2: Nesse exemplo iremos travar a conta do usuário sup1.
# passwd -l sup1
Exemplo 3: Vamos agora destravar a conta do usuário sup1:
# passwd -u sup1
Comando usermod
Sintaxe: usermod [opções] <username>
Opções:
• -d - Modifica o caminho do diretório home do usuário.
• -g - Modifica o grupo do usuário.
• -c - Modifica o comentário referente ao usuário.
• -s - Modifica o Shell de comando que o usuário irá utilizar.
• -p - Substitui a senha já criptografada do usuário.
Exemplo 1: Nesse exemplo estamos modificando o grupo e o comentário do usuário sup1 ao
mesmo tempo.
# usermod -g <novoGrupo> -c "<novoComentario>" sup1
logname: mostra o nome do seu usuário;
users: mostra os usuários que estão conectados ao sistema no momento;
id: mostra dados da identificação do usuário. Eis algumas opções:
id usuário: exibe os grupos (e seus respectivos GIDs) dos quais o usuário faz parte;
finger usuário: mostra informações detalhadas do usuário. Se o comando for digitado
isoladamente (ou seja, somente finger), o sistema exibe todos os usuários que estão
conectados no sistema operacional no momento;
chfn usuário: comando para mudar as informações adicionais do usuário (nome
completo, telefone, etc).
last: o comando last é bastante interessante e útil, pois mostra os últimos usuários que
estiveram logados no sistema, os terminais usados por eles para se conectar, o
hostname (quando a conexão é feita remotamente), as datas e os horários de utilização
do computador, assim como o tempo de permanência no sistema. Esses dados
geralmente são obtidos do arquivo de logs /var/log/wtmp.
a) Estou logado como sandro, para alterar para joao:
su joao
joao@mybox:~$
Para sair do joao e voltar ao sandro CTRL + D
Se der CTRL + D sai do terminal.
who > mostra usuários logados e qual terminal e data
whoami > mostra qual usuário esta logado no momento pois nem sempre o prompt
indica isso.
hostname > mostra o nome do seu computador
Sistemas Linux.
É 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.
Sistemas Linux.


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.






- 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


- 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 Kb
ex.: +- 2MB para o usuário teste:

Disk quotas for user teste (uid 502):
Filesystem blocks soft hard inodes soft hard
/dev/sda2 24 2000 2000 7 0 0

1) Crie 4 usuários no sistema:
ana,pedro,joao,maria.

2) Crie 3 grupos no sistema: adm,rh,suporte.

3) Aloque os usuários ana e pedro no grupo adm;
aloque os usuários joao e maria no grupo rh;
aloque o usuário ana no grupo suporte.

4) Adicione no arquivo /etc/skel a criação
automática da pasta “arquivos comuns” para
todos os usuários que forem criados.

Documentos relacionados