English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
用户账号的添加、删除与修改。
用户口令的管理。
用户组的管理。
用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
useradd opção usuário
Descrição dos parâmetros:
Opções:
-c comentário especificar uma descrição descritiva.
-d Diretório especificar o diretório do diretório principal do usuário, se este diretório não existir, usar-a opção m, pode criar um diretório principal.
-g Grupo especificar o grupo do usuário.
-G Grupo, grupo especificar os grupos adicionais do usuário.
-s Arquivo Shell especificar o Shell de login do usuário.
-u Número de usuário especificar o número de usuário do usuário, se houver-a opção o, pode usar novamente o número de identificação de outro usuário.
Nome de usuário:
especificar o nome de login da nova conta.
# useradd –d /home/sam -m sam
Este comando cria um usuário chamado sam, onde-d e-a opção m é usada para gerar um diretório principal para o nome de login sam /home/sam (/home é o diretório pai do diretório principal padrão do usuário).
# useradd -s /bin/sh -g group –G adm,root gem
Este comando cria um usuário chamado gem, cujo Shell de login é /bin/sh, que pertence ao grupo de usuários group, e também ao grupo de usuários adm e root, onde o grupo de usuários group é o grupo principal.
aqui pode criar novos grupos: #groupadd group e groupadd adm
adicionar conta de usuário é/etc/adicionar um registro para o novo usuário no arquivo passwd e atualizar outros arquivos do sistema como/etc/shadow, /etc/group, etc.
O Linux oferece o ferramenta de gerenciamento de sistema integrado userconf, que pode ser usado para gerenciar contas de usuário de forma unificada.
Se a conta de um usuário não for mais usada, pode ser excluída do sistema. Excluir a conta de usuário significa/etc/Excluir a conta de usuário é excluir o registro do usuário das configurações do sistema como passwd e, se necessário, excluir o diretório principal do usuário.
Para excluir uma conta de usuário existente usando o comando userdel, o formato é o seguinte:
userdel opção usuário
Opções comuns incluem -r, cuja função é excluir o diretório principal do usuário.
groupdel Grupo de usuários
# userdel -r sam
Este comando exclui o usuário sam dos arquivos do sistema (principalmente/etc/passwd, /etc/shadow, /etc/e registros do grupo (entre outros) ao mesmo tempo, e excluir o diretório principal do usuário.
Modificar a conta de usuário é alterar atributos relacionados ao usuário conforme a situação real, como número de usuário, diretório principal, grupo de usuário, Shell de login etc.
Para modificar informações de usuário existente usando o comando usermod, o formato é o seguinte:
usermod opção usuário
Opções comuns incluem-c, -d, -m, -g, -G, -s, -u e-o etc., essas opções têm o mesmo significado que as opções do comando useradd, permitindo especificar novos valores de recursos para o usuário.
Além disso, alguns sistemas podem usar as opções:-l Novo nome de usuário
Esta opção especifica uma nova conta, ou seja, muda o nome de usuário antigo para o novo nome de usuário.
groupdel Grupo de usuários
# usermod -s /bin/ksh -d /home/z –g developer sam
Este comando modificará o Shell de login do usuário sam para ksh e o diretório principal para/home/z, o grupo de usuários muda para developer.
Um conteúdo importante da gestão de usuários é a gestão de senhas de usuários. Quando a conta de usuário é criada, não há senha, mas é bloqueada pelo sistema e não pode ser usada. É necessário especificar uma senha antes de poder usá-la, mesmo que seja uma senha vazia.
O comando Shell usado para especificar e modificar senhas de usuários é passwd. O superusuário pode especificar senhas para si mesmo e para outros usuários, enquanto o usuário comum pode usá-lo apenas para modificar sua própria senha. O formato do comando é:
passwd opção usuário
Opções disponíveis:
-l Bloquear a senha, ou seja, desativar a conta.
-u Desbloquear a senha.
-d Fazer a conta sem senha.
-f Forçar o usuário a modificar a senha na próxima vez que fizer login.
Se o nome de usuário padrão, modificará a senha do usuário atual.
Por exemplo, supondo que o usuário atual seja sam, o seguinte comando modificará a senha do próprio usuário sam:
$ passwd Senha antiga:****** Nova senha:******* Re-Insira a nova senha:*******
Se for superusuário, pode especificar a senha de qualquer usuário da seguinte forma:
# passwd sam Nova senha:******* Re-Insira a nova senha:*******
Quando um usuário comum modifica sua senha, o comando passwd primeiro perguntará pela senha antiga, verificará e exigirá que o usuário insira duas vezes a nova senha, se as duas senhas inseridas forem idênticas, essa senha será atribuída ao usuário; enquanto o superusuário, ao especificar a senha para um usuário, não precisa saber a senha antiga.
Para a segurança do sistema, o usuário deve escolher uma senha mais complexa, por exemplo, é melhor usar8De comprimento da senha, que contém letras maiúsculas, minúsculas e números, e deve ser diferente do nome, data de nascimento e outros.
Quando se especifica uma senha vazia para o usuário, execute o comando na seguinte forma:
# passwd -d sam
Este comando remove a senha do usuário sam, então, na próxima vez que o usuário sam tentar fazer login, o sistema não permitirá que ele faça login.
O comando passwd também pode ser -l(lock) opção para bloquear um usuário, impedindo-o de fazer login, por exemplo:
# passwd -sam
Cada usuário tem um grupo de usuários, e o sistema pode gerenciar todos os usuários de um grupo de usuários de forma centralizada. Diferentes sistemas Linux têm especificações diferentes para grupos de usuários, como no Linux, os usuários pertencem ao grupo de nome correspondente, que é criado ao mesmo tempo que o usuário é criado.
A gestão de grupos de usuários envolve a adição, exclusão e modificação de grupos de usuários. A adição, exclusão e modificação de grupos na verdade é/etc/Atualização do arquivo group.
、 Adicione um novo grupo de usuários usando o comando groupadd. Seu formato é o seguinte:
groupadd Opção Grupo de usuários
-As opções disponíveis incluem:
-g GID Define o identificador de grupo (GID) do novo grupo de usuários.-o Geralmente usado com
g Opção usada ao mesmo tempo, o GID do novo grupo de usuários pode ser o mesmo que o GID do grupo de usuários existente no sistema.1
# groupadd1# groupadd group1。
o identificador do novo grupo é adicionado com base no maior identificador de grupo existente no momento -g 101 group2
# groupadd2Este comando adiciona um novo grupo group ao sistema101。
、 Se desejar excluir um grupo de usuários existente, use o comando groupdel, cujo formato é o seguinte:
Por exemplo:1
# groupdel group1。
、 Use o comando groupmod para modificar as propriedades do grupo de usuários. Sua sintaxe é a seguinte:
groupmod Opção Grupo de usuários
-g GID Define um novo identificador de grupo para o grupo de usuários. As opções comuns incluem:
-o Com-g Opção usada ao mesmo tempo, o novo GID do grupo de usuários pode ser o mesmo que o GID do grupo de usuários existente no sistema.
-nNovo grupo de usuários Altera o nome do grupo de usuários para um novo nome
# groupmod -g 102 group2
Este comando altera o identificador do grupo group2o identificador do grupo é alterado para102。
# groupmod –g 10000 -n group3 group2
Este comando altera o identificador do grupo group2o identificador é alterado para10000, e o nome do grupo é alterado para group3。
Os usuários podem usar o comando newgrp para mudar para outros grupos de usuários após o login, e os parâmetros deste comando são os grupos de usuários de destino. Por exemplo:
$ newgrp root
Este comando muda o usuário atual para o grupo root, desde que o grupo root seja o grupo principal ou adicional do usuário. Semelhante à gestão de contas de usuário, a gestão de grupos de usuários também pode ser realizada através de ferramentas de gestão de sistema integradas.
Existem muitas maneiras de realizar o trabalho de gestão de usuários, mas cada uma dessas maneiras, na verdade, envolve a modificação dos arquivos do sistema relevantes.
As informações relacionadas a usuários e grupos de usuários são armazenadas em alguns arquivos do sistema, incluindo/etc/passwd, /etc/shadow, /etc/group, etc.
A seguir, apresentamos o conteúdo desses arquivos.
Cada usuário no sistema Linux está/etc/O arquivo passwd possui uma linha de registro correspondente, que armazena algumas propriedades básicas do usuário.
Este arquivo é legível para todos os usuários. Seu conteúdo é semelhante ao exemplo a seguir:
# cat /etc/passwd root:x:0:0:Superusuário:/: daemon:x:1:1:Daemons do sistema:/etc: bin:x:2:2:Proprietário dos comandos do sistema:/bin: sys:x:3:3:Proprietário dos arquivos do sistema:/usr/sys: adm:x:4:4:Contas do sistema:/usr/adm: uucp:x:5:5:Administrador de UUCP:/usr/lib/uucp: auth:x:7:21:Administrador de autenticação:/tcb/files/auth: cron:x:9:16:Daemon de Cron:/usr/spool/cron: listen:x:37:4:Daemon de rede:/usr/net/nls: lp:x:71:18:Administrador da impressora:/usr/spool/lp: sam:x:200:50:Sam san:/home/sam:/bin/sh
Do exemplo acima podemos ver que/etc/Uma linha no passwd representa um usuário, e cada linha é separada por dois pontos (:)7campos, cujo formato e significado são os seguintes:
Normalmente, a sua comprimento não ultrapassa8caracteres, e é composto por letras maiúsculas e/ou números). O nome de login não pode conter dois pontos (:), pois o dois pontos aqui é um delimitador.
Para a compatibilidade, é melhor não incluir o caractere ponto (.) no nome de login e não usar hífen (-) e o sinal de mais (+) começa com um caractere de parêntese.
Embora o campo armazene apenas a string criptografada da senha do usuário, não o texto claro, devido a/etc/O arquivo passwd é legível por todos os usuários, então isso ainda é uma vulnerabilidade de segurança. Portanto, muitos sistemas Linux (como SVR4)usam a tecnologia shadow, armazenando a senha do usuário realmente criptografada/etc/no arquivo shadow, enquanto/etc/O campo de senha do arquivo passwd armazena apenas um caractere especial, por exemplo, “x” ou “*”。
Geralmente, ele corresponde um a um ao nome de usuário. Se vários nomes de usuário correspondem ao mesmo número de identificação do usuário, o sistema os considera como o mesmo usuário internamente, mas eles podem ter diferentes senhas, diferentes diretórios principais e diferentes Shells de login, etc.
O intervalo de valores do número de identificação do usuário comum é geralmente 0~65 5350 é o número de identificação do superusuário root.1~99Reservado pelo sistema, como conta de administração, o número de identificação do usuário comum é10Começa com 0. No sistema Linux, essa fronteira é}}500.
Corresponde a/etc/Uma entrada no arquivo group.
Por exemplo, o nome real do usuário, telefone, endereço etc., este campo não tem muita utilidade. Em diferentes sistemas Linux, o formato deste campo não é padronizado. Em muitos sistemas Linux, este campo contém um texto descritivo aleatório, usado como saída do comando finger.
É o diretório que o usuário está no login para o sistema após o login. Em muitos sistemas, os diretórios principais de todos os usuários são organizados na mesma diretoria específica, e o nome do diretório principal do usuário é o nome de login do usuário. Cada usuário tem permissões de leitura, escrita, execução (pesquisa) em seu diretório principal, e a permissão de acesso de outros usuários a este diretório é configurada conforme necessário.
O Shell é a interface entre o usuário e o sistema Linux. O Linux tem muitos tipos de Shell, cada um com características diferentes. Os mais comuns são sh (Bourne Shell), csh (C Shell), ksh (Korn Shell), tcsh (TENEX/TOPS-20 tipo C Shell), bash (Bourne Again Shell) etc.
O administrador do sistema pode especificar um Shell para o usuário com base na situação do sistema e no hábito do usuário. Se não for especificado o Shell, o sistema usa sh como Shell de login padrão, ou seja, o valor deste campo é/bin/sh.
O Shell de login do usuário também pode ser especificado como um programa específico (este programa não é um interpretador de comandos).
Utilizando essa característica, podemos limitar o usuário a executar apenas aplicativos especificados, e após a execução do aplicativo, o usuário sai automaticamente do sistema. Alguns sistemas Linux exigem que apenas programas registrados no sistema apareçam neste campo.
Estes usuários em/etc/O arquivo passwd também contém uma entrada, mas não pode fazer login, pois seu Shell de login está vazio. Sua existência é principalmente para facilitar a gestão do sistema, atender aos requisitos dos processos do sistema para o proprietário do arquivo.
Os usuários pseudo comuns são como follows:
Usuário pseudo - Significado bin - Dono do arquivo de comandos executáveis do usuário sys - Dono do arquivo de sistema adm - Dono do arquivo de contas uucp - UUCP utilização lp - lp ou lpd subsystem nobody NFS使用
1、除了上面列出的伪用户外,还有许多标准的伪用户,例如:audit, cron, mail, usenet等,它们也都各自为相关的进程和文件所需要。
由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。 有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。
2、/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生
它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。这些字段是:
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
"登录名"是与/etc/passwd文件中的登录名相一致的用户账号
"口令"字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 { ./0-9A-Za-z }中的字符,则对应的用户不能登录。
"最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。
"最小时间间隔"指的是两次修改口令之间所需的最小天数。
"最大时间间隔"指的是口令保持有效的最大天数。
"警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
"不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
"失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
下面是/etc/shadow的一个实例:
# cat /etc/shadow root:Dnakfw28zf38w:8764:0:168:7::: daemon:*::0:0:::: bin:*::0:0:::: sys:*::0:0:::: adm:*::0:0:::: uucp:*::0:0:::: nuucp:*::0:0:::: auth:*::0:0:::: cron:*::0:0:::: listen:*::0:0:::: lp:*::0:0:::: sam:EkdiSECLWPdSa:9740:0:0::::
Classificar usuários é uma maneira de gerenciar e controlar o acesso de usuários no sistema Linux.
cada usuário pertence a um grupo de usuários; um grupo pode ter vários usuários, e um usuário pode pertencer a diferentes grupos.
Quando um usuário é membro de vários grupos, em/etc/O arquivo passwd registra o grupo principal do usuário, que é o grupo padrão ao fazer login, enquanto outros grupos são chamados de grupos adicionais.
Quando um usuário precisa acessar arquivos pertencentes a um grupo adicional, ele deve primeiro usar o comando newgrp para se tornar membro do grupo que deseja acessar.
Todas as informações do grupo de usuários são armazenadas/etc/o arquivo group. Este arquivo também é semelhante a/etc/o arquivo passwd, separado por dois pontos (:), contém vários campos, esses campos são:
nome_do_grupo:palavra_passe:número_de_identificação_do_grupo:lista_de_usuários_do_grupo
"Nome do grupo" é o nome do grupo de usuários, composto por letras ou números. Com/etc/com o nome de login no passwd, o nome do grupo não deve ser repetido.
O campo "Palavra-passe" armazena a palavra-passe criptografada do grupo de usuários. Geralmente, os grupos de usuários do sistema Linux não têm palavra-passe, ou seja, este campo geralmente está vazio ou*。
"Número de identificação do grupo" é semelhante ao número de identificação do usuário, que é um inteiro usado internamente pelo sistema para identificar o grupo.
"Lista de usuários do grupo" é a lista de todos os usuários pertencentes a este grupo/b],os usuários entre diferentes são separados por vírgula (,). Este grupo pode ser o grupo principal do usuário ou um grupo adicional.
/etc/Um exemplo de arquivo group é o seguinte:
root::0:root bin::2:root,bin sys::3:root,uucp adm::4:root,adm daemon::5:root,daemon lp::7:root,lp users::20:root,sam
Adicionar e excluir usuários é uma tarefa fácil para cada administrador de sistema Linux, mas quando se trata de adicionar dezenas, centenas ou até milhares de usuários, é improvável que ainda usemos useradd para adicionar um a um, e certamente precisamos encontrar um método mais simples para criar muitos usuários. O sistema Linux oferece ferramentas para criar muitos usuários, permitindo que você crie muitos usuários imediatamente, conforme descrito a seguir:
cada coluna deve ser ordenada/etc/o formato do arquivo passwd deve ser escrito com atenção para que o nome de usuário, UID e diretório de hospedagem de cada usuário não sejam iguais, e a coluna de senha pode ser deixada em branco ou preenchida com x. Um exemplo de conteúdo do arquivo user.txt é o seguinte:
user001::600:100:user:/home/user001:/bin/bash user002::601:100:user:/home/user002:/bin/bash user003::602:100:user:/home/user003:/bin/bash user004::603:100:user:/home/user004:/bin/bash user005::604:100:user:/home/user005:/bin/bash user006::605:100:user:/home/user006:/bin/bash
# newusers < user.txt
Depois disso, você pode executar o comando vipw ou vi /etc/Verifique o passwd /etc/Verifique se o arquivo passwd já contém os dados desses usuários e se os diretórios de hosts dos usuários já foram criados.
Decodifique /etc/Decodifique a senha shadow gerada pelo shadow e escreva /etc/Decodifique a senha shadow gerada pelo shadow e escreva/etc/Remova a caixa de senha da shadow, isso é para facilitar o trabalho de conversão de senha no próximo passo, ou seja, desativar a função de senha shadow.
# pwunconv
O formato é:
Nome de usuário:senha
O conteúdo do arquivo de exemplo passwd.txt é o seguinte:
user001:123456 user002:123456 user003:123456 user004:123456 user005:123456 user006:123456
Criar senha de usuário, o chpasswd codificará /usr/bin/A senha codificada do passwd é escrita /etc/A caixa de senha do passwd.
# chpasswd < passwd.txt
Executar comando /usr/sbin/pwconv codifica a senha como senha shadow e escreve o resultado em /etc/shadow。
# pwconv
Assim, a criação de muitos usuários foi concluída, após o que você pode ir para/Verifique as configurações de permissões dos diretórios de usuários sob home e verifique se as senhas dos usuários estão corretas ao fazer login.