Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Adicionando e removendo usuários no OpenBSD

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:

  • 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]: 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.

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 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

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 ú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.

Veja a relação completa dos artigos de André Luiz Facina

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1381 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Programando o Android