O
OpenBSD fornece dois comandos para facilmente adicionar usuários no sistema. Os comandos são:
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