Adicionando e apagando usuários no OpenBSD

Publicado por Andre Luiz Facina em 02/07/2008

[ Hits: 9.835 ]

 


Adicionando e apagando usuários no OpenBSD



O OpenBSD fornece dois comandos para facilmente adicionar usuários no sistema. Os comandos são:
  • adduser
  • user

Além disso, você pode adicionar usuários manualmente com o comando vipw, mas isso é mais difícil para a maioria das operações.

A maneira fácil de adicionar usuários no OpenBSD é usando o script adduser. Você pode configurar o adduser editando o arquivo /etc/adduser.conf. O comando adduser permite verificar a consistência dos arquivos /etc/passwd e /etc/group.

Aqui no exemplo, o usuário testuser será adicionado no sistema.

Para o usuário testuser será dado o diretório $HOME (/home/testuser), fará parte do grupo guest e vai ter o Korn Shell como shell padrão (/bin/ksh).

# adduser
Use option "-silent" if you don't want to see all warnings and questions.Reading /etc/shells
Reading /etc/login.conf
Check /etc/master.passwd
Check /etc/group

Ok, let's go.
Don't worry about mistakes. I will give you the chance later to correct any input.
Enter username []: testuser
Enter full name []: Test User
Enter shell csh ksh nologin sh [sh]: ksh
Uid [1002]:
Login group testuser [testuser]: guest
Login group is "guest". Invite testuser into other groups: guest no
[no]: no
Login class auth-defaults auth-ftp-defaults daemon default staff
[default]:
Enter password []: Type password, then Enter
Enter password again []: Type password, then Enter

Name: testuser
Password: ****
Fullname: Test FAQ User
Uid: 1002
Gid: 31 (guest)
Groups: guest
Login Class: default
HOME: /home/testuser
Shell: /bin/ksh
OK? (y/n) [y]: y
Added user "testuser"
Copy files from /etc/skel to /home/testuser
Add another user? (y/n) [y]: n
Goodbye!

Para deletar usuários do sistema, você deve usar o utilitário rmuser. Ele removerá tudo do usuário. Ele removerá qualquer entrada no crontab, o diretório $HOME (se o $HOME for de propriedade do usuário) e os seus e-mails. Claro, além disso ele removerá as suas entradas em /etc/passwd e /etc/group. A seguir um exemplo, vamos remover o usuário que foi adicionado no exemplo acima.Você será questionado sobre o nome do usuário e se é para remover o diretório HOME do mesmo.

# rmuser

Enter login name for user to remove: testuser
Matching password entry:testuser:$2a$07$ZWnBOsbqMJ.ducQBfsTKUe3PL97Ve1AHWJ0A4uLamniLNXLeYrEie:1002
:31::0:0:Test FAQ User:/home/testuser:/bin/ksh

Is this the entry you wish to remove? y
Remove user's home directory (/home/testuser)? y
Updating password file, updating databases, done.
Updating group file: done.
Removing user's home directory (/home/testuser): done.

Adicionando usuários com o comando user

Essas ferramentas são menos interativas do que o comando adduser, tornado-as mais fácil de se usar em shell scripts.

O conjunto completo das ferramentas é:
  • group
  • groupadd
  • groupdel
  • groupinfo
  • groupmod
  • user
  • useradd
  • userdel
  • userinfo
  • usermod

Adicionando usuários:

Essencialmente o comando user não é interativo, a maneira mais fácil e eficiente de adicionar usuários é usar o comando adduser. O atual comando /usr/sbin/user é apenas um frontend para o resto dos comandos /usr/sbin/user*. Portando, os seguintes comandos, user add ou useradd, podem ser usados para adicionar usuários, a escolha é sua, e o uso dos comandos será o mesmo.

Nesse exemplo nós adicionamos o mesmo usuário que especificamos no exemplo acima (adduser), é muito mais fácil de utilizar, se você conhece as configurações padrões, antes de adicionar um usuário. Estas configurações estão localizadas em /etc/usermgmt.conf e podem ser vistas com o comando:

$ useradd -D
group users
base_dir /home
skel_dir /etc/skel
shell /bin/csh
inactive 0
expire Null (unset)
range 1000..60000

As configurações acimas serão aplicadas, ao menos que você especifique as opções na linha de comando. Por exemplo, em nosso caso, queremos que o usuário comece no grupo guest, e não no user. Complicando um pouco mais, quando adicionarmos o usuário, queremos que a senha seja especificada na linha de comando. Isto é, a senha deve ser criptografada, para isso você deve primeiro usar o utilitário encrypt para criar a senha. Por exemplo: As senhas do OpenBSD por padrão utilizam o Blowfish um algorítimo com 6 saltos. Aqui é um exemplo para criar uma senha criptografada para ser especificada no useradd.

$ encrypt -p -b 6
Enter string:
$2a$06$YOdOZM3.4m6MObBXjeZtBOWArqC2.uRJZXUkOghbieIvSWXVJRzlq

Agora que temos a senha criptografada, estamos prontos para adicionar o usuário.

# useradd -p '$2a$06$YOdOZM3.4m6MObBXjeZtBOWArqC2.uRJZXUkOghbieIvSWXVJRzlq' -u 1002 -s /bin/ksh -c "Test FAQ User" -m -g guest testuser

Nota: Certifique-se de utilizar aspas simples (' ') na senha criptografada. Além de que, certifique-se também de especificar a opção -m, se quiser que seja criado o diretório HOME a partir da cópia do diretório /etc/skel.

Para ver se o usuário foi criado corretamente, podemos usar vários utilitários diferentes. Abaixo são alguns comando que podem ser usados para checar rapidamente se tudo foi criado corretamente.

$ ls -la /home
total 14
drwxr-xr-x 5 root wheel 512 May 12 14:29 .
drwxr-xr-x 15 root wheel 512 Apr 25 20:52 ..
drwxr-xr-x 24 ericj wheel 2560 May 12 13:38 ericj
drwxr-xr-x 2 testuser guest 512 May 12 14:28 testuser
$ id testuser
uid=1002(testuser) gid=31(guest) groups=31(guest)
$ finger testuser
Login: testuser Name: Test FAQ User
Directory: /home/testuser Shell: /bin/ksh
Last login Sat Apr 22 16:05 (EDT) on ttyC2
No Mail.
No Plan.

Além desses comandos, user prevê seu próprio utilitário para mostrar características de usuários, esse comando é o userinfo.

$ userinfo testuser
login testuser
passwd *
uid 1002
groups guest
change Wed Dec 31 19:00:00 1969
class
gecos Test FAQ User
dir /home/testuser
shell /bin/ksh
expire Wed Dec 31 19:00:00 1969

Removendo usuários:

Para remover usuários com o comando user*, você usará o userdel. Ele é muito simples. Para remover um usuário criado no ultimo exemplo, simplesmente utilize:

# userdel -r testuser

Aviso: Com a opção -r, você especifica de deseja remover o diretório HOME do usuário. Alternativamente, você pode especificar -p e não -r, isso bloqueará a conta do usuário, mas não removerá qualquer informação.

André Luiz Facina

Outras dicas deste autor

Reforçando os serviços básicos com SSL

Alteração de encoding em sistemas Debian

Convertendo uma chave privada OpenSSL para uma chave pública/privada do OpenSSH

Configurando o Nagios com NagiosQL

Renomeando arquivos com caracteres especiais

Leitura recomendada

Sabayon e Gentoo - Atualizar Portage em um único comando

Verificando interrupções livres e ocupadas na sua máquina

Resposta automática no seu e-mail

Usando o comando SCP!

Utilizando o SUDO para desligar ou reiniciar um PC logado com um usuário comum

  

Comentários
[1] Comentário enviado por lamss em 03/07/2008 - 02:02h

bom artigo....
Sabe manipular o brconfig? estou tentando passar somente o trafedo da amarração ip/mac e naum consigo ...



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts