De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: André Luiz Facina
Data de Publicação: 16 de Julho de 2008
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]: Enter 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 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, 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.
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 é:
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 adicionar um usuário, se você conhecer as configurações padrões. Estas configurações estão localizadas em /etc/usermgmt.conf e podem ser vistas com o comando:
$ user add -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 por padrão, a 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 grupo 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.
# user add -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 do 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 fornece seu próprio utilitário para mostrar as características dos 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
Para remover usuários com o comando user*,
você usará o userdel
. Ele é muito
simples. Para remover um usuário criado no último exemplo, simplesmente
utilize:
# userdel -r testuser
Aviso: Com a opção -r, você escolhe se 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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários