Estou basicamente perguntando sobre gerenciamento de usuários na linha de comando (por exemplo, em um sistema em que não há ferramentas gráficas disponíveis). No passado, eu usei vários programas diferentes para adicionar ou Excluir usuários e grupos ou modificar seus atributos: adduser
, useradd
, usermod
, gpasswd
, e talvez outros que eu esqueci. Também ouvi algumas vezes que alguns desses programas são de baixo nível e devem ser evitados para uso geral, mas nunca consigo lembrar quais. Então, eu gostaria de obter uma resposta definitiva para quais programas são os recomendados para, pelo menos, as seguintes tarefas:
- Crie um novo usuário
- Adicionar um usuário a um grupo
- Remover um usuário de um grupo
- Alterar o grupo principal de um usuário
- Alterar o shell de login ou o diretório inicial de um usuário
- Excluir um usuário
Estou procurando por ferramentas padrão que posso esperar estar disponíveis em praticamente qualquer sistema Linux (de qualquer distribuição).
groupmod
. Não vou fazer disso uma resposta .... mas a maneira mais padrão é provavelmente usar o seu editor de texto ... lembre-se de que os arquivos afetados são apenas texto delimitado./etc/passwd
era apenas uma parte de um sistema complexo)Respostas:
Infelizmente, nenhuma dessas operações foi padronizada.
Alguns sistemas operacionais oferecem essa funcionalidade como parte do sistema operacional, como o Linux, mas, mesmo que seu sistema Linux os inclua, com o tempo e nas distribuições do Linux, as ferramentas e seus nomes foram alterados para que você não possa realmente depender de um conjunto padrão de ferramentas. essas tarefas.
Você precisa ter um conjunto de ferramentas por sistema operacional.
fonte
Nos sistemas Debian (e derivados)
adduser
edeluser
são wrappers de nível superioruseradd
e funcionalidade relacionada. A criação do usuário de capa, adição e subtração de associação ao grupo e exclusão do usuário. Os comandos correspondentes de criação / exclusão de grupos são, sensatamente,addgroup
edelgroup
.usermod
aparece para cobrir o caso de uso restante que você nomeou.fonte
Você mencionou o Linux na última parte da sua pergunta, mas como o título é genérico, responderei pelo FreeBSD.
O FreeBSD possui comandos semelhantes ao Linux, mas são comandos passados para o
pw
utilitário:e assim por diante. No entanto, pode-se analisar o comando em duas partes:
user
emod
; um substantivo e um verbo. Além disso, também se pode usargroup
edel
:para, por exemplo, excluir um grupo. Então, aqui está o que eu acho muito legal: a ordem não importa, nem o espaçamento! O que isso significa é que você pode se lembrar do que chamar pensando no que deseja fazer (em inglês de qualquer maneira):
e mais! O
pw
utilitário também permite bloquear e desbloquear contas:As opções e todos os parâmetros que você passa são todos padronizados (embora nem sempre se apliquem aos comandos de chamada), para que a memorização seja minimizada. Tudo de uma maneira agradável de fazer as coisas.
Nota: as elipses nos exemplos acima representam opções e parâmetros passados a
pw
usuários ou grupos não adicionais.fonte
Apenas para completar, no final de baixo nível do espectro eu mencionaria vipw (8) e vigr (8), logo acima de "vi / etc / passwd" e "cat> / etc / passwd", mas logo abaixo de "useradd " Ah, e eles existem na maioria das variantes do Unix.
fonte
Todas essas ferramentas foram criadas para editar arquivos de texto para você. Se você deseja saber como gerenciar usuários e grupos em sistemas, familiarize-se com esses arquivos de texto subjacentes. Para sua sorte, existem apenas dois deles,
/etc/passwd
e/etc/group
. Também existem arquivos/etc/shadow
e/etc/gshadow
arquivos complementares para sombreamento de senhas e grupos, respectivamente.fonte
Em muitas situações, saber editar "/ etc / passwd" ainda é útil.
fonte
Se você estiver usando um back-end que não seja o back-end da máquina local padrão - o OpenLDAP é o mais comum -, a CPU (utilitário de alteração de senha) poderá ser o comando que você está procurando. Ele pode ser executado em máquinas que não sejam o mestre LDAP, se configurado corretamente, e sua sintaxe é basicamente a mesma de
useradd
etc, com um prefixo decpu
. Então, para me adicionar, eu poderia fazerVeja a página de manual da CPU para mais detalhes.
fonte
Se sua pergunta foi limitada a
mas todos os sistemas têm acesso de rede a um único servidor. Você pode usar algo como NIS ou YP. Portanto, essa resposta é limitada aos administradores em uma única organização.
Você ainda tem o problema em que quase todas as distribuições têm maneiras ligeiramente diferentes de configurar o YP, mas a configuração ocorre apenas uma vez. Além disso, esse tipo de rede não é trivial.
Dentro de um único site / rede, você ganhará muito fazendo isso. Em combinação com o automount, meu favorito é poder fazer o SSH para qualquer máquina * nix e ter todos os meus arquivos e ferramentas domésticas disponíveis para mim.
Diretamente, a distribuição que você escolhe para o mestre é o sistema usado para gerenciar usuários. Você terá um único conjunto de ferramentas / documentação para gerenciar usuários e grupos.
É até possível usar algo como ferramentas LDAP e samba no master. O uso do samba também me permite ter meus arquivos domésticos disponíveis em máquinas Windows.
fonte
A coisa mais próxima de um padrão que você vai ter é
vi /etc/passwd
,vi /etc/shadow
evi /etc/groups
. (Os hereges podem substituiremacs
.) Tudo desde então que eu descobri funcionará apenas em alguns sistemas.Sério, descubra quais ferramentas seu sistema operacional possui e use-as. Só não espere que eles funcionem da mesma forma em todos os sistemas. Seria bom se eles fossem padronizados, mas não são.
fonte
/etc/passwd
,/etc/shadow
,/etc/group
e/etc/gshadow
. É para isso que servem as ferramentas. Os seres humanos são propensos a erros, enquanto as ferramentas foram testadas e (espero) estão livres de erros./etc/passwd
e amigos diretamente. Usevipw
evigr
, que: bloqueie o arquivo contra edição simultânea; execute seu editor favorito ($VISUAL
); não altere o arquivo se você cometer um erro de sintaxe; em alguns sistemas (por exemplo, FreeBSD) também regenera outros arquivos que devem ser mantidos sincronizados.