Em mais um resumo de tópico para a prova LPI 102, venho percebendo a facilidade em estudar usando associação. Com comandos de modo geral, procure saber para que ele serve e o que significa.
Alguns são bem intuitivos, por exemplo, o
passwd (password),
lsusb (list usb),
nc (netcat),
chfn (change information). Outros, são mais complicados. Geralmente comandos com
ch, tem algo a ver com
change (alteração, mudança), ls com list (listar).
Estar atento e disposto a associar os nomes dos comandos facilitará e MUITO seu estudo. O mesmo vale para parâmetros. Leia, ao menos, a descrição nas páginas de manual e faça testes, simule situações, se você ainda não passa boa parte do dia de frente pra tela preta.
Contas de usuários
O comando
adduser só pode executado pelo root. Cria usuários automaticamente, com parâmetros definidos no arquivo:
/etc/adduser.conf
O comando
useradd só pode ser executado como root. Cria usuário setando manualmente os parâmetros desejados. Indicado para uso em scripts. Principais parâmetros:
- -c (comment) :: Adiciona descrição à conta, geralmente nome completo do usuário;
- -d (home dir) :: Define o caminho para o diretório pessoal do usuário;
- -g (Group ID) :: Define o grupo principal - GID;
- -G (groups) :: Define grupos secundários;
- -u (User ID) :: Define o ID - UID;
- -s (shell) :: Define o shell padrão;
- -p (passaword) :: Define a senha;
- -e (expire date) :: Define a data de expiração da conta;
- -k (skel dir) :: Define se a conta do usuário usará a estrutura com base no /etc/skel;
- -m (create home) :: Cria o diretório pessoal, se não existir.
O diretório
/etc/skel/ serve como modelo na criação dos diretórios pessoais. Skel = Skeleton (esqueleto).
O comando
passwd altera a senha de usuários. Sintaxe:
# passwd <usuário>
$ passwd
Ou seja, como root, é possível alterar a senha de qualquer usuário. Como usuário comum, somente é possível alterar a própria senha.
O comando
chfn (change information) altera o campo descrição da conta de um usuário. Não precisa ser root.
O comando
chsh (change shell) altera o shell padrão do usuário. Não precisa ser root.
O comando
userdel exclui uma conta de usuário. Parâmetro principal: "-r" (remove) - remove o diretório pessoal.
O arquivo /etc/passwd armazena informações de contas de usuários e pode ser lido por qualquer usuário (permissão: rw-r--r--). Utiliza como separador de campos o ":" (2 pontos).
Observe a estrutura:
root:x:0:0::/root:/bin/bash
Enumerando os campos:
- Login do usuário;
- Senha. Se for "x", a senha encontra-se criptografada no arquivo /etc/shadow;
- UID - ID do usuário;
- GID - ID do grupo principal do usuário;
- Descrição do usuário;
- Caminho do diretório pessoal;
- Shell padrão do usuário.
O comando
vipw usa o editor padrão do sistema (
Vi) para alterar o arquivo
/etc/passwd, bloqueando-o contra edições concorrentes.
Parâmetro principal:
-s (shadow) - edita o arquivo
/etc/shadow, usando o modelo de bloqueio.
No arquivo
/etc/shadow estão as senhas criptografadas dos usuários e mais algumas configurações. Não está visível para todos usuários, por medida de segurança (permissão: rw-r-----). Seu separador de campos também é o ":".
Estrutura:
root:<senha>:15516:0:99999:7:::
Enumerando os campos:
- Login do usuário, que deve corresponder ao do /etc/passwd;
- Guarda a senha criptografada do usuário;
- Número de dias desde que a senha foi alterada pela última vez. Contando desde 01/01/1970.
- Número mínimo de dias que o usuário pode permanecer sem alterar a senha. Zero significa que não tem este prazo mínimo;
- Número máximo de dias que o usuário tem para trocar a senha;
- Número de dias que o usuário será avisado até que a senha expire;
- Número de dias a partir da expiração da senha até que a conta seja bloqueada;
- Mostra o número de dias que a conta encontra-se bloqueada. Contando desde 01/01/1970;
- Campo reservado.
O comando
pwconv altera o armazenamento das senhas do arquivo
/etc/passwd para o
/etc/shadow.
O comando
pwunconv altera o armazenamento das senhas do arquivo
/etc/shadow para o
/etc/passwd.
O comando
chage altera informações referentes à validade de senhas de usuário. Parâmetros principais:
- -m (minimum days) :: Número de dias mínimos para o usuário poder alterar sua senha;
- -M (max days) :: Número máximo de dias para troca da senha;
- -d (last days) :: Número de dias desde que a senha foi alterada, contando desde 01/01/1970;
- -E (expire date) :: Data de expiração da conta do usuário;
- -I (inactive) :: Número de dias a partir da expiração da senha até que a senha seja bloqueada;
- -W (warn days) :: Número de dias para avisar o usuário que a senha deve ser trocada.
O comando
usermod modifica contas de usuários. Parâmetros principais:
- -c (comment) :: Altera o comentário da conta;
- -d (diretory) :: Altera o caminho do diretório pessoal;
- -m (move) :: Move o diretório pessoal do usuário para um novo local;
- -g (group) :: Altera o grupo principal;
- -G (groups) :: Adiciona o usuário a outros grupos;
- -l (login) :: Altera o nome de login;
- -p (password) :: Altera a senha;
- -u (UID) :: Altera o ID do usuário;
- -s (shell) :: Altera o shell padrão;
- -e (expire date) :: Altera a data de expiração da conta do usuário. dd/mm/aaaa;
- -f (??) :: Dias depois da expiração da senha que a conta será bloqueada. O -1 cancela essa função;
- -L (lock) :: Bloqueia o usuário. Insere o "!" no campo da senha criptografada;
- -U (unlock) :: Desbloqueia o usuário. Retira o "!".
Administrando grupos de usuários
O comando
groupadd cria um grupo de usuário.
Principal parâmetro:
-g (GID) - Especifica um ID para o grupo.
O comando
groupdel exclui um grupo de usuário.
O comando
gpasswd insere e exclui usuários de grupos e realiza algumas modificações relacionadas às senhas. Este comando usado sem parâmetro cria uma senha para um grupo.
Principais parâmetros:
- -r (remove) :: Remove a senha do grupo;
- -a (add) :: Adiciona usuário ao grupo;
- -d (delete) :: Deleta usuário do grupo;
- -A (admin) :: Torna usuário administrador do grupo.
O comando
groups mostra o grupo que o usuário pertence. Usado sem argumentos, mostra os grupos do usuário atual.
O comando
id mostra os grupos do usuário e informações de UID e GID.
O comando
newgrp altera o grupo principal do usuário. Caso ele não pertença, é adicionado automaticamente.
O arquivo
/etc/group armazena informações dos grupos. Possui permissão: rw-r--r--
Estrutura:
adm:x:5012:pedro,joao
Enumerando os campos:
- Nome do grupo;
- Senha criptografada do grupo. O "x" significa que a senha está no arquivo /etc/gshadow;
- ID do grupo. GID;
- Usuários pertencentes ao grupo, separados por ",".
O comando
vigr edita o arquivo
/etc/group, evitando gravações concorrentes.
Principal parâmetro:
-s (shadow) - Edita o arquivo
/etc/gshadow.
O arquivo
/etc/gshadow armazena informações de senhas com criptografia. Possui permissão: rw--r----
Estrutura:
adm:*::pedro
Enumerando:
- Nome do grupo, correspondente ao /etc/group;
- Senha criptografada. O "*" significa que o grupo não tem senha;
- Usuário administrador do grupo;
- Usuário pertencentes ao grupo, como no /etc/group.
O comando
grpconv converte o armazenamento das senhas dos grupos, do arquivo
/etc/group para o
/etc/gshadow.
O comando
grpunconv faz o inverso do comando grpconv.
O comando
groupmod realiza algumas modificações nos grupos. Principais parâmetros:
- -g (GID) :: Altera o GID;
- -n (name) :: Altera o nome do grupo.