Usuários, grupos e permissões no Linux

Aprenda como o Linux decide quem pode fazer o quê. Distinga contas root, comuns e de sistema, leia os arquivos de contas e execute comandos administrativos com segurança usando sudo. Crie e gerencie usuários e grupos, consulte e altere o proprietário, o grupo e as permissões com chown e chmod, defina padrões adequados com umask e use os bits SUID, SGID e sticky bit. Por fim, investigue a causa de um erro “Permission denied” e corrija-o com a menor alteração segura.

BásicoAula 5 de 7 do curso Curso de Fundamentos de Linux

O que você vai aprender

  1. Explicar como o Linux identifica cada usuário e grupo por um número, distinguir contas root, comuns e de sistema e ler os arquivos que armazenam dados de contas, grupos e senhas.
    • Distinguir contas root, comuns e de sistema
      Descrever os três tipos de conta, o identificador de usuário que identifica cada uma e os comandos que mostram quem você é e quem está conectado.
    • Explicar grupos primários e suplementares
      Explicar como os grupos concedem o mesmo acesso a vários usuários, a diferença entre o grupo primário e os grupos suplementares de um usuário e quais grupos têm permissões especiais.
    • Ler os arquivos passwd, shadow e group
      Ler todos os campos de /etc/passwd, /etc/shadow e /etc/group, explicar por que os hashes de senha são mantidos separadamente e calcular as datas de senha a partir do arquivo shadow.
  2. Trabalhar como usuário comum, elevar privilégios com sudo ou su apenas para os comandos que precisem deles e conceder a outros usuários exatamente as permissões administrativas necessárias.
    • Usar sudo e su para executar ações como root
      Comparar su e sudo, executar comandos individuais com privilégios elevados e evitar problemas comuns com sudo, como arquivos pertencentes a root e redirecionamentos que falham.
    • Conceder permissões de uso do sudo com a política do sudoers
      Ler e escrever regras do sudoers com visudo, tornar um usuário administrador por meio do grupo adequado e limitar outros usuários aos poucos comandos de que precisam.
  3. Adicionar usuários e grupos pela linha de comando, definir e controlar senhas, alterar e remover contas e gerenciar a participação em grupos.
    • Criar contas de usuário com useradd e adduser
      Criar contas comuns e de sistema com useradd ou adduser, conhecer os arquivos e padrões usados por cada comando e verificar o resultado.
    • Gerenciar senhas e alterar ou remover contas
      Definir, bloquear e expirar senhas, aplicar regras de validade de senhas, alterar dados de contas com usermod e remover contas sem deixar problemas.
    • Criar grupos e gerenciar seus membros
      Criar, renomear e excluir grupos, adicionar e remover membros e configurar uma pasta que uma equipe possa compartilhar.
  4. Consultar o proprietário, o grupo e os bits de permissão de qualquer arquivo ou diretório, explicar o que cada permissão permite e alterá-los com chmod, chown e chgrp.
    • Identificar o proprietário, o grupo e as permissões em uma listagem
      Interpretar cada parte de uma linha de ls -l e determinar qual classe de permissões se aplica a um usuário específico.
    • Explicar o que as permissões de leitura, escrita e execução permitem
      Explicar o que r, w e x permitem em um arquivo comum e em um diretório e prever se uma operação como leitura, execução, criação ou exclusão terá sucesso.
    • Alterar permissões com chmod
      Definir e alterar permissões com os modos simbólico e octal, converter entre as duas formas e alterar árvores inteiras de diretórios com segurança.
    • Alterar o proprietário e o grupo com chown e chgrp
      Alterar o usuário e o grupo proprietários de arquivos e árvores de diretórios, saber quem pode fazê-lo e prever a quem pertencem arquivos recém-criados, copiados e movidos.
  5. Escolher as permissões recebidas por novos arquivos, usar os bits SUID, SGID e sticky bit quando forem úteis e investigar a causa de um erro de permissão para corrigi-lo com a menor alteração segura.
    • Definir permissões padrão com umask
      Determinar as permissões de novos arquivos e diretórios a partir da umask e definir uma umask para uma sessão ou permanentemente.
    • Usar SUID, SGID e o sticky bit
      Explicar os três bits de permissão especiais, reconhecê-los em listagens, defini-los com chmod e usá-los com segurança em programas, pastas de equipe e diretórios compartilhados.
    • Diagnosticar problemas de permissão e aplicar o princípio do menor privilégio
      Investigar um erro “Permission denied” passo a passo, escolher a menor correção segura e manter arquivos sensíveis e permissões de administrador estritamente restritos.

Guia de estudo de Usuários, grupos e permissões no Linux

5 capítulos

1

Compreender usuários, grupos e arquivos de contas

O Linux atribui uma identidade a cada pessoa e serviço em execução. Essa identidade relaciona um identificador de usuário e a participação em grupos aos arquivos que o processo pode acessar. Consultar sua identidade atual, as sessões de login ativas e os registros de contas facilita a explicação das decisões de acesso. O arquivo público de contas descreve quem é cada conta, enquanto registros protegidos de senha controlam o login por senha e a validade das senhas.

1.1 Distinguir contas root, comuns e de sistema

Todo comando é executado com uma identidade. O Linux usa essa identidade para decidir quais arquivos o comando pode abrir e quais configurações pode alterar. Uma conta de usuário pode representar uma pessoa ou um serviço em execução em segundo plano.

O número por trás do nome

O kernel identifica uma conta por seu identificador de usuário (UID). Nomes como alice facilitam o reconhecimento do número, mas as permissões seguem o número. A conta root tem UID 0 e seu diretório pessoal é /root. Uma conta com outro nome e UID 0 tem o mesmo poder de superusuário.

Um usuário comum é a conta de uso cotidiano de uma pessoa. Na maioria das distribuições, UIDs de usuários comuns começam em 1000; UID_MIN em /etc/login.defs define esse limite. Um usuário comum pode alterar seus próprios arquivos e quaisquer outros que as permissões permitam. Alterar configurações protegidas do sistema exige privilégios elevados.

Uma conta de sistema dá a um serviço sua própria identidade limitada. A maioria tem UIDs abaixo de 1000 e um shell como /usr/sbin/nologin. A conta especial nobody geralmente tem UID 65534, portanto a faixa por si só não identifica todas as contas de serviço. Debian e Ubuntu usam www-data para serviços web; um serviço SSH pode usar sshd.

Consulte sua identidade atual

Execute whoami para ver seu nome de usuário ou id para ver os números e grupos. Por exemplo:

uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo),1005(developers)

Leia a saída em três partes. O UID de Alice é 1001. Seu grupo primário é alice, GID 1001. Sua lista de grupos também inclui sudo e developers. Ela é uma usuária comum, não root: o grupo sudo pode autorizar comandos com privilégios elevados, mas seu shell atual continua sendo executado como Alice.

Muitos shells exibem # para root e $ para um usuário comum. Um prompt pode ser personalizado, então consulte id quando a identidade for importante. A primeira conta criada durante a instalação costuma ser uma conta comum com acesso ao sudo, inclusive no Ubuntu; ser criada primeiro não a torna root.

Verifique as sessões de login
ComandoO que mostra
whoSessões de login atuais, terminais e horários de login
wSessões atuais, atividade, tempo de funcionamento e carga
lastLogins e reinicializações anteriores registrados, dos mais recentes aos mais antigos
wtmpdb lastHistórico de login em sistemas que usam wtmpdb

Esses comandos respondem a uma pergunta diferente de whoami: eles informam sessões, não apenas a identidade do seu shell. O Debian 13 é um sistema que usa wtmpdb para seu histórico.

Identidades separadas promovem o princípio do menor privilégio, a responsabilização e o isolamento. Um serviço web pode ler os arquivos que fornece sem receber os documentos privados de todos os usuários. Os logs podem mostrar qual conta realizou uma ação. Se o serviço for comprometido, o ataque começa com as permissões dessa conta de serviço. Root pode contornar restrições comuns de leitura e escrita de arquivos, portanto uma segunda conta com UID 0 é uma séria preocupação de segurança.

Principais conclusões

  • O Linux acompanha identidades de usuário pelo UID; o UID 0 tem poder de root.
  • Contas comuns atendem pessoas; contas de sistema dão identidades limitadas a serviços.
  • id mostra sua identidade e seus grupos ativos; pertencer a sudo não torna seu shell root.
  • who e w mostram sessões atuais; last ou wtmpdb last mostra o histórico registrado.

1.2 Explicar grupos primários e suplementares

Compartilhar um arquivo com uma equipe é mais fácil quando ela tem um grupo. Atribua o arquivo a esse grupo, conceda a ele as permissões necessárias e gerencie seus membros conforme as pessoas entram ou saem.

Um grupo primário, participações adicionais

Um grupo tem um nome e um identificador de grupo (GID) numérico. Cada usuário tem um grupo primário, armazenado como GID em /etc/passwd. Um novo arquivo normalmente recebe o grupo primário do processo que o cria. Mais adiante, um diretório com SGID apresentará outra regra para atribuir o grupo de um novo arquivo.

Usuários também podem ter vários grupos suplementares. Essas participações adicionam identidades de grupo aos seus processos; o usuário não precisa trocar de grupo primário sempre que abre o arquivo de outra equipe. Tanto o grupo primário quanto os suplementares contam quando o Linux verifica se o usuário pertence ao grupo de um arquivo.

A maioria das distribuições cria um grupo privado de usuário junto com cada usuário comum. Alice pode ter nome de usuário alice, UID 1001, grupo primário alice e GID 1001. Ainda são identidades separadas de usuário e grupo, mesmo quando seus nomes e números coincidem. Um arquivo atribuído ao grupo privado de Alice não é compartilhado com toda a equipe.

Examine uma participação

Use groups para ver os nomes dos seus próprios grupos. groups bob e id bob consultam os grupos de Bob; id -Gn exibe os nomes dos grupos do processo atual sem números. Uma consulta de grupo pode mostrar:

getent group developers
developers:x:1005:alice,bob

O grupo se chama developers, seu GID é 1005, e Alice e Bob estão listados como integrantes suplementares. Uma conta cujo GID primário é 1005 também pertence ao grupo, mesmo que seu nome esteja ausente dessa lista final. Para verificar todos os grupos de uma pessoa, use id com o nome dela em vez de depender apenas dessa lista.

Aplique as permissões de um grupo

Suponha que plan.txt pertença a bob:developers e tenha o modo rw-r-----. Alice não é Bob, mas pertence a developers. Portanto, ela usa a trinca de permissões do meio, r--: pode ler o plano, mas não alterar seu conteúdo. Chen não é o usuário proprietário nem pertence ao grupo, então usa a última trinca, ---.

Alterar o nome do grupo associado a um arquivo não cria permissões por si só. Se a trinca do grupo for ---, os integrantes ainda não receberão acesso por essa classe. O grupo proprietário identifica a equipe; os bits de permissão especificam o que ela pode fazer.

Reconheça grupos com permissões amplas

Algumas participações concedem muito mais do que acesso a uma pasta de projeto. Debian e Ubuntu geralmente autorizam o grupo sudo para comandos administrativos; Fedora e Red Hat Enterprise Linux geralmente usam wheel. No Debian e no Ubuntu, adm permite acesso a muitos logs do sistema. O grupo docker controla o serviço Docker e, na prática, oferece controle de nível root.

Antes de adicionar alguém a um grupo, identifique o que ele pode acessar. Um grupo de projeto pode ser uma forma restrita de compartilhar trabalho, enquanto um grupo administrativo pode conceder controle sobre toda a máquina.

Principais conclusões

  • Todo usuário tem um grupo primário e pode ter vários grupos suplementares.
  • Novos arquivos normalmente recebem o grupo primário do processo que os cria.
  • Um grupo privado de usuário geralmente contém apenas o usuário correspondente.
  • Verifique todos os grupos de um usuário com id username; /etc/group não precisa listar integrantes primários.
  • O grupo proprietário e os bits de permissão do grupo funcionam em conjunto.
  • Trate a participação em grupos como sudo, wheel e docker como concessão de acesso amplo.

1.3 Ler os arquivos passwd, shadow e group

O Linux mantém os dados públicos das contas separados dos dados de senha. Ler a ordem dos campos ajuda a explicar a identidade, a configuração de login e a política de senha de uma conta sem alterar os arquivos manualmente.

Leia um registro de conta

/etc/passwd tem sete campos separados por dois-pontos:

name:password:UID:GID:comment:home:shell
alice:x:1001:1001:Alice Moreau:/home/alice:/bin/bash

O UID e o GID primário de Alice são ambos 1001. O comentário, também chamado de campo GECOS, informa seu nome completo. Seu diretório pessoal é /home/alice, e seu shell de login é Bash. O x aponta para os dados de senha em /etc/shadow; não significa que sua senha esteja vazia.

Usuários comuns podem ler /etc/passwd, normalmente com modo 644. Programas precisam de seus dados públicos para converter UIDs armazenados em nomes. Manter hashes de senha em um arquivo protegido separado impede que todos os usuários locais os leiam.

Leia os dados de senha

/etc/shadow tem nove campos: nome, hash de senha, dia da última alteração, idade mínima, idade máxima, dias de aviso, dias de inatividade, dia de expiração da conta e um campo reservado. Root pode lê-lo; alguns sistemas também concedem acesso ao grupo shadow.

Um hash de senha é um resultado unidirecional, não uma criptografia reversível. No login, o sistema aplica o método e o sal armazenados à senha informada e compara o resultado com o hash armazenado. Um sal criptográfico aleatório faz os hashes serem diferentes mesmo quando dois usuários escolhem a mesma senha. Registros SHA-512 crypt usam $6$salt$hash, opcionalmente com um campo rounds=N; yescrypt usa $y$parameters$salt$hash.

Um ! inicial bloqueia a senha e mantém o hash. Um campo que contém apenas !, !! ou * não tem senha utilizável. Outros métodos de login, como chaves SSH, ainda podem funcionar com uma senha bloqueada.

Calcule as datas

Considere este registro com hash abreviado:

alice:$y$j9T$...:20514:0:90:7:::

As datas contam os dias desde 1º de janeiro de 1970, UTC. O dia 20514 é 2 de março de 2026. Uma idade mínima de 0 permite a alteração imediata da senha; uma máxima de 90 significa expiração em 31 de maio de 2026. O aviso de sete dias começa em 24 de maio. Campos vazios de inatividade e expiração da conta não definem nenhum desses limites. Um valor de última alteração igual a 0 força uma alteração no próximo login; uma idade máxima de 99999 representa, na prática, uma validade de senha muito longa. A expiração da senha e a expiração da conta são campos separados.

Leia registros de grupo com segurança

/etc/group usa name:password:GID:members. Em developers:x:1005:alice,bob, o último campo lista integrantes suplementares. Integrantes primários são encontrados pelo GID em seus registros passwd. O arquivo protegido /etc/gshadow armazena dados de senha e de administradores de grupos.

Use getent passwd alice ou getent group developers para consultas. getent consulta fontes de contas configuradas, além dos arquivos locais. cut -d: -f1,3 /etc/passwd exibe nomes locais e UIDs. Altere registros com comandos de contas como usermod e passwd; se a edição direta for inevitável, vipw e vigr bloqueiam os arquivos durante a edição.

Principais conclusões

  • /etc/passwd armazena dados públicos de identidade e login; x aponta para /etc/shadow.
  • /etc/shadow mantém separadamente hashes de senha, validade de senhas e expiração de contas.
  • Um sal criptográfico faz senhas iguais produzirem hashes armazenados diferentes.
  • Uma senha bloqueada pode deixar outros métodos de login disponíveis.
  • As datas do shadow são contagens de dias a partir de 1º de janeiro de 1970, UTC.
  • /etc/group lista integrantes suplementares; a participação primária vem de /etc/passwd.
  • Use comandos de gerenciamento de contas para alterar registros e getent para consultá-los.
2

Executar comandos administrativos com segurança

Comandos administrativos podem alterar todo o sistema, portanto a identidade que os executa é importante. O sudo permite que um usuário autorizado execute um comando específico com privilégios elevados e registra a tentativa; o su abre o shell de outro usuário. Uma política útil pode conceder a uma equipe uma ação de manutenção sem conceder um shell de root irrestrito. Ler a regra, editá-la com segurança e verificar seu resultado efetivo fazem parte da concessão desse acesso.

2.1 Usar sudo e su para executar ações como root

Tarefas administrativas precisam de mais acesso do que o trabalho cotidiano. Mantenha seu shell habitual na sua própria conta e eleve privilégios para a ação que precisa deles. Arquivos criados por um comando com privilégios elevados podem pertencer a root mesmo quando estão dentro do seu diretório pessoal.

Escolha sudo ou su
ComandoO que iniciaSenha normalmente solicitada
suUm shell como rootSenha de root
su - bobUm shell de login como BobSenha de Bob
sudo commandUm comando como rootSua própria senha
sudo -u postgres psqlUm comando como postgresSua própria senha

Um shell de login carrega o ambiente de login do usuário de destino, incluindo o diretório pessoal e os arquivos de inicialização. Use exit para sair de um shell iniciado por su. sudo -i abre um shell de login de root; sudo -s abre um shell de root. Eles são úteis para uma sequência de tarefas administrativas relacionadas, mas todo comando nesse shell tem privilégios elevados até você sair.

O sudo verifica sua política antes de executar o comando e registra a tentativa. Os logs podem ir para o diário de registros do sistema, /var/log/auth.log em sistemas da família Debian ou /var/log/secure em sistemas da família Red Hat. sudo -l mostra os comandos que sua conta pode executar. A permissão para usar sudo é uma decisão da política, não o resultado de conhecer a senha de outra pessoa.

Entenda a autenticação

Por padrão, o sudo pede a senha do usuário que o invoca, não a de root. A política pode alterar esse comportamento. O registro de autenticação do projeto de origem do sudo dura cinco minutos por padrão; as configurações da distribuição podem usar outro valor, como 15 minutos. O registro normalmente se aplica naquele terminal. Execute sudo -k para invalidá-lo quando terminar.

O Ubuntu normalmente começa sem uma senha de root utilizável e coloca o usuário da instalação em sudo. O Fedora e sistemas da família Red Hat geralmente usam wheel. Uma tentativa negada pode informar que o usuário não está no arquivo sudoers; a tentativa é registrada.

Coloque a operação de escrita sob sudo

Este comando falha quando sua conta comum não pode escrever em /etc/hosts:

sudo echo "192.0.2.10 test.local" >> /etc/hosts

Seu shell atual abre o arquivo para >> antes de o sudo ser executado. Apenas echo recebe permissões de root, e echo não é o programa que abre o destino. Atribua a tarefa de escrita a um processo com privilégios elevados:

echo "192.0.2.10 test.local" | sudo tee -a /etc/hosts

Aqui, tee abre o arquivo protegido como root. Sua opção -a acrescenta ao final; omitir essa opção substituiria o conteúdo do arquivo. Para uma edição interativa, sudoedit /etc/hosts, também escrito como sudo -e /etc/hosts, executa seu editor como você e cuida da atualização do arquivo protegido.

Observe arquivos de trabalho pertencentes a root

Após sudo mkdir ~/project, inspecione o resultado com ls -ld ~/project. O diretório está no seu diretório pessoal, mas foi criado por root. Portanto, suas permissões de proprietário se aplicam a root, enquanto sua conta pode ter apenas acesso de leitura e execução. Restabeleça o proprietário pretendido com sudo chown alice: ~/project quando Alice for a proprietária do projeto. Os dois-pontos finais também selecionam o grupo de login de Alice. A edição e a criação comuns de arquivos podem então ser feitas na conta de Alice.

Principais conclusões

  • su normalmente pede a senha do usuário de destino; sudo normalmente pede a sua.
  • Use sudo -l para consultar comandos permitidos e sudo -k para invalidar a autenticação armazenada temporariamente.
  • O redirecionamento do shell ocorre antes do sudo; eleve os privilégios do programa que abre o arquivo protegido.
  • sudoedit permite que seu próprio editor trabalhe em uma cópia do arquivo protegido.
  • Um comando com privilégios elevados pode criar arquivos pertencentes a root dentro do seu diretório pessoal.

2.2 Conceder permissões de uso do sudo com a política do sudoers

Uma regra do sudo determina quem pode executar uma ação, em qual sistema hospedeiro e sob qual identidade. Conceder a uma equipe uma ação administrativa pode atender às suas necessidades sem dar controle irrestrito sobre a máquina.

Leia as partes de uma regra

O padrão básico é who where = (as_whom) what. Por exemplo:

alice ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL

A primeira regra permite que Alice execute qualquer comando em qualquer sistema hospedeiro como qualquer usuário e grupo. A segunda concede as mesmas permissões ao grupo sudo; % indica um nome de grupo. Uma regra comum da família Red Hat é %wheel ALL=(ALL) ALL.

Para tornar Alice administradora com permissões completas por meio de uma regra existente da distribuição, execute sudo usermod -aG sudo alice no Debian ou Ubuntu, ou use wheel no Fedora e em sistemas relacionados. Alice precisa fazer um novo login para que a participação chegue à sua sessão. O -a é importante: sem ele, -G substitui os outros grupos suplementares dela.

Edite e verifique a política

O arquivo principal é /etc/sudoers; regras adicionais podem ficar em /etc/sudoers.d/. Use sudo visudo ou um arquivo específico:

sudo visudo -f /etc/sudoers.d/webteam

O visudo bloqueia o arquivo de política durante a edição e verifica sua sintaxe antes de salvar. Uma política com erros pode impedir que administradores usem sudo. Nomeie o arquivo como webteam, e não webteam.conf: o tratamento de diretórios incluídos do sudo ignora nomes que contêm ponto ou terminam em ~.

Os arquivos no diretório incluído são lidos em ordem de nome. Quando várias regras correspondem, a última regra correspondente controla o resultado; a regra que parece mais específica não necessariamente prevalece. A inclusão normalmente fica perto do fim da política principal, então um arquivo adicional pode afetar uma regra escrita antes.

Conceda uma ação exata

Uma equipe que mantém um serviço web pode receber:

%webteam ALL=(root) /usr/bin/systemctl restart nginx

Um integrante pode executar sudo systemctl restart nginx. A regra especifica o caminho completo do comando e seus argumentos. Ela não autoriza systemctl stop nginx nem bash. Verifique as permissões efetivas com sudo -l; um administrador pode examinar a política de Bob com sudo -l -U bob.

O programa permitido também importa. Um shell de root pode fazer qualquer coisa. Editores e paginadores podem iniciar shells, e cp ou tee sem restrições pode sobrescrever configurações protegidas. Uma lista de comandos aparentemente curta pode, portanto, conceder controle completo.

Decida se uma senha é necessária

NOPASSWD: remove a solicitação de autenticação para um comando correspondente:

backup ALL=(root) NOPASSWD: /usr/local/bin/backup.sh

Isso pode atender a uma tarefa automatizada. O script deve ser controlado por root: se backup puder reescrevê-lo, a conta poderá substituir seu conteúdo por qualquer comando de root. Mantenha a ação permitida restrita e proteja o script.

Linhas Defaults alteram configurações da política. Defaults timestamp_timeout=10 define um registro de autenticação de dez minutos; Defaults logfile=/var/log/sudo.log seleciona um arquivo de log adicional. Essas configurações controlam o comportamento do sudo, enquanto as regras de comandos controlam as ações que ele autoriza.

Principais conclusões

  • Uma regra do sudoers especifica quem, o sistema hospedeiro, a identidade de destino e o comando permitido.
  • Edite a política com visudo para que o bloqueio e a verificação de sintaxe protejam o arquivo.
  • Um comando exato com argumentos pode autorizar uma ação sem autorizar um shell.
  • Proteja scripts usados por regras NOPASSWD contra alterações pela conta que os invoca.
  • Nomes que contêm ponto são ignorados em /etc/sudoers.d/.
  • Quando várias regras correspondem, sua ordem importa.
3

Criar e gerenciar contas de usuário e grupos

A configuração de uma conta inclui mais do que um nome de login: ela precisa de um identificador de usuário, grupos, um diretório pessoal, um shell e uma configuração de autenticação. Esses dados também mudam quando as pessoas trocam de função ou saem. O gerenciamento de grupos facilita o acesso da equipe, mas sessões em execução mantêm as identidades que já carregaram. Examine a criação, as alterações posteriores e a remoção, verificando tanto os registros de contas quanto os arquivos identificados por eles.

3.1 Criar contas de usuário com useradd e adduser

Criar uma conta configura uma identidade, um ambiente de login e, muitas vezes, um diretório pessoal. Escolher as opções explicitamente torna o resultado previsível entre distribuições.

Crie uma conta comum

Suponha que o grupo developers já exista. Crie a conta de Priya e defina sua senha em dois comandos:

sudo useradd -m -s /bin/bash -c "Priya Shah" -G developers priya
sudo passwd priya

-m cria /home/priya e copia os arquivos iniciais de /etc/skel. -s /bin/bash seleciona Bash como shell de login, e -c fornece o comentário. -G developers adiciona uma participação em grupo suplementar; vários nomes de grupos formam uma lista separada por vírgulas, sem espaços. A conta normalmente também recebe um grupo primário privado.

O primeiro comando adiciona registros de conta a /etc/passwd e /etc/shadow e registros de grupo, conforme necessário, a /etc/group e /etc/gshadow. Seu campo inicial de senha está bloqueado, frequentemente com ! ou !!. A conta existe antes de ter uma senha utilizável. passwd priya define essa senha; sua solicitação mantém a senha fora da linha de comando.

Entenda os padrões das distribuições

useradd é o comando de baixo nível para criação de contas usado nas distribuições Linux. Debian e Ubuntu também fornecem um script interativo adduser que pede dados e cria um diretório pessoal. Em sistemas da família Red Hat, adduser é outro nome para useradd, portanto não oferece o mesmo processo interativo.

Sem opções explícitas, useradd depende dos padrões locais. Os padrões da família Red Hat geralmente criam um diretório pessoal; os do Debian e do Ubuntu não, a menos que -m seja informado. O shell padrão também pode ser diferente. Consulte useradd -D para ver padrões como o diretório base dos diretórios pessoais e o shell. /etc/default/useradd e /etc/login.defs fornecem configurações que incluem faixas de UID, grupos privados e validade de senhas.

Informe outro diretório pessoal ou identidade

Opções úteis descrevem partes distintas da conta:

OpçãoFinalidade
-u 1500Escolher um UID
-g staffSelecionar um grupo primário existente
-d /data/priyaDefinir o caminho do diretório pessoal
-e 2026-12-31Definir uma data de expiração da conta
-rCriar uma conta de sistema

Um caminho de diretório pessoal no registro não cria o diretório por si só. Combine -d com -m quando o novo diretório pessoal precisar ser criado. No Debian, omitir -m pode deixar uma conta válida sem um diretório pessoal para usar no login.

Para uma identidade de serviço, sudo useradd -r -s /usr/sbin/nologin backupsvc solicita um UID de sistema e um shell não interativo. Contas de sistema não têm diretório pessoal por padrão. O shell nologin impede o login em um shell interativo comum sob essa identidade.

Verifique a configuração

Execute getent passwd priya, id priya e ls -la /home/priya. Verifique o caminho do diretório pessoal, o shell, o grupo primário, os grupos adicionais e os arquivos ocultos copiados. /etc/skel é um modelo: adicionar .bash_aliases ali afeta a criação posterior de diretórios pessoais, não os que já existem. Use nomes de conta simples em letras minúsculas, com algarismos, hífens ou sublinhados após a letra inicial; espaços e nomes incomuns são rejeitados ou tratados incorretamente por muitas ferramentas.

Principais conclusões

  • Use useradd -m para criar um diretório pessoal e copiar /etc/skel.
  • Defina a senha inicial separadamente com passwd.
  • -g escolhe um grupo primário; -G escolhe grupos suplementares.
  • O adduser interativo do Debian difere do comando de mesmo nome da família Red Hat.
  • useradd -r cria uma conta de sistema; um shell nologin impede o login em um shell interativo.
  • Verifique o registro da conta, os grupos e o diretório pessoal após a criação.

3.2 Gerenciar senhas e alterar ou remover contas

Uma conta pode precisar de uma nova senha, de outro diretório pessoal, de um bloqueio temporário de acesso ou de remoção permanente. Essas operações alteram partes diferentes da conta, portanto identifique o resultado pretendido antes de escolher um comando.

Altere uma senha ou sua validade

Execute passwd para alterar sua própria senha, normalmente após digitar a atual. Um administrador usa sudo passwd priya para definir a senha de Priya sem conhecer a antiga. Verificações de qualidade de senha podem rejeitar escolhas curtas ou simples.

sudo passwd -S priya informa o estado da senha. sudo passwd -l priya bloqueia a senha colocando ! antes de seu hash, e sudo passwd -u priya a desbloqueia. sudo passwd -e priya faz a senha expirar, de modo que o usuário precise escolher outra no próximo login. Fazer uma senha expirar é útil ao fornecer uma senha temporária.

Use sudo chage -l priya para consultar as datas de validade. Por exemplo:

sudo chage -M 90 -m 1 -W 7 priya

A idade máxima é de 90 dias, a mínima entre alterações é de um dia e os avisos começam sete dias antes da expiração. Esses valores vão para /etc/shadow. sudo chage -E 2026-12-31 priya define a data de expiração da conta inteira, separadamente da validade de sua senha.

Bloqueie o acesso sem excluir registros

Um bloqueio de senha impede a autenticação por senha. Ele não remove chaves SSH nem interrompe todos os outros métodos de autenticação. Para desabilitar logins futuros na conta de um usuário que está saindo, bloqueie a senha e defina uma data de expiração da conta no passado, como em sudo usermod -e 1 priya. O valor 1 é uma contagem de dias em janeiro de 1970, portanto essa data já passou. Isso não encerra processos que já estão em execução; eles precisam de atenção separada.

Altere uma conta existente

usermod pode alterar o comentário com -c, o shell com -s e o caminho do diretório pessoal com -d. Combine -d e -m para mover o conteúdo do diretório pessoal, como em sudo usermod -d /data/priya -m priya. -l newname altera o nome de login, mas o diretório pessoal e o grupo privado mantêm seus nomes existentes, a menos que também sejam alterados. -L e -U bloqueiam e desbloqueiam a senha.

Para adicionar uma participação em grupo suplementar, execute sudo usermod -aG developers priya. O -a significa acrescentar. Sem ele, usermod -G developers priya substitui toda a lista de grupos suplementares de Priya; uma participação anterior em sudo pode desaparecer. Seu grupo primário é uma configuração separada, controlada por -g.

Remova a conta e cuide de seus arquivos

sudo userdel priya exclui os registros da conta, mas mantém o diretório pessoal. sudo userdel -r priya também remove o diretório pessoal e a fila de correio. O comando normal se recusa a remover a conta enquanto o usuário ainda tiver processos em execução.

Arquivos em outros locais mantêm o UID numérico do proprietário. Após a exclusão da conta, uma listagem pode mostrar 1003 como proprietário porque nenhum nome corresponde a ele. Reutilizar esse UID para uma nova conta dá a ela a propriedade dos arquivos antigos. Use sudo find / -nouser para localizar arquivos sem usuário correspondente e depois arquive-os ou atribua-os a outro proprietário. Quando alguém sair, bloqueie primeiro os logins futuros, cuide das atividades em execução e preserve os arquivos necessários; depois, exclua a conta quando essas tarefas estiverem concluídas.

Principais conclusões

  • Bloqueio de senha, expiração de senha e expiração de conta atendem a finalidades diferentes.
  • Use chage para consultar ou alterar datas de validade de senhas e de expiração de contas.
  • Mantenha -a com usermod -G ao adicionar grupos sem remover participações existentes.
  • Alterar um nome de login não renomeia o diretório pessoal nem o grupo privado.
  • userdel -r remove o diretório pessoal e a fila de correio, mas arquivos em outros locais mantêm o UID antigo.
  • Arquive os arquivos restantes ou atribua-os a outro proprietário antes que esse UID possa ser reutilizado.
  • A expiração da conta não encerra processos que já estão em execução.

3.3 Criar grupos e gerenciar seus membros

Uma pasta compartilhada precisa de um grupo, de membros e de permissões de diretório que permitam a esses membros trabalhar. Após uma alteração de participação em grupo, o banco de dados de contas e os grupos mantidos por um shell já em execução podem divergir temporariamente.

Crie e mantenha o grupo

sudo groupadd developers atribui o próximo GID disponível. Adicione -g 1500 para escolher um GID específico ou -r para criar um grupo de sistema. Verifique com getent group developers; um último campo vazio significa que ainda não há integrantes suplementares listados.

Adicione um membro com qualquer um dos comandos:

sudo usermod -aG developers priya
sudo gpasswd -a priya developers

sudo gpasswd -d priya developers remove essa participação suplementar. sudo gpasswd -M alice,bob developers define toda a lista de membros, substituindo a anterior. Escolha acrescentar, remover ou substituir conforme a alteração pretendida.

Atualize os grupos de uma sessão

Após adicionar Priya, id priya consulta o banco de dados de contas e mostra a nova participação imediatamente. id sem argumentos no shell existente dela informa os grupos que esse shell está realmente usando. Eles foram estabelecidos quando a sessão começou.

Um novo login carrega a nova lista. newgrp developers oferece outra opção: inicia um novo shell com developers como grupo primário. Use exit para sair desse shell. Ao diagnosticar uma operação negada, examine a identidade na sessão que tenta executá-la, não apenas o registro no banco de dados.

Renomeie ou exclua um grupo

sudo groupmod -n devteam developers altera o nome, mas mantém o GID. Os arquivos existentes continuam se referindo ao mesmo grupo numérico. Já sudo groupmod -g 1600 developers altera o número do grupo. Arquivos que ainda contêm o GID antigo 1005 precisam de atenção; localize-os com sudo find / -gid 1005 e depois use chgrp para atribuir o grupo pretendido.

sudo groupdel developers recusa a exclusão se um usuário existente ainda o tiver como grupo primário. Defina outro grupo primário com usermod -g antes de excluí-lo. Excluir um nome de grupo não apaga os arquivos que contêm seu GID anterior.

Configure uma pasta de equipe

Para a equipe web de Priya e Kenji:

sudo groupadd webteam
sudo usermod -aG webteam priya
sudo usermod -aG webteam kenji
sudo mkdir /srv/web
sudo chgrp webteam /srv/web
sudo chmod 2770 /srv/web

Após novos logins, os dois usuários podem criar arquivos em /srv/web. O modo 2770 concede rwx ao proprietário e ao grupo, --- aos outros e define SGID no diretório. Um novo arquivo recebe o grupo webteam, mesmo quando o grupo primário de quem o criou é seu grupo privado. Novos subdiretórios também herdam SGID.

O diretório torna útil a participação na equipe e impede a entrada de outros usuários, mas cada arquivo ainda tem seu próprio modo. Com a solicitação usual de 666 para arquivos, uma umask 002 de quem cria concede escrita ao grupo, enquanto 022 deixa o grupo com acesso somente de leitura. Se integrantes da equipe precisarem editar os arquivos uns dos outros, verifique esses padrões de criação além da pasta.

Principais conclusões

  • Use groupadd para criar grupos e gpasswd ou usermod -aG para adicionar membros.
  • Alterações de participação no banco de dados chegam a uma sessão existente após um novo login ou um novo shell adequado.
  • Renomear um grupo mantém seu GID; alterar seu GID deixa os GIDs dos arquivos existentes para serem corrigidos.
  • Um grupo não pode ser excluído enquanto uma conta ainda o usar como grupo primário.
  • Um diretório SGID compartilhado atribui seu grupo a novos arquivos; o modo de cada arquivo ainda controla a edição.
4

Consultar e alterar o proprietário, o grupo e as permissões

O acesso depende de duas perguntas relacionadas: qual usuário e grupo são proprietários de um objeto e o que seus bits de permissão permitem. Uma listagem detalhada fornece as informações, mas os mesmos bits têm funções diferentes em arquivos e diretórios. Por isso, ler um documento, entrar em uma pasta e excluir um nome exigem verificações diferentes. Use chmod para definir as ações permitidas e chown ou chgrp para atribuir as identidades às quais essas ações se aplicam.

4.1 Identificar o proprietário, o grupo e as permissões em uma listagem

Uma listagem detalhada coloca em uma linha as informações necessárias para uma decisão de acesso. Leia o proprietário e o grupo junto com os nove bits de permissão; os bits sozinhos não indicam quais permissões uma pessoa específica recebe.

Interprete uma listagem detalhada
-rw-r----- 1 priya developers 2048 Oct 22 09:15 report.txt

O primeiro campo contém o tipo de arquivo e as permissões. Os campos seguintes informam a contagem de links físicos, o usuário proprietário, o grupo proprietário, o tamanho em bytes, a data e hora de modificação e o nome. Esse arquivo comum pertence a Priya e ao grupo developers. O tamanho é de 2048 bytes; a data e hora exibidas registram a última modificação do conteúdo.

O primeiro caractere é - para um arquivo comum, d para um diretório ou l para um link simbólico. Você também pode encontrar c e b para dispositivos de caracteres e de blocos, p para um pipe nomeado e s para um socket.

Divida as nove posições seguintes em três trincas:

ClasseBits neste casoAcesso ao arquivo comum
Proprietáriorw-Ler e alterar o conteúdo
Grupor--Ler o conteúdo
Outros---Nenhum acesso por essa classe

Em cada trinca, as posições significam leitura, escrita e execução, nessa ordem. Um traço indica uma permissão ausente, não uma posição vazia a ser pulada na contagem.

Escolha exatamente uma classe

Para uma verificação comum de permissão, o Linux pergunta:

  1. O usuário do processo corresponde ao proprietário do arquivo? Use a trinca do proprietário.
  2. Caso contrário, um de seus grupos corresponde ao grupo do arquivo? Use a trinca do grupo.
  3. Caso contrário, use a trinca dos outros.

As classes não são somadas. Suponha que Priya seja proprietária de um arquivo cuja sequência completa de tipo e modo seja ----rw-rw-. Sua trinca de proprietário é ---, então ela não pode lê-lo por meio dos bits comuns, embora grupo e outros tenham rw-. Como proprietária, ela pode alterar o modo. Uma trinca menos restritiva de grupo ou outros não substitui a trinca selecionada do proprietário.

Root pode contornar as verificações comuns de permissão de leitura e escrita. Para executar um arquivo de programa comum, até root precisa de pelo menos um bit de execução nele. Portanto, uma verificação de modo precisa considerar tanto a identidade do usuário quanto a operação tentada.

Examine diretórios e números

ls -ld /srv/web lista o próprio diretório. Sem -d, ls -l /srv/web normalmente lista as entradas dentro dele, o que pode desviar sua atenção de uma restrição no diretório. ls -a inclui nomes ocultos, enquanto ls -n exibe proprietários e grupos numéricos. Arquivos armazenam UIDs e GIDs; se uma conta ou grupo tiver sido excluído, uma listagem comum também poderá mostrar o número restante.

Para um relatório compacto, execute:

stat -c '%A %a %U %G %n' report.txt

Ele pode mostrar -rw-r----- 640 priya developers report.txt, colocando letras e dígitos octais lado a lado. Um + após as letras indica entradas adicionais de lista de controle de acesso. Um link simbólico geralmente aparece como lrwxrwxrwx; o Linux usa as permissões do destino para determinar o acesso, não esses bits exibidos do link.

Principais conclusões

  • Leia primeiro o tipo de arquivo e depois as trincas do proprietário, do grupo e dos outros.
  • A primeira classe correspondente fornece as permissões comuns; as classes não se combinam.
  • Arquivos armazenam UIDs e GIDs numéricos mesmo quando uma listagem mostra nomes.
  • ls -ld examina o próprio diretório, e stat pode mostrar os modos em letras e em octal.

4.2 Explicar o que as permissões de leitura, escrita e execução permitem

Leitura, escrita e execução descrevem ações diferentes em arquivos e diretórios. Um diretório armazena nomes que levam a arquivos, portanto alterar o conteúdo de um arquivo e remover seu nome são verificações de permissão diferentes.

Relacione o bit ao objeto
BitArquivo comumDiretório
rLer ou copiar o conteúdoListar nomes das entradas
wAlterar, sobrescrever ou acrescentar conteúdoCriar, excluir ou renomear entradas, com x
xExecutar como programaEntrar e acessar entradas pelo nome

Um arquivo com permissão de escrita, mas sem permissão de leitura, pode receber conteúdo ao final sem ser lido. Por exemplo, um shell pode abrir um log com permissão de escrita para echo text >> log.txt mesmo quando cat log.txt falha. Um editor frequentemente precisa de leitura e escrita porque primeiro carrega o conteúdo existente.

Um script executado como ./backup.sh precisa de permissão de execução e deve ser legível por seu interpretador. Se o script for legível, mas não tiver execução, bash backup.sh ainda poderá lê-lo e executá-lo: Bash é o programa executável nesse comando.

Separe listagem de busca

A permissão de leitura de diretório permite ver nomes. A execução de diretório, também chamada de permissão de busca, permite acessar uma entrada pelo nome. Com leitura, mas sem execução, ls pode mostrar nomes, enquanto ls -l não consegue obter seus detalhes e pode exibir erros e pontos de interrogação. Você não pode abrir os arquivos nomeados por esse diretório.

Com execução, mas sem leitura, o inverso é possível: você pode acessar notes.txt se já souber seu nome exato, mas não pode listar o diretório para descobrir os nomes. O próprio modo do arquivo ainda deve permitir o acesso solicitado.

Examine todo o caminho

Para ler /home/priya/notes/public.txt, Kenji precisa de permissão de execução em todos os diretórios do caminho e permissão de leitura no arquivo. Se /home/priya tiver modo 700, sua trinca dos outros será ---; Kenji para ali mesmo que public.txt tenha modo 644. Acrescentar mais permissão de leitura ao arquivo não corrige a falta de um bit de busca em um diretório acima dele.

Use ls -ld /home/priya /home/priya/notes para examinar os próprios diretórios. Em cada nível, escolha a classe que se aplica a Kenji e verifique seu bit de execução. A classe relevante pode mudar de um diretório para outro porque seus proprietários e grupos podem ser diferentes.

Preveja exclusões e renomeações

Excluir um arquivo remove uma entrada de diretório. Kenji precisa de escrita e execução no diretório que o contém, não de escrita no arquivo. Em um diretório comum com permissão de escrita e sem sticky bit, ele pode remover o arquivo somente de leitura de Priya. Por outro lado, ser proprietário de um arquivo não permite que ele o exclua de um diretório onde não tem permissão de escrita.

Portanto, remover a escrita do arquivo é útil para proteger o conteúdo contra edições, mas não protege o nome contra remoção. O sticky bit de um diretório acrescenta uma restrição de propriedade à exclusão e à renomeação em pastas compartilhadas com permissão de escrita. O acesso ao arquivo e o acesso à entrada de diretório respondem a perguntas diferentes.

Principais conclusões

  • Os bits r, w e x de um arquivo controlam sua leitura, alteração e execução.
  • Em um diretório, r lista nomes; x acessa entradas; w com x altera entradas.
  • Acessar um arquivo exige execução em todos os diretórios de seu caminho.
  • Um script legível pode ser passado ao seu interpretador mesmo sem seu próprio bit de execução.
  • Excluir um arquivo depende das permissões de seu diretório, com uma restrição adicional em diretórios com sticky bit.

4.3 Alterar permissões com chmod

Use chmod para alterar as permissões de um arquivo ou diretório do qual você é proprietário. Root também pode alterá-las. Ter acesso de escrita por meio de um grupo permite alterar o conteúdo do arquivo, mas não torna você proprietário nem permite definir seu modo.

Faça uma alteração simbólica específica

Um modo simbólico tem uma classe, um operador e bits. As classes são u para proprietário, g para grupo, o para outros e a para as três. + adiciona permissões, - as remove e = define exatamente as permissões dessa classe.

chmod u+x deploy.sh
chmod go-w notes.txt
chmod u=rw,g=r,o= report.txt

O primeiro comando adiciona apenas o bit de execução do proprietário. O segundo remove a escrita do grupo e dos outros, mantendo seus demais bits. O terceiro concede leitura e escrita ao proprietário, leitura ao grupo e nenhuma permissão aos outros: rw-r-----.

Especifique a classe quando quiser uma alteração precisa. Se você a omitir, como em chmod +w notes.txt, a umask restringirá quais bits de classe serão afetados. Com umask 022, esse comando adiciona escrita somente para o proprietário; chmod a+w notes.txt inclui explicitamente as três classes.

Converta cada trinca em um dígito octal

Leitura tem valor 4, escrita 2 e execução 1. Some os valores presentes em cada classe:

DígitoBitsCálculo
7rwx4 + 2 + 1
6rw-4 + 2
5r-x4 + 1
4r--4
0---Nenhum

Para rw-r-----, divida em rw-, r--, ---: os dígitos são 6, 4, 0. chmod 640 report.txt define esses nove bits comuns, independentemente do modo comum anterior. Inverta o processo para 750: 7 fornece rwx, 5 fornece r-x e 0 fornece ---, formando rwxr-x---.

Escolha um modo final útil

O modo 600 mantém um arquivo privado para seu proprietário. O modo 644 permite que outros usuários leiam um arquivo comum. O modo 664 também permite que o grupo edite. Diretórios privados geralmente usam 700, diretórios legíveis pelo grupo usam 750 e diretórios nos quais o grupo pode escrever usam 770. Programas ou diretórios públicos geralmente usam 755.

Os mesmos dígitos permitem ações úteis diferentes em objetos diferentes. Aplicar 644 a um diretório remove a execução de todas as classes. Nem mesmo seu proprietário pode mais entrar nele ou abrir arquivos por meio dele. Use um modo de diretório com permissão de busca para as pessoas que precisam de acesso.

Aplique alterações a uma árvore

chmod -R 755 site/ também torna todos os arquivos comuns executáveis. Para uma árvore que contém diretórios e documentos comuns, use a execução condicional:

chmod -R u=rwX,go=rX site/

O X maiúsculo adiciona execução a diretórios e a arquivos que já têm um bit de execução. Arquivos não executáveis passam a ter 644; diretórios passam a ter 755. Arquivos executáveis existentes mantêm o acesso de execução. Isso mantém o percurso possível sem marcar todo documento como programa. Os bits especiais são separados: o GNU chmod preserva SUID e SGID de diretórios, a menos que você os limpe explicitamente, por exemplo com chmod g-s site/.

Principais conclusões

  • Somente o proprietário ou root pode alterar o modo de um arquivo.
  • Os operadores simbólicos + e - alteram bits selecionados; = define exatamente uma classe.
  • Modos octais somam leitura 4, escrita 2 e execução 1 para cada classe.
  • Uma classe omitida no modo simbólico torna a umask relevante.
  • Diretórios precisam de permissão de busca para usuários que devem acessar suas entradas.
  • O X maiúsculo permite alterações recursivas sem tornar todos os arquivos comuns executáveis.

4.4 Alterar o proprietário e o grupo com chown e chgrp

O proprietário e o grupo identificam o usuário e o grupo cujas trincas de permissão serão verificadas. Atribuí-los corretamente pode corrigir uma pasta de trabalho criada acidentalmente com sudo, sem conceder acesso mais amplo a todos os outros.

Leia as formas de chown

chown pode alterar um usuário, um grupo ou ambos:

ComandoResultado
sudo chown kenji report.txtAltera o proprietário; mantém o grupo
sudo chown kenji:webteam report.txtAltera o proprietário e o grupo
sudo chown :webteam report.txtAltera apenas o grupo
sudo chown kenji: report.txtDefine o proprietário e o grupo de login de Kenji
chgrp webteam report.txtAltera apenas o grupo

Identificadores numéricos também funcionam, como em sudo chown 1002:1005 report.txt. Os nomes são resolvidos em números; o arquivo armazena esses números.

Somente root pode transferir um arquivo para outro usuário proprietário. Um proprietário pode alterar o grupo de seu próprio arquivo para um grupo ao qual pertence. Assim, Priya pode usar chgrp webteam plan.txt se for proprietária do arquivo e pertencer a webteam. Para atribuí-lo a finance, ela também precisaria pertencer a esse grupo. A capacidade de outro integrante de editar o arquivo não concede a capacidade de alterar seu proprietário ou modo.

Corrija uma pasta criada acidentalmente como propriedade de root

Kenji executou um comando de criação com sudo. A listagem é:

drwxr-xr-x 2 root root 4096 Oct 22 10:02 /home/kenji/app

Ele não é o proprietário nem está usando o grupo proprietário, então recebe o r-x dos outros. Ele pode inspecionar a pasta e entrar nela, mas não pode criar entradas porque falta escrita. Tornar a pasta gravável por todos concederia mais acesso do que o projeto dele precisa.

Se o projeto pertence a Kenji, sudo chown -R kenji: ~/app restabelece sua propriedade e seu grupo de login em todo o projeto. Sua trinca de proprietário agora é rwx, então ele pode criar arquivos. Inspecione o caminho de destino antes de qualquer comando recursivo de alteração de propriedade: aplicá-lo a /etc ou /usr pode prejudicar o funcionamento do sistema. -R significa o diretório e tudo abaixo dele.

Preveja a propriedade após operações com arquivos

Um arquivo recém-criado pertence ao usuário do processo que o cria. Seu grupo normalmente vem do grupo primário desse processo ou de um diretório pai com SGID. Portanto, criar uma nova cópia comum com cp torna quem executa o comando seu proprietário. Um mv dentro do mesmo sistema de arquivos altera o local de um arquivo existente e mantém seu proprietário e grupo. Opções de cópia que preservam a propriedade têm um comportamento diferente do de uma nova cópia comum.

Essa distinção explica por que mover um arquivo antigo para uma pasta compartilhada não aplica a ele a regra de herança de grupo dessa pasta. SGID se aplica na criação; use chgrp quando o grupo de um arquivo existente precisar ser alterado.

Combine identidade e acesso

Atribuir webteam com chgrp seleciona quem a classe de grupo representa. Isso não adiciona leitura ou escrita ao grupo. Use chmod para conceder os bits necessários após escolher o grupo. Alterar o proprietário ou o grupo de um executável também pode limpar privilégios SUID ou SGID; examine o modo resultante quando esses bits forem importantes.

Principais conclusões

  • chown atribui o usuário ou o grupo proprietário; chgrp altera apenas o grupo.
  • Somente root pode alterar o usuário proprietário.
  • Proprietários podem atribuir seus arquivos a grupos aos quais pertencem.
  • Uma nova cópia normalmente pertence a quem a criou; uma movimentação no mesmo sistema de arquivos mantém o proprietário e o grupo.
  • A herança de SGID se aplica a arquivos recém-criados, não a um arquivo existente movido para o diretório.
5

Controlar permissões padrão e especiais e resolver problemas de acesso

Novos arquivos herdam configurações de criação, enquanto bits de permissão especiais alteram o comportamento de programas ou diretórios compartilhados. Uma pasta de equipe só funciona quando seu grupo, a herança do grupo proprietário e os modos dos novos arquivos estão alinhados. Quando o acesso falhar, siga o usuário e o caminho reais até a primeira permissão ausente. Esse diagnóstico permite corrigir a permissão necessária e manter restritos os dados privados e os poderes de administrador.

5.1 Definir permissões padrão com umask

As permissões de um novo arquivo vêm de duas entradas: o modo solicitado pelo programa que o cria e a umask do processo. A máscara remove bits solicitados; ela nunca adiciona permissões que o programa não pediu.

Comece pela solicitação de criação

Editores e redirecionamento do shell geralmente solicitam 666, ou rw-rw-rw-, para novos arquivos comuns. A criação de diretórios geralmente solicita 777, ou rwxrwxrwx. Uma umask é um conjunto de bits a limpar dessa solicitação. Um bit permanece somente quando a solicitação o inclui e a máscara não.

Para umask 022, mantenha todos os bits solicitados do proprietário, remova a escrita do grupo e remova a escrita dos outros. Um arquivo passa a ter 644; um diretório passa a ter 755. Leia cada dígito como bits, não como uma quantidade decimal comum.

MáscaraArquivo solicitado como 666Diretório solicitado como 777
022644755
027640750
077600700
002664775
033644744

Com 027, o grupo perde escrita enquanto os outros perdem os três bits. Ela é útil quando uma equipe deve ler novos arquivos, mas usuários fora da equipe não devem ter acesso. Com 002, a escrita do grupo continua disponível; o grupo proprietário do arquivo ainda determina quem a recebe.

Por que a subtração falha

Considere a solicitação de arquivo 666 e a máscara 033. Cada 3 significa escrita mais execução. Mas cada trinca solicitada para o arquivo é rw-: a execução já está ausente. Limpar escrita e execução deixa r-- para grupo e outros, então o resultado é 644. Subtrair os dígitos produziria 633, sugerindo incorretamente que bits de execução podem aparecer.

Para uma solicitação de diretório de 777, limpar esses mesmos bits produz 744. Esse diretório não tem execução para grupo e outros, então essas classes não podem acessar suas entradas, mesmo podendo listar os nomes. Uma máscara que produz o modo de arquivo desejado pode produzir um resultado inconveniente para diretórios.

Consulte e defina sua máscara

Execute umask para ver a configuração atual, frequentemente exibida com um zero inicial, como 0022. O zero inicial é formatação; o Linux usa os nove bits comuns de permissão. umask -S exibe os bits permitidos, como u=rwx,g=rx,o=rx para 022; um programa pode solicitar um subconjunto desses bits.

umask 027 altera o shell atual e é herdado pelos programas iniciados por ele. Arquivos existentes mantêm seus modos. Use chmod quando um arquivo já criado precisar de permissões diferentes.

Escolha um padrão persistente

Uma linha como umask 027 em ~/.profile ou ~/.bashrc pode definir o valor para os shells que leem esse arquivo de inicialização. Os padrões do sistema podem vir de /etc/profile ou de UMASK em /etc/login.defs. A distribuição e a configuração da conta determinam quais arquivos são lidos e quando.

Muitos sistemas usam 022, enquanto configurações com grupos privados frequentemente usam 002 para usuários comuns. Um compilador pode solicitar saída executável com modo 777; sob 022, ela passa a ter 755. A solicitação 666 de um editor de texto não tem bits de execução, então escrever um script não o torna executável por si só.

Principais conclusões

  • Um novo modo mantém os bits solicitados pelo programa, a menos que a umask os remova.
  • Solicitações de arquivos comuns geralmente começam em 666; solicitações de diretórios geralmente começam em 777.
  • Aplique a máscara bit a bit; uma subtração como a de números decimais pode dar o resultado errado.
  • Alterar a máscara afeta criações posteriores, não arquivos existentes.
  • Uma máscara herdada do shell e o modo solicitado por um programa são entradas separadas.
  • Verifique os resultados para arquivos e diretórios ao selecionar um padrão.

5.2 Usar SUID, SGID e o sticky bit

Três bits especiais acrescentam comportamentos além das permissões comuns de proprietário, grupo e outros. Seu significado depende de o objeto ser um programa ou um diretório.

Reconheça o dígito adicional

Um dígito octal inicial combina SUID 4, SGID 2 e sticky 1. O modo 4755 é SUID mais o modo comum 755. O modo 2770 é SGID mais 770. O modo 3770 combina SGID e sticky porque 2 mais 1 é 3.

Em uma listagem detalhada, os bits compartilham as posições de execução. Um s minúsculo na posição do proprietário significa SUID e execução para o proprietário; um s minúsculo na posição do grupo significa SGID e execução para o grupo. Um t minúsculo na posição dos outros significa sticky e execução para os outros. Um S ou T maiúsculo significa que o bit especial está presente, mas a execução nessa posição está ausente.

SUID e SGID em programas

O SUID permite que um executável seja executado com a identidade efetiva do proprietário do arquivo. /usr/bin/passwd geralmente aparece como -rwsr-xr-x root root: o programa pode atualizar dados protegidos de senha enquanto controla qual senha de usuário quem o invocou pode alterar. Iniciá-lo não dá a essa pessoa um shell de root. O Linux ignora SUID em scripts e diretórios.

O SGID em um executável usa, de forma semelhante, a identidade de grupo do arquivo. Esses bits concedem acesso controlado pelo programa, portanto o comportamento do programa importa. Nunca adicione SUID a um shell, editor ou script. Um administrador pode listar arquivos comuns com SUID usando sudo find / -perm -4000 -type f 2>/dev/null; use -perm -2000 para arquivos SGID e compare os resultados com a configuração esperada do sistema.

SGID em um diretório de equipe

Em um diretório, SGID faz com que novas entradas recebam o grupo do diretório, e novos subdiretórios herdem SGID. Suponha que /srv/web pertença a root:webteam, com modo 2770, exibido como drwxrws---. Priya tem um grupo primário privado, mas pertence a webteam. Quando ela cria index.html nesse diretório, seu grupo passa a ser webteam.

Seu modo comum ainda depende da criação. Com uma solicitação de arquivo de 666 e umask 002, ele passa a ter 664 e Kenji, outro integrante da equipe, pode editá-lo. Com 022, passa a ter 644, então Kenji tem apenas acesso de leitura. SGID fornece o grupo, não um bit adicional de escrita.

Diretórios com sticky bit e exclusão

O sticky bit restringe a exclusão e a renomeação: com o acesso necessário ao diretório, uma entrada pode ser removida pelo proprietário do arquivo, pelo proprietário do diretório ou por root. Isso torna úteis os diretórios compartilhados com permissão de escrita sem permitir que usuários removam as entradas uns dos outros. /tmp e /var/tmp geralmente usam 1777, exibido como drwxrwxrwt. O sticky bit não impede edições no conteúdo do arquivo quando seu modo as permite. O Linux o ignora em arquivos comuns.

Defina bits com chmod u+s prog, chmod g+s /srv/web ou chmod o+t /srv/drop. Limpe-os com u-s, g-s ou o-t. Com GNU chmod, chmod 755 /srv/web preserva um bit SGID existente no diretório; use chmod g-s /srv/web para limpá-lo explicitamente.

Principais conclusões

  • SUID usa a identidade do proprietário de um arquivo de programa; SGID em um executável usa a identidade de seu grupo.
  • SGID em diretório atribui seu grupo a novos arquivos e passa SGID a novos subdiretórios.
  • Um diretório com sticky bit restringe exclusão e renomeação conforme a propriedade.
  • s ou t minúsculo inclui execução; S ou T maiúsculo indica ausência de execução nessa posição.
  • A herança de grupo por SGID e a permissão de escrita do novo arquivo são coisas separadas.
  • O GNU chmod preserva SGID em diretórios quando um modo de três dígitos é usado.
  • O sticky bit protege entradas contra remoção, não conteúdo gravável contra edição.

5.3 Diagnosticar problemas de permissão e aplicar o princípio do menor privilégio

Um erro “Permission denied” identifica uma operação que falhou, não necessariamente um modo de arquivo incorreto. O bloqueio pode estar nos grupos da sua sessão, em um diretório pai, no próprio arquivo ou na propriedade deixada por um comando com privilégios elevados.

Examine identidade, caminho, classe e operação

Comece com id sem argumentos na sessão afetada. Se um grupo foi adicionado recentemente, compare a lista ativa com id username, que consulta o banco de dados. Um novo login pode carregar a nova participação.

Em seguida, examine todo o caminho:

namei -l /srv/reports/q3.txt

namei -l informa proprietários, grupos e modos ao longo do caminho. Você também pode examinar cada diretório com ls -ld. Em cada objeto, selecione a primeira classe correspondente: proprietário, caso contrário grupo, caso contrário outros. Depois pergunte do que a operação tentada precisa. A leitura exige r no arquivo e permissão de busca em todos os diretórios pais. Criar, remover ou renomear uma entrada exige w e x em seu diretório, com restrições do sticky bit onde ele estiver presente.

Encontre a primeira operação bloqueada

Kenji pertence a finance e tenta executar cat /srv/reports/q3.txt. Os objetos relevantes são:

drwxr-xr-x root  root     /srv
drwxr-x--- root  finance  /srv/reports
-rw------- maria finance  /srv/reports/q3.txt

Kenji pode atravessar /srv usando a execução dos outros. Em /srv/reports, sua participação em finance seleciona o r-x do grupo, então ele também pode atravessá-lo. Em q3.txt, ele não é Maria, e a trinca de finance é ---. A permissão ausente é a leitura do arquivo para o grupo.

Se integrantes de finance devem ler o relatório, Maria ou root pode executar chmod g+r /srv/reports/q3.txt. O modo resultante é 640. Ele fornece a permissão ausente sem dar escrita ao grupo nem abrir o relatório aos outros. Um administrador pode testar com sudo -u kenji cat /srv/reports/q3.txt, executando o comando como Kenji em vez de testá-lo como root.

Escolha a menor correção

Uma correção adequada pode ser adicionar uma participação em equipe, definir leitura para o grupo, restabelecer o proprietário de um projeto ou adicionar busca no diretório para a classe pretendida. chmod -R 777 concede a todas as contas locais acesso de escrita em toda a árvore e torna arquivos comuns executáveis. Ele também não consegue resolver todas as causas de falha de acesso.

Verifique causas comuns antes de editar uma árvore grande: nova participação ainda inativa, x ausente em um diretório pai, arquivos de trabalho pertencentes a root criados com sudo e novos arquivos cuja umask removeu o acesso necessário à equipe. Unidades FAT32 e exFAT não armazenam UIDs, GIDs e modos nativos do Linux; as opções de montagem fornecem esses valores, então chmod ou chown por arquivo pode falhar ou não ter efeito.

Mantenha dados privados protegidos

Uma chave privada SSH como ~/.ssh/id_ed25519 normalmente deve ter modo 600; seu diretório .ssh geralmente tem 700. O SSH verifica a proteção da chave privada e pode rejeitar uma chave excessivamente acessível. /etc/shadow continua inacessível a usuários comuns. Administradores com sudo completo podem contornar a privacidade comum dos arquivos, portanto mantenha esse grupo pequeno e conceda ações específicas quando a administração completa for desnecessária.

Principais conclusões

  • Verifique a identidade e os grupos ativos da sessão afetada antes de alterar modos de arquivo.
  • Examine todos os diretórios pais, além do arquivo de destino.
  • Relacione a permissão à operação e use a menor alteração necessária.
  • Teste o resultado como o usuário afetado; um teste como root pode ocultar uma permissão comum ausente.
  • Padrões de criação e sistemas de arquivos que não são do Linux podem explicar modos inesperados.

Exercícios resolvidos de Usuários, grupos e permissões no Linux

5 Lições Interativas

1

Consultar uma identidade e seus registros de conta

13 passos
Relacionar o usuário que executa um comando a grupos, dados de login e dados protegidos de senha.
  1. 1
    IntroduçãoComece pela identidade que realiza a tarefa

    Uma solicitação de arquivo vem de um processo em execução, e esse processo carrega uma identidade de usuário e grupos. Você consultará a identidade de Alice, relacionando-a a registros de conta e distinguindo sessões atuais de dados de conta armazenados. Essas são as informações necessárias antes de decidir qual acesso os comandos dela recebem.

  2. 2
    ExplicaçãoUm número dá poder a root

    O Linux usa um UID, não a escrita de um nome, para identificar um usuário. UID 0 é root; contas comuns geralmente começam em 1000. Serviços normalmente são executados em contas de sistema limitadas com um shell nologin. Assim, um serviço não precisa do login de uma pessoa nem de permissões completas de root para realizar seu trabalho.

  3. 3
    ExemploLeia a saída de id de Alice

    Alice executa id e vê:

    uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo),1005(developers)
    

    O UID identifica Alice. O GID é seu grupo primário. A lista final inclui seu grupo primário, além de sudo e developers. UID 1001 não é root, embora o grupo sudo possa autorizar determinados comandos com privilégios elevados.

  4. 4
    DesafioUm nome poderoso ou um UID poderoso?

    Uma conta chamada maintainer tem UID 0. Outra chamada root-helper tem UID 1030. Qual identidade tem poder de root sem usar sudo e por quê?

    ---reveal---

    Maintainer tem poder de root porque seu UID é 0. O nome root-helper não transforma o UID 1030 na identidade de superusuário. Examine o número, não um nome sugestivo ou um prompt personalizado.

  5. 5
    ConexãoIdentidade e histórico de login respondem a perguntas diferentes

    whoami identifica o usuário atual; id acrescenta identificadores e grupos. who lista sessões de login atuais, e w acrescenta atividade, tempo de funcionamento e carga. last informa logins e reinicializações anteriores registrados. Em sistemas que usam wtmpdb, como o Debian 13, use wtmpdb last para consultar esse histórico. Uma entrada do histórico não é a lista de grupos do seu shell atual.

  6. 6
    ExplicaçãoCompartilhe por meio de um grupo adicional

    O grupo primário de Alice é seu grupo privado, também chamado alice. Developers é um grupo suplementar adicional. Um processo pode usar tanto a participação primária quanto as suplementares para acesso de grupo. Atribuir um relatório a developers pode, portanto, compartilhá-lo com Alice e Bob, enquanto atribuí-lo ao grupo privado de Alice normalmente não o compartilha com colegas.

  7. 7
    ExemploAssocie um relatório a developers

    O relatório pertence a bob:developers, com modo rw-r-----. Alice não é sua proprietária, mas sua participação em developers seleciona o r-- do grupo: ela pode ler, não editar. Chen está fora de developers e recebe o --- dos outros. Definir o grupo proprietário identifica a equipe; a trinca do meio determina as ações permitidas à equipe.

  8. 8
    DesafioUma lista vazia com um integrante

    Um registro de conta informa que o GID primário de Robin é 1440. A consulta do grupo retorna review:x:1440:. Robin pertence a review apesar do último campo vazio?

    ---reveal---

    Sim. O GID primário de Robin corresponde a review. O último campo do grupo lista integrantes suplementares, portanto não precisa incluir integrantes primários. Uma consulta completa do usuário com id robin verifica os dois tipos de participação.

  9. 9
    ExemploDivida a linha pública da conta

    Leia alice:x:1001:1001:Alice Moreau:/home/alice:/bin/bash como sete campos separados por dois-pontos. Alice é o nome, x aponta para dados protegidos de senha, 1001 é o UID e o próximo 1001 é o GID primário. Os campos restantes informam um comentário, o diretório pessoal e o shell de login. O registro público passwd não contém a senha de Alice em formato legível.

  10. 10
    ExplicaçãoUm hash é verificado, não descriptografado

    O arquivo shadow armazena hashes de senha e campos de validade com acesso restrito. No login, o hash da senha é calculado com o método e o sal armazenados e depois comparado ao resultado salvo. Sais diferentes permitem que senhas iguais tenham hashes diferentes. Um ! inicial bloqueia a autenticação por senha, mas não remove todos os outros métodos de login.

  11. 11
    ExemploLeia os campos de validade

    Em alice:$y$j9T$...:20514:0:90:7:::, o dia 20514 é 2 de março de 2026. A idade mínima 0 permite outra alteração imediatamente. A idade máxima 90 coloca a expiração em 31 de maio, e o aviso 7 começa em 24 de maio. Os campos vazios de inatividade e expiração da conta não definem nenhum desses limites. Todos os valores de data usam dias desde 1º de janeiro de 1970, UTC.

  12. 12
    DesafioSepare o bloqueio de senha da identidade

    Uma consulta mostra uma conta com UID 1090, grupo primário 1090 e um hash no shadow precedido por !. Um colega diz: “A conta desapareceu, então seu grupo não importa mais”. O que está errado?

    ---reveal---

    A conta ainda existe com seu UID e grupo. O prefixo bloqueia sua senha; ele não exclui sua identidade. Seus arquivos e suas participações em grupos ainda têm significado, e um método de login sem senha ainda pode estar disponível.

  13. 13
    RecapitulaçãoEscolha as informações certas

    Use a identidade do processo ativo para entender quem está agindo. A participação em grupos conecta essa identidade a permissões compartilhadas. Os registros passwd e group descrevem relações públicas de contas; shadow contém dados protegidos de senha e validade. Consulte com getent e use comandos de gerenciamento de contas quando os registros precisarem ser alterados.

2

Elevar privilégios para uma ação e ler sua política

13 passos
Examinar a autenticação do sudo, o redirecionamento do shell e uma regra de manutenção de escopo restrito.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoMantenha o foco na ação administrativa
  2. 2
    ExplicaçãoTroque de shell ou execute um comando
  3. 3
    DicaVerifique permissões e autenticação temporária
  4. 4
    DesafioDe quem é a senha para outro usuário de destino?
  5. 5
    ExemploAcompanhe a tentativa malsucedida de acréscimo
  6. 6
    ExemploDê privilégios elevados ao programa que escreve
  7. 7
    DesafioPreserve o conteúdo antigo
  8. 8
    ExplicaçãoLeia uma autorização completa
  9. 9
    DicaEdite uma regra com proteção de sintaxe
  10. 10
    DesafioPermissão para reiniciar não é permissão para parar
  11. 11
    Ideia-chaveUm script pode ampliar uma regra restrita
  12. 12
    DesafioVerifique a política e o processo
  13. 13
    RecapitulaçãoMantenha o escopo tão restrito quanto a tarefa
3

Criar uma conta e fazer o acesso da equipe funcionar

15 passos
Criar um ambiente de usuário, atualizar o acesso ao grupo e lidar com alterações posteriores da conta.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoConfigure uma identidade de trabalho utilizável
  2. 2
    ExemploCrie a conta explicitamente
  3. 3
    ExplicaçãoComplete a configuração da senha e do diretório pessoal
  4. 4
    DicaVerifique o resultado em três lugares
  5. 5
    DesafioUm caminho de diretório pessoal sem o diretório
  6. 6
    ExplicaçãoEscolha uma alteração de senha ou de conta
  7. 7
    ExemploDefina a validade sem confundir as datas
  8. 8
    DesafioMantenha as participações existentes em equipes
  9. 9
    ExplicaçãoAdicione e remova membros de grupos
  10. 10
    ExemploCompare o banco de dados e a sessão
  11. 11
    DesafioCorrija a sessão antes dos arquivos
  12. 12
    ConexãoDê à equipe um local compartilhado para criação
  13. 13
    Ideia-chaveA exclusão deixa a propriedade numérica
  14. 14
    DesafioUma saída tem vários efeitos distintos
  15. 15
    RecapitulaçãoVerifique os registros e a sessão de trabalho
4

Ler um modo e prever uma operação

17 passos
Selecionar a classe de permissão correta, verificar diretórios e escolher alterações com chmod ou de proprietário e grupo.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoPergunte o que o usuário está tentando fazer
  2. 2
    ExemploDivida a listagem em campos
  3. 3
    ExplicaçãoSelecione a primeira trinca correspondente
  4. 4
    DesafioO grupo não prevalece sobre o proprietário
  5. 5
    ExplicaçãoUse o significado de x para cada objeto
  6. 6
    ExemploPercorra um caminho bloqueado
  7. 7
    DesafioUm arquivo somente de leitura em uma pasta gravável
  8. 8
    Ideia-chaveUm interpretador lê um script
  9. 9
    ExplicaçãoAdicione, remova ou defina uma classe
  10. 10
    ExemploConverta 750 uma classe por vez
  11. 11
    DicaMantenha a busca nos diretórios de uma árvore
  12. 12
    DesafioAdicione uma permissão sem substituir as demais
  13. 13
    ExplicaçãoAtribua as identidades corretas
  14. 14
    ExemploCorrija o proprietário de uma pasta de trabalho
  15. 15
    DesafioMover ou criar uma nova cópia?
  16. 16
    DesafioEscolha uma correção de modo ou de proprietário
  17. 17
    RecapitulaçãoRelacione a identidade, o objeto e a ação
5

Controlar novos modos e investigar uma solicitação negada

19 passos
Examinar umask, herança de grupo da equipe, diretórios com sticky bit e a menor correção útil.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoExplique o modo antes de alterá-lo
  2. 2
    ExplicaçãoComece pelo que o programa solicita
  3. 3
    ExemploAplique a máscara 027 a um arquivo
  4. 4
    ExemploTeste o atalho da subtração
  5. 5
    DesafioPreveja dois resultados de criação
  6. 6
    DicaSepare padrões futuros de arquivos existentes
  7. 7
    ExplicaçãoReconheça bits especiais na exibição
  8. 8
    ExemploUm programa recebe poder adicional controlado
  9. 9
    ExemploAcompanhe um novo arquivo na pasta de equipe
  10. 10
    ExplicaçãoProteja nomes em um diretório compartilhado gravável
  11. 11
    DesafioEditar sem permissão para excluir
  12. 12
    DicaLimpe um bit especial explicitamente
  13. 13
    ExplicaçãoFaça quatro perguntas de diagnóstico
  14. 14
    ExemploVerifique primeiro o caminho de Kenji
  15. 15
    ExemploLocalize a permissão ausente
  16. 16
    DesafioPare no diretório pai bloqueado
  17. 17
    ConexãoVerifique a causa de resultados inesperados
  18. 18
    DesafioUm novo padrão e um arquivo existente exigem correções diferentes
  19. 19
    RecapitulaçãoMantenha distintos os mecanismos de permissão

Questões de Usuários, grupos e permissões no Linux

50 Questões de Prática em 5 conjuntos

Conjunto 1: Gerenciar contas e arquivos compartilhados10 Questões de Prática

Questão 1 de 10

Qual modo octal representa rwxr-----?
  1. 750
  2. 740
  3. 640
  4. 704
Mostrar respostaOcultar resposta
Resposta: B
O proprietário tem leitura, escrita e execução, totalizando 7. O grupo tem apenas leitura, totalizando 4, e os outros não têm bits, resultando em 740. O modo 750 é próximo, mas adiciona execução ao grupo, ausente da trinca fornecida.

Questão 2 de 10

Um programa solicita o modo 666 para um novo arquivo sob umask 026. Qual é o modo resultante?
  1. 650
  2. 620
  3. 660
  4. 640
Mostrar respostaOcultar resposta
Resposta: D
A solicitação 666 mantém leitura e escrita para o proprietário. A máscara 026 remove escrita do grupo e leitura e escrita dos outros, então o resultado é 640. O modo 660 pode parecer correto se apenas a máscara dos outros for aplicada, mas o dígito 2 da máscara do grupo também remove sua escrita; as duas classes devem ser processadas separadamente.

Questão 3 de 10

Sob a política padrão de autenticação do sudo, de quem é a senha solicitada por sudo -u postgres psql?
  1. A senha da conta postgres.
  2. A senha da conta root.
  3. A senha do usuário que invoca o comando.
  4. A senha do proprietário de psql.
Mostrar respostaOcultar resposta
Resposta: C
O sudo normalmente autentica o usuário que invoca o comando e depois verifica se a política permite a identidade de destino e o comando solicitados. Selecionar postgres com -u altera o usuário de destino do comando, não a senha que é verificada. Pedir a senha de postgres descreve o comportamento usual do su.

Questão 4 de 10

Mei pertence aos grupos suplementares sudo e editors. Um administrador executa usermod -G reviewers mei. Qual será sua lista suplementar em um novo login?
  1. Apenas reviewers.
  2. sudo, editors e reviewers.
  3. Apenas sudo e reviewers.
  4. Apenas editors e reviewers.
Mostrar respostaOcultar resposta
Resposta: A
Sem -a, usermod trata a lista -G fornecida como a lista suplementar completa. Portanto, Mei perde as duas participações suplementares anteriores. Manter os grupos antigos exigiria o modo de acréscimo, -aG; o comando não dá proteção especial à participação em sudo.

Questão 5 de 10

Uma nova conta precisa do diretório pessoal /data/zoe, criado agora, e de Bash como shell. Qual comando solicita as três coisas?
  1. sudo useradd -d /data/zoe -s /bin/bash zoe
  2. sudo useradd -m -c /data/zoe -s /bin/bash zoe
  3. sudo useradd -m -d /data/zoe -c /bin/bash zoe
  4. sudo useradd -m -d /data/zoe -s /bin/bash zoe
Mostrar respostaOcultar resposta
Resposta: D
-d seleciona o caminho do diretório pessoal, -m o cria e -s define o shell de login. Um comando apenas com -d registra um caminho, mas não solicita explicitamente a criação do diretório. A opção de comentário -c não pode substituir a opção de caminho do diretório pessoal nem a de shell.

Questão 6 de 10

Um administrador renomeia o grupo audit para records sem alterar seu GID. O que acontece com os arquivos atribuídos a esse GID?
  1. Eles passam a ser atribuídos ao grupo de cada criador.
  2. Eles continuam atribuídos ao mesmo grupo.
  3. Eles perdem o grupo proprietário armazenado.
  4. Eles passam a ser atribuídos ao grupo root.
Mostrar respostaOcultar resposta
Resposta: B
Os arquivos registram o grupo proprietário como um GID numérico, então alterar seu nome mantém intacta a ligação de identidade. Uma listagem pode resolver o mesmo número como records após a renomeação. A perda do grupo proprietário é uma preocupação quando o GID numérico muda sem atualizar os arquivos, não quando apenas o nome muda.

Questão 7 de 10

Asha é proprietária de brief.txt e pertence a writers, mas não a sales. Qual alteração de grupo ela pode fazer sem sudo?
  1. chgrp writers brief.txt
  2. chgrp sales brief.txt
  3. chown ben brief.txt
  4. chown ben:sales brief.txt
Mostrar respostaOcultar resposta
Resposta: A
O proprietário de um arquivo pode alterar seu grupo para um dos grupos aos quais pertence, então Asha pode atribuir writers. Alterá-lo para sales ultrapassa essa regra comum do proprietário porque ela não é integrante. Transferir a propriedade para o usuário Ben exige root, mesmo que Asha seja a proprietária atual do arquivo.

Questão 8 de 10

/srv/art está como root:artists com modo 2770. Inez pertence a artists, tem grupo primário inez e umask 027. Ela cria um arquivo solicitando 666. Qual grupo e modo comum resultam?
  1. inez, modo 640.
  2. artists, modo 660.
  3. artists, modo 640.
  4. inez, modo 660.
Mostrar respostaOcultar resposta
Resposta: C
O SGID do diretório atribui artists como grupo do novo arquivo. A umask 027 remove a escrita do grupo e todo o acesso dos outros da solicitação 666, deixando 640. O modo 660 pode parecer correto se SGID for confundido com uma concessão de escrita ao grupo; SGID fornece o grupo proprietário, não essa permissão.

Questão 9 de 10

Uma regra permite %ops ALL=(root) /usr/bin/systemctl reload nginx. Qual ação ela autoriza?
  1. Executar /usr/bin/systemctl reload nginx como root.
  2. Executar /usr/bin/systemctl restart nginx como root.
  3. Executar /usr/bin/systemctl reload ssh como root.
  4. Executar /usr/bin/systemctl stop nginx como root.
Mostrar respostaOcultar resposta
Resposta: A
A regra indica tanto o caminho do executável quanto os argumentos exatos permitidos. Recarregar nginx corresponde a essa ação; reiniciar nginx não, embora gerencie o mesmo serviço. O nome de um programa permitido não torna todos os subcomandos desse programa disponíveis por meio dessa regra.

Questão 10 de 10

Niko pertence a lab. /srv tem 755, /srv/lab está como root:lab com modo 740 e seu arquivo está como ana:lab com modo 640. Todos os diretórios pais anteriores permitem busca. Qual é a menor alteração de classe que permite a Niko ler o arquivo?
  1. Adicionar escrita do grupo ao arquivo.
  2. Adicionar leitura dos outros ao arquivo.
  3. Adicionar escrita do grupo a /srv/lab.
  4. Adicionar execução do grupo a /srv/lab.
Mostrar respostaOcultar resposta
Resposta: D
Niko já tem leitura no arquivo pelo grupo, mas a trinca do grupo em /srv/lab é r--, então ele não pode fazer buscas nesse diretório. Adicionar execução ao grupo fornece a permissão ausente no caminho. Adicionar leitura do arquivo para os outros não ajudaria porque o diretório ainda bloqueia o caminho e Niko usa a classe do grupo.
Conjunto 2: Identificar contas e controlar o acesso10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma conta chamada rescue tem UID 0. Qual poder administrativo essa identidade tem?
  1. Poder de usuário comum, UID à parte.
  2. Poder de root, apesar do nome.
  3. Poder de conta de serviço, pelo nome.
  4. Poder apenas de sudo, até ser renomeado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma conta tem GID primário 1420. O registro do grupo é design:x:1420:. O último campo vazio significa que a conta não pertence a design?
  1. Sim; os integrantes devem ser listados nesse campo.
  2. Sim; design também precisa ser suplementar.
  3. Não; grupos vazios incluem todas as contas.
  4. Não; seu GID primário a torna integrante.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Em nora:x:1042:1042:Nora:/home/nora:/bin/bash, o que significa x?
  1. Os dados de senha estão em /etc/shadow.
  2. A conta não tem um shell de login utilizável.
  3. A conta tem uma senha vazia.
  4. Os dados de senha estão em /etc/group.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um registro shadow tem dia da última alteração 21000, idade máxima 60 e aviso 5. Em qual dia começa seu período de aviso?
  1. Dia 21005.
  2. Dia 21060.
  3. Dia 21055.
  4. Dia 21065.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Por que sudo echo "ready" >> /etc/team-status pode falhar quando somente root pode escrever no arquivo?
  1. O sudo executa echo sem alterar sua identidade.
  2. O echo não pode escrever texto por redirecionamento.
  3. O shell comum abre o destino.
  4. O destino precisa de permissão de execução.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

No Debian com a criação de diretório pessoal desabilitada por padrão, qual opção de useradd cria o diretório pessoal do novo usuário?
  1. -s
  2. -m
  3. -c
  4. -G
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Omar deve substituir uma senha recebida no próximo login, mas a conta deve continuar disponível. Qual comando aplica essa alteração?
  1. sudo passwd -e omar
  2. sudo passwd -l omar
  3. sudo usermod -e 1 omar
  4. sudo userdel omar
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Após a adição a um grupo, id lena inclui media, mas id sem argumentos no shell antigo de Lena não inclui. O que Lena deve fazer antes de tentar novamente o acesso de grupo?
  1. Alterar o GID numérico do grupo.
  2. Criar o grupo uma segunda vez.
  3. Dar aos arquivos o seu grupo privado.
  4. Iniciar uma nova sessão de login.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Ravi é proprietário de um arquivo comum com modo 004 e pertence ao grupo proprietário. Qual classe de permissão comum controla sua tentativa de leitura?
  1. A classe do proprietário, então a leitura é negada.
  2. A classe do grupo, então a leitura é negada.
  3. A classe dos outros, então a leitura é permitida.
  4. As classes combinadas, então a leitura é permitida.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Tariq pertence a docs. /srv está como root:root com modo 755, /srv/notes está como root:docs com modo 750 e a.txt dentro dele está como maya:docs com modo 440. Tariq pode lê-lo e excluí-lo usando permissões comuns?
  1. Ler não; excluir sim.
  2. Ler sim; excluir não.
  3. Ler sim; excluir sim.
  4. Ler não; excluir não.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 3: Prever modos e acesso a diretórios10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Qual alteração simbólica adiciona execução apenas para o proprietário de check.sh, mantendo os outros bits?
  1. chmod a+x check.sh
  2. chmod u=x check.sh
  3. chmod g+x check.sh
  4. chmod u+x check.sh
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Luz tem execução de diretório, mas não leitura de diretório, em /srv/box. Ela conhece o nome exato de um arquivo, e esse arquivo lhe concede leitura. O que ela pode fazer?
  1. Listar os nomes do diretório, mas não ler o arquivo.
  2. Ler o arquivo, mas não listar os nomes do diretório.
  3. Listar os nomes do diretório e ler o arquivo.
  4. Nem listar os nomes nem ler o arquivo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Um programa solicita um novo arquivo comum com 666 sob umask 013. Qual modo comum resulta?
  1. 664
  2. 653
  3. 654
  4. 665
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

O que acontece com um arquivo existente de modo 644 quando seu proprietário executa umask 077?
  1. Ele se torna o modo 600.
  2. Ele se torna o modo 700.
  3. Ele permanece no modo 644.
  4. Ele é 600 após o login.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

O que drwxr-S--- indica sobre os bits SGID e de execução do grupo?
  1. SGID está definido; execução do grupo está ausente.
  2. SGID está ausente; execução do grupo está definida.
  3. SGID e execução do grupo estão definidos.
  4. SGID e execução do grupo estão ausentes.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Um arquivo existente pertencente a ben:ben é movido para uma pasta SGID de equipe no mesmo sistema de arquivos. Qual proprietário e grupo ele mantém?
  1. ben:team
  2. root:team
  3. root:ben
  4. ben:ben
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

/srv/drop está como root:shared com modo 3770. Dev e Eva são integrantes ativos de shared. Eva cria um arquivo solicitando 666 com umask 002. Dev pode editar e excluir o arquivo dela pelas permissões comuns?
  1. Editar não; excluir sim.
  2. Editar sim; excluir não.
  3. Editar sim; excluir sim.
  4. Editar não; excluir não.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma árvore não tem bits especiais: seus diretórios têm 700, seus documentos têm 600 e suas ferramentas executáveis têm 700. O que chmod -R u=rwX,g=rX,o= tree/ produz?
  1. Diretórios 740; documentos 640; ferramentas 740.
  2. Diretórios 750; documentos 650; ferramentas 750.
  3. Diretórios 750; documentos 640; ferramentas 750.
  4. Diretórios 755; documentos 644; ferramentas 755.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

O diretório está como root:review com modo 705. Sam pertence a review e não é root. Quais permissões de diretório Sam recebe das classes comuns?
  1. Leitura e execução.
  2. Nenhuma permissão de diretório.
  3. Escrita e execução.
  4. Apenas leitura.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Oli pode ler x.txt, mas não pode renomeá-lo dentro de um diretório root:team com modo 1750; Oli pertence a team e é proprietário de x.txt. Qual é a menor alteração de permissão que permite a renomeação mantendo o sticky bit?
  1. Adicionar escrita do proprietário ao arquivo.
  2. Remover o sticky bit do diretório.
  3. Adicionar escrita do grupo ao diretório.
  4. Adicionar escrita dos outros ao diretório.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 4: Escolher alterações administrativas seguras10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Qual ferramenta bloqueia e verifica a sintaxe de um arquivo de política do sudoers durante a edição?
  1. visudo
  2. usermod
  3. sudoedit
  4. gpasswd
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Um sistema inclui /etc/sudoers.d/, mas a regra válida em release.conf não é aplicada. Qual alteração no nome permite que esse arquivo de regra seja lido?
  1. Renomeá-lo para release.conf~.
  2. Renomeá-lo para .release.
  3. Renomeá-lo para release.
  4. Renomeá-lo para release.rules.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

A senha de um usuário está bloqueada, mas seu login por chave SSH ainda funciona. Qual alteração na conta impede logins futuros sem excluir seus arquivos?
  1. Fazer expirar apenas a senha do usuário.
  2. Definir uma idade mínima de senha maior.
  3. Remover o caminho do diretório pessoal do registro da conta.
  4. Definir uma data de expiração da conta no passado.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Qual comando altera apenas o grupo de draft.txt para authors?
  1. chown authors draft.txt
  2. chgrp authors draft.txt
  3. chmod authors draft.txt
  4. usermod -g authors draft.txt
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um auxiliar pode executar um script de backup pertencente a root por meio de sudo com NOPASSWD, mas pode escrever nesse script. Por que essa regra concede mais poder do que um único backup fixo?
  1. O auxiliar pode dispensar apenas a solicitação de senha do script.
  2. O auxiliar pode substituir seu conteúdo por comandos de root.
  3. O auxiliar pode alterar apenas a saída do backup como root.
  4. O auxiliar pode executar apenas os comandos originais como root.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

O usuário pat com UID 1088 é excluído, deixando /data/archive pertencente a 1088. Uma nova conta recebe o UID 1088. O que explica seu acesso a esse arquivo como proprietária?
  1. O arquivo lembra o nome de login excluído.
  2. Excluir um usuário torna públicos os seus arquivos.
  3. A propriedade segue o UID numérico reutilizado.
  4. Novas contas herdam as permissões de grupo dos arquivos antigos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Rae pode ler, mas não editar memo em /srv/review. O diretório está como root:review com 2750 e memo está como jo:review com 640; Rae pertence a review. Rae precisa apenas alterar o conteúdo no próprio arquivo. Qual é a menor correção que atende a essa necessidade?
  1. Adicionar escrita do grupo a memo.
  2. Adicionar escrita de grupo do diretório.
  3. Definir o diretório como 2777.
  4. Fazer Rae possuir o diretório.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Duas contas escolhem a mesma senha, mas seus hashes armazenados são diferentes. Como os sais criptográficos podem explicar isso?
  1. Um sal criptografa cada senha para descriptografia posterior.
  2. Um sal altera o UID de cada conta a cada login.
  3. Sais diferentes eliminam a necessidade de verificar senhas.
  4. Sais diferentes tornam diferentes os cálculos de hash.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

No GNU/Linux, um diretório de equipe começa com 2770. Um administrador executa chmod 750 team/ e depois cria um subdiretório dentro dele. Qual comportamento dos bits especiais deve esperar?
  1. O diretório pai perde SGID, e o novo subdiretório não o tem.
  2. O diretório pai mantém SGID, mas o novo subdiretório não o tem.
  3. O diretório pai mantém SGID, e o novo subdiretório o herda.
  4. O diretório pai perde SGID, mas o novo subdiretório ganha SUID.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

O grupo research ainda é o grupo primário de Kim. Por que o groupdel research comum recusa a exclusão, mesmo após Kim ser removido da lista de integrantes suplementares?
  1. O GID primário de Kim ainda se refere a research.
  2. O grupo deve primeiro receber um novo nome.
  3. A lista vazia de integrantes bloqueia o grupo.
  4. Todo grupo deve manter um integrante suplementar.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 5: Investigar o acesso por usuários e caminhos10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Você precisa do UID e dos grupos ativos do shell que tenta uma operação de arquivo. Qual comando deve ser executado nesse shell?
  1. who
  2. last
  3. id
  4. getent group
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma pertence ao grupo qa. /srv tem 755; /srv/qa está como root:qa com modo 2710, e result dentro dele está como lee:qa com modo 640. Todos os diretórios pais anteriores permitem busca. Uma pode listar nomes, ler o arquivo conhecido e criar um novo arquivo?
  1. Listar sim; ler sim; criar não.
  2. Listar não; ler sim; criar não.
  3. Listar não; ler não; criar não.
  4. Listar não; ler sim; criar sim.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Uma equipe precisa que novos arquivos comuns tenham 660 e novos diretórios tenham 770. Os programas solicitam 666 e 777, respectivamente. Qual umask fornece os dois resultados?
  1. 007
  2. 006
  3. 017
  4. 027
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Uma ação sudo permitida deve acrescentar a linha “complete” ao arquivo protegido /var/log/team-run. Qual comando eleva os privilégios do processo que escreve e preserva o conteúdo anterior?
  1. sudo echo "complete" >> /var/log/team-run
  2. echo "complete" | sudo tee /var/log/team-run
  3. sudo echo "complete" > /var/log/team-run
  4. echo "complete" | sudo tee -a /var/log/team-run
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um usuário que não é root cria uma nova cópia comum do arquivo de um colega com cp sem opções. Quem é proprietário do novo arquivo de destino?
  1. O proprietário do arquivo de origem.
  2. O usuário que executa cp.
  3. O proprietário do diretório.
  4. O administrador do grupo do arquivo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Noor pertence a edit. /srv/edit está como root:edit com 2770. Noor pode criar arquivos ali, mas um arquivo existente kai:edit tem 640 e ela não pode acrescentar conteúdo. Quem cria arquivos usa programas que solicitam modo 666. Qual alteração na criação futura de arquivos comuns permite que colegas acrescentem conteúdo sem abrir os arquivos aos outros?
  1. Definir o modo do diretório como 3770.
  2. Definir a umask de quem cria como 027.
  3. Limpar o bit SGID do diretório.
  4. Definir a umask de quem cria como 007.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

O grupo editors altera seu GID de 1620 para 1720. Arquivos existentes do projeto ainda mostram o grupo numérico 1620. O que explica esse resultado?
  1. O registro do grupo mudou, mas os GIDs armazenados nesses arquivos não.
  2. A renomeação alterou os proprietários dos arquivos em vez dos grupos.
  3. Os arquivos receberam os grupos primários atuais de quem os criou.
  4. A lista de integrantes redefiniu os bits de permissão de grupo dos arquivos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma listagem de diretório mostra o modo drwxrwx---, proprietário teo, grupo build. Teo também pertence a build. Qual classe é usada para o acesso comum de Teo?
  1. Grupo, porque Teo pertence a build.
  2. As duas classes, porque Teo corresponde a ambas.
  3. Proprietário, porque essa correspondência é verificada primeiro.
  4. Outros, porque é um diretório.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Um diretório gravável está como mira:team com modo 1770. Ren pertence a team; Sol é proprietário de uma entrada ali. Quem entre Mira e Ren pode excluir a entrada de Sol segundo os bits comuns e a regra do sticky bit?
  1. Tanto Mira quanto Ren podem.
  2. Ren pode; Mira não pode.
  3. Nem Mira nem Ren podem.
  4. Mira pode; Ren não pode.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um integrante ativo de ops não tem outras regras sudo. A política primeiro concede NOPASSWD: /usr/bin/systemctl restart nginx a ops, depois uma regra correspondente posterior usa PASSWD: para o mesmo comando. Sem um registro de autenticação válido, o que acontece nessa ação permitida?
  1. O sudo exige autenticação.
  2. O sudo dispensa autenticação.
  3. O sudo recusa a ação porque os marcadores diferem.
  4. O sudo exige a senha do usuário de destino.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Travou em uma questão sua? Ajuda com Tarefas

Termos-Chave

77 Termos-Chave, cada um com sua definição

A

adduser
Adduser é um script interativo de criação de contas em sistemas da família Debian, enquanto sistemas da família Red Hat o usam como outro nome para useradd.
No Debian, adduser solicita dados da conta e cria o diretório pessoal do novo usuário durante a configuração.
Alteração recursiva
Uma alteração recursiva aplica uma operação a um diretório e a seus descendentes, geralmente solicitada com a opção -R do comando.
Uma alteração recursiva para 755 adicionaria execução a documentos comuns, além de busca em diretórios.
Arquivo group
O arquivo group em /etc/group armazena nomes de grupos, marcadores de senha, GIDs e listas de nomes de integrantes suplementares.
Uma lista vazia de integrantes no arquivo group pode coexistir com contas que usam esse grupo como primário.
Arquivo órfão
Um arquivo órfão é um arquivo cujo UID proprietário armazenado não corresponde mais a uma conta de usuário existente no sistema.
Reutilizar o UID de um usuário excluído pode dar a outra conta permissões de proprietário sobre um arquivo órfão.
Arquivo passwd
O arquivo passwd é o banco de dados público de contas em /etc/passwd, que armazena nomes, identificadores, caminhos de diretórios pessoais, comentários e shells de login.
Um registro do arquivo passwd pode mostrar que uma conta usa Bash e tem seu diretório pessoal em /home.
Arquivo shadow
O arquivo shadow é o banco de dados protegido em /etc/shadow que armazena hashes de senhas locais e campos de validade de contas.
Um administrador lê os campos de validade do arquivo shadow para investigar quando uma senha expirará.

B

Bit de restrição de exclusão (sticky bit)
O bit de restrição de exclusão restringe a exclusão e a renomeação em um diretório ao proprietário do arquivo, ao proprietário do diretório ou a root, ainda exigindo o acesso normal.
O sticky bit em /tmp permite que usuários criem arquivos temporários sem permitir que removam as entradas uns dos outros.
Bloqueio de senha
Um bloqueio de senha é uma alteração que torna a senha armazenada inutilizável para autenticação, geralmente colocando ! antes de seu hash.
Um bloqueio de senha por si só pode deixar disponível o login de um usuário por chave SSH, pois esse método dispensa a senha.

C

Campo GECOS
O campo GECOS é o campo de comentário em um registro passwd, geralmente usado para o nome completo de uma pessoa ou outra descrição da conta.
No registro passwd de priya, o campo GECOS contém “Priya Shah” enquanto o nome de login continua sendo o mais curto priya.
chage
Chage é o comando de gerenciamento de contas para consultar e alterar campos de validade de senha e a data de expiração da conta.
Um administrador usa chage -l lea para consultar as datas antes de alterar as configurações de validade da conta.
chgrp
Chgrp é o comando que altera apenas o grupo proprietário; um proprietário comum pode selecionar um grupo ao qual pertence.
Um usuário usa chgrp editors draft.txt em seu próprio arquivo após entrar no grupo editors.
chmod
Chmod é o comando que altera bits de permissão em um arquivo ou diretório quando executado por seu proprietário ou por um usuário com os privilégios adequados.
Um usuário executa chmod g+w draft.txt para permitir que o grupo proprietário de seu arquivo altere o conteúdo do documento.
chown
Chown é o comando que altera o usuário proprietário, o grupo ou ambos de um objeto; transferir a propriedade para outro usuário exige privilégio administrativo.
Um administrador usa chown lea:editors draft.txt para atribuir tanto o proprietário quanto o grupo do arquivo.
Classe do grupo
A classe do grupo é o conjunto de permissões comuns selecionado para alguém que não é proprietário e cujos grupos ativos incluem o GID proprietário de um objeto.
Um integrante da equipe recebe a classe do grupo em um relatório pertencente a outro usuário, mas atribuído à sua equipe.
Classe do proprietário
A classe do proprietário é o conjunto de permissões comuns selecionado quando a identidade de usuário de um processo corresponde ao UID proprietário de um objeto.
O acesso de um proprietário usa a classe do proprietário mesmo quando a trinca dos outros concede mais permissões.
Classe dos outros
A classe dos outros é o conjunto de permissões comuns selecionado quando um processo não corresponde nem ao usuário proprietário nem ao grupo proprietário.
Um visitante fora da equipe recebe a classe dos outros, que é --- em um relatório com modo 640.
Conta de sistema
Uma conta de sistema é uma conta usada para executar um serviço com suas próprias permissões limitadas, geralmente com um shell de login não interativo.
A conta de sistema www-data permite que um serviço web seja executado sem usar a conta comum de uma pessoa.
Conta de usuário
Uma conta de usuário é uma identidade atribuída a uma pessoa ou serviço para que o Linux possa decidir o que seus processos podem acessar.
Um serviço web usa uma conta de usuário com acesso aos arquivos de seu site e acesso limitado a outros locais.

D

Dígito de permissões especiais
Um dígito de permissões especiais é o dígito octal inicial que combina SUID 4, SGID 2 e sticky 1 antes dos nove bits comuns de permissão.
O dígito de permissões especiais 3 em 3770 define SGID e sticky em um diretório compartilhado.
Diretório de modelos
Um diretório de modelos contém arquivos iniciais copiados para um novo diretório pessoal e normalmente fica em /etc/skel.
Um administrador adiciona .bash_aliases ao diretório de modelos para contas criadas posteriormente.
Diretório pessoal
Um diretório pessoal é o diretório de trabalho pessoal de uma conta, cujo caminho é armazenado em seu registro passwd e frequentemente começa com /home.
Um diretório pessoal registrado como /data/lea ainda precisa ser criado se não existir.

E

Entrada de diretório
Uma entrada de diretório é um nome armazenado em um diretório que se refere a um arquivo ou outro objeto no sistema de arquivos.
Excluir uma entrada de diretório exige permissões no diretório que a contém, não escrita no conteúdo do arquivo.
Entrada Defaults
Uma entrada Defaults é uma configuração do sudoers que altera o comportamento da política, como a duração do registro de autenticação ou o registro adicional em log.
Uma entrada Defaults com timestamp_timeout=10 define um intervalo de autenticação de dez minutos.
Especificação de identidade de execução (runas)
Uma especificação de identidade de execução é a parte entre parênteses de uma regra do sudoers que indica as identidades de usuário ou grupo que um comando pode usar.
A especificação de identidade de execução (root) restringe uma ação de manutenção à execução sob a identidade de root.
Expiração da conta
A expiração da conta é uma data após a qual logins futuros por uma conta são desabilitados, separadamente da validade da senha.
Definir a expiração da conta para um dia no passado bloqueia logins futuros sem excluir o diretório pessoal.
Expiração da senha
A expiração da senha é o momento em que uma senha deve ser substituída, seja porque sua idade máxima foi atingida ou porque uma alteração foi forçada.
passwd -e provoca a expiração da senha para que um usuário substitua uma senha temporária recebida.

G

gpasswd
Gpasswd é um comando de gerenciamento de grupos que pode adicionar ou remover integrantes suplementares ou substituir a lista de integrantes de um grupo.
gpasswd -a lea editors adiciona Lea sem substituir os outros integrantes suplementares do grupo editors.
groupadd
Groupadd é o comando que cria um registro de grupo com um GID escolhido ou atribuído automaticamente para posteriores participações e atribuições de grupo proprietário a arquivos.
Após executar groupadd, o administrador confirma o novo grupo de equipe com getent group.
groupmod
Groupmod é o comando para alterar o nome ou o GID de um grupo, duas operações com efeitos diferentes sobre o grupo proprietário de arquivos existentes.
Uma alteração de nome com groupmod mantém o GID, então os arquivos continuam associados ao grupo renomeado.
Grupo
Um grupo é uma identidade de acesso com nome e GID numérico que permite a um administrador compartilhar permissões de arquivo com várias contas.
Atribuir um relatório ao grupo editors torna sua trinca de permissões de grupo útil para essa equipe.
Grupo primário
Um grupo primário é o único grupo principal de uma conta, registrado pelo GID no passwd e normalmente usado para seus novos arquivos.
Para um usuário cujo grupo primário é mina, um novo arquivo normalmente começa com esse grupo fora de uma pasta SGID.
Grupo privado de usuário
Um grupo privado de usuário é um grupo primário criado para um usuário correspondente, normalmente com esse usuário como único integrante.
Atribuir um arquivo ao grupo privado de um usuário não o compartilha com o restante da equipe desse usuário.
Grupo suplementar
Um grupo suplementar é uma participação adicional em grupo que um processo pode usar para acesso junto com seu grupo primário.
A participação no grupo suplementar design permite que um usuário use as permissões de design em arquivos compartilhados.
Grupos ativos
Grupos ativos são as identidades de grupo mantidas atualmente por um processo em execução, que podem estar desatualizadas em relação às participações atualizadas no banco de dados de contas.
id sem argumentos mostra os grupos ativos no shell antigo de um usuário antes de ele iniciar uma nova sessão de login.

H

Hash de senha
Um hash de senha é um resultado unidirecional usado para verificar uma senha informada sem armazenar a senha original como texto legível.
No login, um hash de senha é calculado usando o método e o sal armazenados e depois comparado ao registro.
Herança de grupo
A herança de grupo é a atribuição do grupo de um diretório SGID a arquivos recém-criados, independentemente do grupo primário de quem os cria.
Em um diretório SGID do grupo editors, a herança de grupo faz um novo relatório pertencer a editors, mas seu próprio modo decide se editors pode escrever nele.

I

Identificação numérica do proprietário e do grupo
A identificação numérica do proprietário e do grupo é o armazenamento do usuário e do grupo proprietários de um objeto como números UID e GID, em vez de nomes de contas em texto.
A identificação numérica do proprietário e do grupo explica por que uma listagem pode mostrar apenas um número após a remoção de uma conta.
Identificador de grupo (GID)
Um identificador de grupo, ou GID, é o número armazenado para um grupo em registros de contas e metadados de arquivos, mesmo quando ferramentas exibem um nome de grupo.
Alterar um identificador de grupo exige verificar arquivos que ainda contêm a atribuição numérica de grupo antiga.
Identificador de usuário (UID)
Um identificador de usuário, ou UID, é o número que o Linux usa para identificar uma conta ao verificar a propriedade de processos e arquivos.
O identificador de usuário em uid=1051(ava) identifica Ava mesmo que o nome de sua conta seja alterado depois.
Identificador efetivo de usuário
Um identificador efetivo de usuário é a identidade de usuário usada nas verificações de acesso de um processo, que um executável SUID pode receber do proprietário de seu arquivo.
Um programa SUID pertencente a root pode usar o identificador efetivo de usuário 0 enquanto controla as ações que quem o invoca pode solicitar.
Indicador de lista de controle de acesso (ACL)
Um indicador de lista de controle de acesso é um sinal de mais após a sequência de permissões em uma listagem, indicando entradas adicionais de lista de controle de acesso.
Uma listagem terminada em -rw-r-----+ tem um indicador de ACL além das nove posições comuns de permissão.
Interpretador
Um interpretador é um programa que lê e executa as instruções de um script, como o Bash ao receber um script de shell.
Um interpretador pode ler task.sh por meio de bash task.sh mesmo quando o script não tem bit de execução.

M

Marcador NOPASSWD
Um marcador NOPASSWD é uma configuração do sudoers que remove a exigência de autenticação por senha para comandos permitidos correspondentes.
Um marcador NOPASSWD pode permitir a execução de um backup automatizado, mas seu script executado como root deve permanecer protegido contra edições.
Máscara de criação de arquivos (umask)
Uma umask é uma máscara por processo que remove bits comuns de permissão selecionados do modo solicitado para um objeto recém-criado.
Uma umask de 027 transforma uma solicitação usual de arquivo 666 no modo 640 e uma solicitação de diretório 777 em 750.
Máscara herdada
Uma máscara herdada é uma configuração de umask recebida por um processo filho de seu processo pai, afetando as criações posteriores de arquivos pelo filho.
Uma máscara herdada do shell pode determinar as permissões padrão de um arquivo criado por seu editor.
Modo de permissões solicitado na criação
O modo de permissões solicitado na criação é o modo inicial que um programa fornece ao pedir que o sistema de arquivos crie um arquivo ou diretório.
O modo solicitado na criação por um editor de texto geralmente não tem bits de execução, então uma máscara não pode tornar seu novo texto executável.
Modo octal
Um modo octal representa bits de permissão com dígitos, somando leitura 4, escrita 2 e execução 1 separadamente para cada classe.
O modo octal 750 significa que o proprietário recebe rwx, o grupo recebe r-x e os outros não recebem permissões.
Modo simbólico
Um modo simbólico é uma expressão do chmod que indica classes de permissão, um operador e bits, como g+w para adicionar escrita ao grupo.
O modo simbólico go-w remove a escrita do grupo e dos outros, mantendo suas permissões restantes.
Movimentação dentro do mesmo sistema de arquivos
Uma movimentação dentro do mesmo sistema de arquivos muda o local de um arquivo existente sem criar um novo arquivo, mantendo seu proprietário e grupo armazenados.
Uma movimentação dentro do mesmo sistema de arquivos para um diretório SGID mantém inalterado o grupo antigo de um arquivo existente.

N

namei
Namei é um comando de inspeção de caminhos cuja saída com -l mostra informações de proprietário, grupo e permissões dos componentes ao longo de um caminho de arquivo.
Um administrador usa namei -l para encontrar um diretório pai que bloqueia o acesso a um arquivo legível.
newgrp
Newgrp é um comando que inicia um shell usando um grupo selecionado como grupo primário, permitindo trabalhar com essa identidade de grupo.
Após uma atualização de participação, um usuário inicia newgrp editors e verifica a identidade do novo shell com id.

O

Opções de montagem
Opções de montagem são configurações do sistema de arquivos que podem determinar o proprietário, o grupo e os modos apresentados para mídias sem campos nativos de permissão do Linux.
Em uma unidade exFAT, as opções de montagem podem controlar o acesso exibido enquanto chmod por arquivo não tem efeito útil.

P

Período de inatividade da senha
Um período de inatividade da senha é o intervalo permitido após a expiração da senha antes de a conta se tornar inativa segundo essa política.
Um período de inatividade da senha vazio deixa sem definição esse limite específico após a expiração.
Permissão de busca em diretório
A permissão de busca em diretório é o significado da execução em um diretório, permitindo que um processo procure o nome de uma entrada conhecida dentro dele.
Com permissão de busca, mas sem leitura do diretório, um usuário pode abrir um arquivo legível conhecido sem listar os arquivos ao lado dele.
Permissão de escrita
A permissão de escrita permite alterar o conteúdo de um arquivo; em um diretório, permite alterar entradas quando a permissão de busca também está presente.
A permissão de escrita de um arquivo pode permitir acrescentar conteúdo enquanto a ausência do bit de leitura impede a visualização do conteúdo antigo.
Permissão de execução
A permissão de execução permite executar um arquivo comum como programa; em um diretório, permite fazer buscas e entrar nele.
A falta de permissão de execução em um diretório pai pode bloquear o acesso a um relatório que, de outra forma, seria legível.
Permissão de execução condicional
A permissão de execução condicional é o X maiúsculo do chmod, que seleciona execução para diretórios e arquivos que já têm um bit de execução.
A execução condicional impede que uma alteração recursiva torne todo documento comum um arquivo executável.
Permissão de leitura
A permissão de leitura permite ler o conteúdo de um arquivo, enquanto em um diretório permite listar os nomes das entradas.
A permissão de leitura em um diretório, por si só, pode revelar nomes sem permitir que os arquivos sejam abertos.
Política do sudoers
Uma política do sudoers é o conjunto de regras que especifica quais usuários ou grupos podem executar quais comandos em quais sistemas hospedeiros e sob quais identidades de destino.
A política do sudoers permite que uma equipe recarregue um serviço sem autorizar um shell de root irrestrito.
Princípio do menor privilégio
O princípio do menor privilégio consiste em conceder a uma conta apenas o acesso necessário para seu trabalho, incluindo permissões restritas de arquivo e comandos administrativos.
Conceder leitura ao grupo em um relatório segue o princípio do menor privilégio mais de perto do que tornar uma árvore inteira gravável.
Processo
Um processo é uma instância em execução de um programa que carrega uma identidade de usuário e identidades de grupo usadas em decisões de acesso.
Dois processos podem executar o mesmo programa e ter acessos diferentes porque seus usuários são diferentes.

R

Redirecionamento
Redirecionamento é o tratamento pelo shell da entrada ou saída de um comando por meio de um arquivo, como a abertura de um destino para acréscimo com >>.
O redirecionamento pode falhar antes de sudo echo iniciar porque o shell comum abre o arquivo protegido.
Registro de data e hora da autenticação
Um registro de data e hora da autenticação é o registro temporário do sudo de que um usuário se autenticou recentemente, permitindo chamadas posteriores autorizadas sem nova solicitação.
Após terminar a manutenção, um administrador invalida seu registro de data e hora da autenticação com sudo -k.
Remoção de bits
Remoção de bits significa limpar indicadores de permissão selecionados independentemente, mantendo ausente um indicador que já estava ausente.
A remoção de bits com máscara 033 altera uma solicitação de arquivo de 666 para 644, não para 633, resultado da subtração.
Responsabilização
Responsabilização é a capacidade de associar uma ação à conta que a realizou, usando registros como logs de comandos e de login.
Contas de administrador separadas e identificadas melhoram a responsabilização ao analisar ações sudo registradas.

S

Sal criptográfico
Um sal criptográfico é um valor aleatório incluído no cálculo do hash de senha para que senhas iguais possam produzir hashes armazenados diferentes.
Dois usuários podem escolher a mesma senha e ainda ter hashes armazenados diferentes porque cada um usa um sal diferente.
SGID
SGID concede a um executável a identidade de grupo de seu arquivo ou faz com que novas entradas em um diretório herdem o grupo desse diretório.
SGID em uma pasta de equipe mantém novos arquivos atribuídos à equipe mesmo quando quem os cria tem grupos primários privados.
Shell de bloqueio de login (nologin)
Um shell de bloqueio de login é um programa definido como shell de uma conta para recusar um login comum em shell interativo sob essa identidade.
Um serviço de backup usa um shell de bloqueio de login porque precisa de uma identidade de serviço, não de uma sessão de shell de uma pessoa.
Shell de login
Um shell de login é um shell iniciado com a configuração de login, carregando o ambiente da conta de destino e os arquivos de inicialização aplicáveis.
sudo -i inicia um shell de login de root, então comandos posteriores nesse shell são executados sob a identidade de root.
su
Su é um comando que inicia um shell como outro usuário, normalmente pedindo a senha dessa conta de destino antes de trocar de identidade.
Um usuário usa su - bob para iniciar o ambiente de login de Bob e depois digita exit para voltar ao seu próprio shell.
sudo
Sudo é um comando que verifica a política e executa uma ação autorizada como outro usuário, normalmente root, com registro da tentativa.
Um usuário usa sudo para reiniciar um serviço e depois edita seus próprios arquivos de projeto sem privilégios elevados.
SUID
SUID é um bit especial em um executável que faz com que ele seja executado com a identidade efetiva de usuário do proprietário do arquivo.
SUID no programa passwd permite que sua atualização controlada de senha acesse dados protegidos sem um shell de root.
Superusuário (root)
Root é a identidade de superusuário com UID 0, capaz de administrar contas e contornar restrições comuns de leitura e escrita de arquivos.
Um comando executado como root pode modificar registros protegidos de contas que um usuário comum não pode alterar.

T

Trinca de permissões
Uma trinca de permissões é um conjunto ordenado de posições de leitura, escrita e execução pertencente à classe do proprietário, do grupo ou dos outros.
No modo 640, a trinca de permissões do grupo é r--, então seus integrantes podem ler, mas não editar o arquivo.

U

useradd
Useradd é o comando de baixo nível que cria registros de conta, usando opções e padrões do sistema para escolher a configuração da conta.
Um administrador executa useradd com -m e -s para criar um diretório pessoal e selecionar um shell de login.
usermod
Usermod é o comando para alterar dados de uma conta existente, incluindo seu shell de login, caminho do diretório pessoal e participações em grupos.
Adicionar -a a usermod -G preserva participações suplementares anteriores ao acrescentar uma nova.

V

visudo
Visudo é a ferramenta de edição do sudoers que bloqueia um arquivo de política e verifica sua sintaxe antes de aceitar a versão editada.
Um administrador executa visudo em um arquivo de política de equipe para detectar um erro de digitação antes de salvá-lo.

Sobre esta aula

Por StudeliRelatar um erro

Crie seus próprios Materiais de Estudo

Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.

Começar