O que compõem um usuário # /etc/passwd

Transcrição

O que compõem um usuário # /etc/passwd
Gerenciamento de grupos e usuários
Todo sistema de gerência de usuário possui um id registrado no sistema. Com as informações
de registro o Linux pode gerenciar o acesso aos usuários e as suas permissões de acesso. Os
administradores de sistema podem gerenciar e controlar todo o acesso a grupos e usuários.
Um grupo é conjunto de usuários do sistema. Cada grupo também possui informações que
identificam o usuário no sistema, contendo um nome e um número.
O que compõem um usuário
Item
Descrição
Redução de User IDentification. Ele identifica o usuário no sistema
UID
junto com o login para permitir-lhe o seu acesso.
Redução de Group IDentification. É o Número que identifica o grupo do
GID
usuário ao qual ele esta inserido.
Comment
Descreve as características do usuário, geralmente o nome completo
Home
Corresponde o diretório do usuário quando ele acessa o sistema, onde
Directory Path seus arquivos são armazenados
Corresponde ao shell padrão do usuário quando acessa o sistema.
Shell
Geralmente o Bash.
As informações do usuário e senhas são armazenados nos arquivos /etc/passwd e
/etc/shadow, e as informações sobre os grupos em /etc/group e /etc/gshadow.
nesse arquivo é armazenado as informações separadas por ( : ) da seguinte forma:
nome usuário:senha:id usuário:id grupo:descrição:diretório:shell
Por exemplo:
x:1000:1000:Descrição do aluno1,,,:/home/aluno1:/bin/bash
# /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
1
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
Debian-exim:x:100:102::/var/spool/exim4:/bin/false
statd:x:101:65534::/var/lib/nfs:/bin/false
identd:x:102:65534::/var/run/identd:/bin/false
messagebus:x:103:104::/var/run/dbus:/bin/false
haldaemon:x:104:106:Hardware abstraction
layer,,,:/home/haldaemon:/bin/false
gdm:x:105:109:Gnome Display Manager:/var/lib/gdm:/bin/false
aluno1:x:1000:1000:aluno1,,,:/home/aluno1:/bin/bash
mysql:x:106:110:MySQL Server,,,:/var/lib/mysql:/bin/false
cupsys:x:107:105::/home/cupsys:/bin/false
O que compõem um grupo
Item
Name
Descrição
Nome do grupo
Constitui a senha de gerenciamento do grupo, não havendo necessidade de
Password
preocupar com ela
GID
Número de identificação do grupo de usuário
User list Corresponde a lista de usuários do grupo GID
As informações dos grupos são armazenados no arquivo /etc/group.
nesse arquivo é armazenado as informações separadas por ( : ) da seguinte forma:
grupo:senha:id grupo:descrição:lista de usuários
Por exemplo:
grupo:x:1000:usuário1, usuário2
# /etc/group
2
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:aluno1
fax:x:21:
voice:x:22:
cdrom:x:24:aluno1
floppy:x:25:aluno1
tape:x:26:
sudo:x:27:
audio:x:29:aluno1
dip:x:30:
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:aluno1
sasl:x:45:
plugdev:x:46:aluno1
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
crontab:x:101:
Debian-exim:x:102:
ssh:x:103:
messagebus:x:104:
avahi:x:105:
netdev:x:106:aluno1
lpadmin:x:107:
3
haldaemon:x:108:
powerdev:x:109:aluno1
scanner:x:110:
ssl-cert:x:111:postgres
postgres:x:112:
gdm:x:113:
aluno1:x:1000:
dirmngr:x:114:
mysql:x:115:
dba:x:1003:
# /etc/default/useradd
Este arquivo define os valores padrões ao criar usuários com o comando useradd, onde pode
ser editado retirando o comentário " # " das linhas abaixo:
# /etc/default/useradd
SHELL=/bin/sh
# especifica o shell do usuário
# GROUP=100
# especifica o GID do grupo do usuário recém criado
# HOME=/home
# especifica o diretório home do usuário
# INACTIVE=-1
# especifica a quantidade de dias após a experição da senha a
conta será desativada
# EXPIRE=
# especifica a data que será desativada a conta
# SKEL=/etc/skel
# SKEL especifica o diretório que contém os arquivos "esqueleto"
do usuário, em outras palavras, arquivos assim como o .profile que será copiado para o
diretório home criado para novos usuários.
# CREATE_MAIL_SPOOL=yes
# Especifica o diretório de email enquanto a conta é
criada.
# /etc/login.defs
Este arquivo configura o controle de definições de login dos usuários
# /etc/login.defs
MAIL_DIR /var/mail
# especifica o diretório de mensagens de email local
DEFAULT_HOME yes
# especifica que o diretório home do usuário deve ser
criado
USERGROUPS_ENAB yes
# esta opção habilita o comando userdel remover
usuários e seus grupos existentes
LOGIN_RETRIES
5
# especifica o número máximo de tentativas de login se a
senha estiver errada
# especifica o valor mínimo e máximo do UID selecionado para criação novos usuários
com useradd e adduser
UID_MIN 1000
UID_MAX 60000
4
# especifica o valor mínimo e máximo do GID selecionado para criação novos grupos
com groupadd
GID_MIN 100
GID_MAX 60000
PASS_MAX_DAYS 99999
# número máximo de dias que uma senha pode ser
usada
PASS_MIN_DAYS 0
# número mínimo de dias permitido entre duas mudanças de
senha
PASS_WARN_AGE 7
# número de dias anteriores a expiração da senha
#UMASK
022
# Define a máscara padrão, caso seja usada
# especifica os últimos logins e usuários ainda logados no sistema que são armazenados
no arquivo /var/log/wtmp que pode ser lido pelo comando last, e do arquivo
/var/log/btmp lido pelo comando lastb
FTMP_FILE
/var/log/btmp
Gerenciando usuários e grupos
adduser ou useradd - Adiciona um grupo ou usuário no sistema
adduser
(opções)
Opção
-d (home)
-u (Número)
-g (grupo)
-s (shell)
(usuário)
Descrição
específica o diretório home do usuário.
específica o UID do usuário.
Informa o GID do grupo do usuário
Informa o shell em /etc/shells do
usuário.
-e
data de exclusão da conta do usuário
(mm/dd/yy)
Exemplo:
# adduser aluno1
ou
# useradd aluno1 -d
# passwd aluno1
# mkdir /home/aluno1
/home/aluno1 -g
grupo -s /bin/bash
5
# chown -R aluno1 /home/aluno1
No Debian você precisará apenas especificar uma senha e o nome de usuário e confirmar no
final escollhendo S(sim).
# adduser aluno
Adding user `aluno' ...
Adding new group `aluno' (1004) ...
Adding new user `aluno' (1004) with group `aluno' ...
Creating home directory `/home/aluno' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:*******
Retype new UNIX password:*******
passwd: senha atualizada com sucesso
Modificando as informações de usuário para aluno
Informe o novo valor ou pressione ENTER para aceitar o
padrão
Nome Completo []: aluno
Número da Sala []:
Fone de Trabalho []:
Fone Doméstico []:
Outro []:
A informação está correta? [s/N] s
passwd - Muda a senha de um usuário
passwd
-x (dias)
-w
-e
Exemplo:
(usuário)
específica o número de dias que a senha poderá ser utilizada
O usuário receberá um alerta para mudar a senha antes de n
dias
específica a data na qual a conta será desabilitada
# passwd aluno1
# passwd (muda senha de root)
usermod - modifica as caracteristicas de um usuário
usermod
(opções)
Opção
-c (comentário)
(usuário)
Descrição
comentário
6
-d (dir_home)
-s (programa)
-l (novo_login)
-e (mm/dd/AA)
-G
(novos_grupos)
-g (novo_grupo)
-f (n dias)
-u (Novo UID)
-L
-U
modificando o diretório home
Programa que será iniciado quando o usuário logar no sistema
Novo login do usuário
Especifica a data de cancelamento da conta de usuário
Grupos extras dos quais o usuário será membro
Novo grupo
desabilita a conta so usuario em N dias após a expiração da senha
Novo UID
(Insere um caractere "!" na frente da senha criptografada,
desabilitando a senha do usuário)
(Remove o caractere "!" da senha criptografada, habilitando a
senha do usuário
Exemplo:
# usermod -G grupo usuário
$ groups aluno1 (visualiza grupos do usuário)
ou
$ cat /etc/group
chage - Muda informações de expiração de senha de usuário
chage
(usuário)
Opção
-l
M
(num/dias)
-d
(mm/dd/aa)
-m
(num/dias)
(opções)
Descrição
Exibe informações da expiração da senha de usuário
Numero maximo de dias até que a senha expire
Data da ultima alteraçãoda senha
Número mínimo de dias entre alterações de senha. O valor zero indica
que o usuário pode alterar a sua senha a qualquer momento
Numero de dias entre a expiração de senha e o bloqueio da conta do
l (num/dias)
usuário
E
Data da expiração da conta do usuário
(mm/dd/aa)
Indica o numero de dias anteriores á expiração da senha que o usuário
W (num/dias)
deve ser notificado
Exemplo:
# chage -l usuário
7
finger - Exibe informações sobre usuários locais ou remotos
finger
(opções)
(usuário)
Opção Descrição
-l
Saída em formato detalhado
-s
Saída em formato simples
Exemplo:
$ finger
usuário
userdel - Deleta um usuário do sistema
Exemplo:
# userdel -r usuário
groupadd - Adiciona grupos ao sistema
groupadd
(grupo)
(opções)
opçãodescrição
Adiciona uma conta no
-f
sistema
-g
novo_GID
Exemplo:
# groupadd
# groupadd
grupo1
grupo2 -g 1001
gpasswd - Define senha para um grupo e realiza varias funções de administração de
usuário e grupos
groupadd
(opções)
(usuário)
(grupo)
8
opçãodescrição
-a
Adiciona usuário ao grupo
-d
Exclui usuário do sistema
-r
Remove senha do grupo
-A
Define o administrador do grupo
-M
Define membros do grupo
Desabilita o acesso ao grupo pelo comando
-R
newgrp
Exemplo:
# useradd aluno1
# passwd
aluno1
# gpasswd grupo_1
(define a senha do grupo grupo_1)
# gpasswd -a aluno1 grupo_1
(Adiciona o usuário aluno1 ao grupo "grupo_1")
# gpasswd -d aluno1 grupo_1
(Exclui o usuário aluno1 do grupo "grupo_1")
# gpasswd -r grupo_1
(Remove a senha do grupo "grupo_1")
groupmod - Muda as características de um grupo
groupmod
(opções)
(grupo)
opção
descrição
-n (novo
novo_grupo
grupo)
-g (novo GID) novo_GID
Exemplo:
#
#
#
#
groupadd -g 999 grupo
groupmod -g 1000 grupo
cat /etc/group | grep "grupo"
groupmod -n novo-grupo grupo
groupdel - Remove um grupo do sistema
groupdel
(grupo)
9
Exemplo:
# groupdel
grupo
groups - Exibe os grupos de um usuário
groups
(usuário)
Exemplo:
$ groups
# groups
aluno1
su - Troca o id de um usuário para superusuário(root) ou para outro usuário
su (opções)
(login)
Exemplo:
$ su -h (para opções)
aluno1@máquina:~$ su aluno2 (muda o id do aluno1 para aluno2)
Password:*********
aluno2@máquina:~$
aluno1@máquina:~$ su (muda o id de usuário para root)
Password: **************
aluno1@máquina:~# (repare que foi trocado o $ por #)
chfn - Muda as informações de um usuário
(opções)
(usuário)
-f [nome]
Especifica o nome completo do usuário
-r [sala]
Especifica a localização do usuário
gerenciamento_usuarios_grupos
-w
[telefone]
Especifica o telefone do trabalho do usuário
Especifica o telefone da casa do usuário
10
-h
[telefone]
Exemplo:
# chfn -f "Aluno1 da silva" aluno1
# cat /etc/passwd | grep "aluno1"
newgrp - Troca de grupo
Exemplo:
$ newgrp grupo1 (O usuário atual muda para o grupo grupo1)
$ exit (O usuário atual voltar para seu grupo anterior)
users - Exibe os nomes de usuários correntemente conectados no computador
Exemplo:
$ users
# users
who - Mostra quem está logado no sistema
Saia do ambiente gráfico apertando CTRL+ALT+F1 e logue em um terminal com um
usuário. Logue em outro terminal tty1 tty2 CTRL+ALT+F2 com outro usuário e execute o
comando who.
Exemplo:
usuario@maquina:~$ who
aluno1 tty1
2007-09-02 19:45
aluno2 tty2
2007-09-02 19:45
11
whoami - Exibe o ID(nome) do usuário
Exemplo:
$ whoami
w - Exibe os usuários logados e o que estão fazendo
Exemplo:
usuario@maquina:~$ w
23:28:32 up 1:26, 5 users, load average: 0,16, 0,25, 0,22
USER
TTY
FROM
LOGIN@ IDLE JCPU PCPU WHAT
aluno1 tty1
23:28 29.00s 0.17s 0.16s -bash
aluno2 tty2
23:28 9.00s 0.18s 0.17s -bash
last - Mostra uma listagem dos últimos logins dos usuários e que ainda estão logados no
sistema
last
(opções)
-n
(número)
-R
-a
-x
Exibe o número linhas. Caso não for usada, as linhas serão
exibidas.
Não informa o nome do computador
Informa o nome do computador da última coluna
Informa mudanças de nível de execução e shutdown
Exemplo:
$ last
$ last
$ last
|
|
|
less
grep "aluno1" (Exibe informações do usuário aluno1)
tac (Inverte a exibição da listagem dos usuários)
lastlog - Exibe relatórios dos últimos logins de todos os usuários ou de um determinado
usuário
lastlog
-u
(opções)
USUÁRIO
12
Exibe registro lastlog para usuário com LOGIN
especificado
-b NUM /
DIAS
-t NUM /
DIAS
Exibe somente registros lastlog mais antigos que DIAS
Exibe somente registros lastlog mais recentes que DIAS
Exemplo:
$ lastlog | less
$ last -u aluno1 (Exibe informações do usuário aluno1)
$ last -b 1 (Exibe informações de 1 dia atrás)
id - Identificação do usuário, grupo e outros grupos
id (opções)
(usuário)
opções
Descrição
-g, --groupinforma identificação do primeiro grupo.
-G--groupsinforma o id de outros grupos
-n, --name Informa o nome e grupo do usuário sem o id
-u, --user Informa o id do usuário (user ID).
Informa o id real do usuário e grupo, complementando com as opções -u,
-r, --real
-g, ou -G.
Exemplo:
$ id (exibe UID, GID e grupos)
$ id -u aluno1 (exibe apenas o UID do usuário)
$ id -g aluno1 (exibe apenas o GID do grupo)
sudo - Executa comandos como superusuário
Para permitir um usuário usar o comando sudo é necessário configurar o sudo através do
arquivo de configuração /etc/sudoers.
Neste arquivo são especificados os comandos que um usuário poderá executar como root,
para configurar o sudo digite o comando visudo como root e defina os comandos que um
13
usuário pode executar.
Abaixo segue um exemplo de configuração, onde é permitido o usuário aluno1, aluno2
executarem os comandos fdisk, mount como root
# visudo
# User alias specification (Especifica os usuários)
User_Alias
USUARIOS = aluno1, cobaia
# Cmnd alias specification (Especifica os comandos)
Cmnd_Alias
COMANDOS = /bin/mount, /sbin/fdisk
# User privilege specification (Especifica os privilégios)
root ALL=(ALL) ALL
USUARIOS
ALL = NOPASSWD:COMANDOS
$ sudo -l
$ sudo fdisk /dev/hda
sudo
(opções)
(comando)
Opção Descrição
-h
Exibe mensagem de ajuda
Exibe os comandos permitidos e proibidos pelo
usuário
Exemplo:
-l
$ sudo -l
$ sudo mount
/dev/hda
/mnt
Comandos de gerênciamento de senhas sombra
pwdconv - Cria o arquivo /etc/shadow apartir do arquivo /etc/passwd e
alternativamente através de /etc/shadow existente
Exemplo:
14
(antes faça uma copia de segurança dos arquivos na pasta root)
# cp /etc/passwd /root/backup
# cp /etc/shadow /root/backup
# cp /etc/group /root/backup
#
#
#
#
mv shadow /root/ (mova para a pasta root)
ls /etc/shadow* (repare que o arquivo foi movido)
pwconv (cria um novo arquivo /etc/shadow)
ls /etc/shadow* (repare que o arquivo foi criado)
pwdunconv - Cria o arquivo /etc/passwd apartir do arquivo /etc/passwd e
/etc/shadow existentes e remove o arquivo /etc/shadow.
Exemplo:
#
#
#
#
#
stat /etc/passwd (repare a data de acesso e modificação)
stat /etc/shadow (repare a data de acesso e modificação)
pwunconv
ls /etc/shadow* (repare que o arquivo foi apagado)
pwconv (cria novamente o arquivo /etc/shadow)
grpconv - Cria o arquivo /etc/gshadow apartir do arquivo /etc/group e
alternativamente através de /etc/gshadow existente
Exemplo:
(antes faça uma copia de segurança dos arquivos na pasta root)
# cp /etc/group /root/backup
# cp /etc/gshadow /root/backup
#
#
#
#
mv gshadow /root/ (mova para a pasta root)
ls /etc/gshadow* (repare que o arquivo foi movido)
grpconv (cria um novo arquivo /etc/gshadow)
ls /etc/gshadow* (repare que o arquivo foi criado)
grpunconv - Cria o arquivo /etc/group apartir do arquivo /etc/group e
/etc/gshadow existentes e remove o arquivo /etc/gshadow
15
Exemplo:
#
#
#
#
#
stat /etc/group (repare a data de acesso e modificação)
stat /etc/gshadow (repare a data de acesso e modificação)
grpunconv
ls /etc/gshadow* (repare que o arquivo foi apagado)
grpconv (cria novamente o arquivo /etc/gshadow)
* Atenção !
Após executar os comandos pwunconv e grpunconv serão apagados os
arquivos /etc/shadow e /etc/gshadow, sendo necessário restaurar os arquivos com as
senhas criptografadas novamente para isso execute os comandos pwconv e grpconv
novamente.
# pwconv (restaura o
arquivo /etc/shadow)
# grpconv (restaura o
arquivo /etc/gshadow)
pwck - Analiza os arquivos /etc/passwd e /etc/shadow.
Exemplo:
# pwck
grpck - Analiza os arquivos /etc/group e /etc/gshadow.
Exemplo:
# grpck
Tornando um usuário com permissões de superusuário root
16
Para dar permissões de root a um usuário edite o arquivo /etc/passwd e altere seu UID e o
GID colocando o valor 0
Abaixo segue um exemplo onde o UID e o GID do usuário aluno1 foi alterado de 1001 para 0.
Antes
aluno1:x:1001:1001:aluno1,,,:/home/aluno1:/bin/bash
Depois
aluno1:x:0:0:aluno1,,,:/home/aluno1:/bin/bash
Bloqueando um usuário
Para bloquear um usuário de fazer login, basta colocar como comentário com um # na linha
referente a esse usuário no arquivo /etc/passwd.
Antes
aluno1:x:1001:1001:aluno1,,,:/home/aluno1:/bin/bash
Depois
#
aluno1:x:1001:1001:aluno1,,,:/home/aluno1:/bin/bash
Excluindo um usuário manualmente
Para excluir um usuário manualmente, basta remover a linha referente a esse usuário nos
arquivos /etc/passwd, /etc/group e /etc/shadow. Remova o diretório do usuário em
/home e o arquivo referente ao usuário em /var/spool/mail.
/etc/passwd
aluno1:x:1001:1001:aluno1,,,:/home/aluno1:/bin/bash
/etc/group
aluno1:x:1000:
17
/etc/shadow
aluno1:$1$3IJAsyNt$8Fl.ITawhIdTUGedVsdzP0:13820:0:99999:7:::
/home
# rm -rf
/home/aluno1
/var/spool/mail
# rm -f
/var/spool/mail/aluno1
18

Documentos relacionados

Expressões regulares Expressão regular é um

Expressões regulares Expressão regular é um backup:x:34:34:backup:/var/backups:/bin/sh list:x:38:38:Mailing List Manager:/var/list:/bin/sh irc:x:39:39:ircd:/var/run/ircd:/bin/sh gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats...

Leia mais

CGPE/SE-MC - dgo..:::cefet-mg

CGPE/SE-MC - dgo..:::cefet-mg é aquele que tem acesso limitado somente a seus dados e arquivos. Se tentar acessar dados de outro usuário, o sistema, dependendo das permissões configuradas, não deixará, emitindo uma mensage...

Leia mais