Diff for /wikisrc/tutorials/user_management.mdwn between versions 1.1 and 1.2

version 1.1, 2011/11/21 03:22:58 version 1.2, 2012/02/05 07:14:36
Line 1 Line 1
 **Contents**  **Contents**
   
 [[!toc levels=2]]  [[!toc levels=2]]
   
 #Preface  #Preface
   
 Before you start to do user and group management you must:  Before you start to do user and group management you must: 
   
 1. For security reasons, create substitute user and name it as you like, here it is referred as _noroot_:  1. For security reasons, create substitute user and name it as you like, here it is referred as _noroot_: 
 <pre><code>      <pre><code>    
     # useradd -m -G wheel _noroot_      # useradd -m -G wheel _noroot_
 </code></pre>      </code></pre>    
   
 2. Set password for _noroot_ user:  2. Set password for _noroot_ user: 
 <pre><code>      <pre><code>    
     # passwd _noroot_      # passwd _noroot_
 </code></pre>  </code></pre>
   
 3. Exit and log in as _noroot_ user.  3. Exit and log in as _noroot_ user. 
   
 4. Use the **su** command to obtain the root privileges for _noroot_:  4. Use the **su** command to obtain the root privileges for _noroot_: 
          
     $ su      $ su
          
   
 5. Forget to use the **root** for maintenance or regular administration of the system. You free to find any secure and convenient spot for the root password be available upon your need.  5. Forget to use the **root** for maintenance or regular administration of the system. You free to find any secure and convenient spot for the root password be available upon your need. 
   
      
 If your favorite user with login password is already assigned in the system and no need to create new one. Omit first steps from above. Do modify user information by adding _your no root user_ into the wheel group and **su** anytime per your desire:  If your favorite user with login password is already assigned in the system and no need to create new one. Omit first steps from above. Do modify user information by adding _your no root user_ into the wheel group and **su** anytime per your desire: 
          
     # usermod -G wheel _noroot_      # usermod -G wheel _noroot_
          
   
 #[**User**](http://netbsd.gw.com/cgi-bin/man-cgi?user++NetBSD-current)  #[**User**](http://netbsd.gw.com/cgi-bin/man-cgi?user++NetBSD-current)
   
 The NetBSD maintains information in regard of each user who logs into, access system, runs processes on so forth. This include and not limited to:  The NetBSD maintains information in regard of each user who logs into, access system, runs processes on so forth. This include and not limited to: 
          
     - user name      - user name
     - password      - password
     - group      - group
     - base_dir      - base_dir
     - skel_dir      - skel_dir
     - shell      - shell
     - class      - class
     - homeperm      - homeperm
     - inactive      - inactive
     - expire      - expire
          
   
 The superuser called root has no limitations on its privileges.  The superuser called root has no limitations on its privileges. 
   
 To limit user priveleges consider to set limits by: coredumpsize, cputime, filesize, quota, maxproc, memory, openfiles etc.  To limit user priveleges consider to set limits by: coredumpsize, cputime, filesize, quota, maxproc, memory, openfiles etc. 
   
 **user** is frontend to the useradd, usermod, userinfo and userdel commands, it helps to manage users in the system.  **user** is frontend to the useradd, usermod, userinfo and userdel commands, it helps to manage users in the system. 
   
 Use [id](http://netbsd.gw.com/cgi-bin/man-cgi?id+1+NetBSD-current) to see user identity:  Use [id](http://netbsd.gw.com/cgi-bin/man-cgi?id+1+NetBSD-current) to see user identity: 
   
 **$ id**  **$ id**
          
   
 Use [w](http://netbsd.gw.com/cgi-bin/man-cgi?w+1+NetBSD-current) to see who present and what they are doing:  Use [w](http://netbsd.gw.com/cgi-bin/man-cgi?w+1+NetBSD-current) to see who present and what they are doing: 
   
 **$ w**  **$ w**
          
   
 Use [last](http://netbsd.gw.com/cgi-bin/man-cgi?last+1+NetBSD-current) to see last logins:  Use [last](http://netbsd.gw.com/cgi-bin/man-cgi?last+1+NetBSD-current) to see last logins: 
   
   
 **$ last**  **$ last**
          
   
 ##  [[basics/useradd]]  ##  [[basics/useradd]]
   
 To add user do:  To add user do: 
          
     **user add** [options] _user_      **user add** [options] _user_
          
   
 To add a user and create a new home directory:  To add a user and create a new home directory: 
          
     **# useradd -m** _myuser_      **# useradd -m** _myuser_
          
   
 Look into the NetBSD Guide [Chapter 5.6](http://netbsd.org/docs/guide/en/chap-boot.html#chap-boot-adding-users)  Look into the NetBSD Guide [Chapter 5.6](http://netbsd.org/docs/guide/en/chap-boot.html#chap-boot-adding-users)
   
 ##  [userinfo](http://netbsd.gw.com/cgi-bin/man-cgi?userinfo++NetBSD-current)  ##  [userinfo](http://netbsd.gw.com/cgi-bin/man-cgi?userinfo++NetBSD-current)
   
 To see user information do:  To see user information do: 
          
     **$ userinfo** _myuser_      **$ userinfo** _myuser_
          
   
 ##  [[basics/usermod]]  ##  [[basics/usermod]]
   
 To modify existing user login do:  To modify existing user login do: 
          
     **# user mod** [options] _user_      **# user mod** [options] _user_
          
          
     **# usermod -C yes** _username_             ; set Close lock on user account      **# usermod -C yes** _username_             ; set Close lock on user account
          
          
     **# usermod -C no** _username_              ; unlock user account      **# usermod -C no** _username_              ; unlock user account
          
          
     **# usermod -G wheel** _username_           ; add user to group _wheel_      **# usermod -G wheel** _username_           ; add user to group _wheel_
          
          
     **# usermod -s /sbin/nologin** _username_   ; remove login shell      **# usermod -s /sbin/nologin** _username_   ; remove login shell
          
          
     **# usermod -s /bin/sh** _username_         ; set login shell      **# usermod -s /bin/sh** _username_         ; set login shell
          
          
     **# usermod -F** _username_                 ; force user to change password      **# usermod -F** _username_                 ; force user to change password
          
   
 ##  [userdel](http://netbsd.gw.com/cgi-bin/man-cgi?userdel++NetBSD-current)  ##  [userdel](http://netbsd.gw.com/cgi-bin/man-cgi?userdel++NetBSD-current)
   
 To remove a user from the system do:  To remove a user from the system do: 
          
     **# userdel** _myuser_      **# userdel** _myuser_
          
   
 ##  [[basics/passwd]]  ##  [[basics/passwd]]
   
 To see a list of all users in the system do:  To see a list of all users in the system do: 
          
     $ cat /etc/passwd      $ cat /etc/passwd
          
   
 To edit _/etc/passwd_ file do:  To edit _/etc/passwd_ file do: 
          
     # vipw      # vipw
          
   
 ##  [[basics/chpass]]  ##  [[basics/chpass]]
   
 Use [chpass, chfn, chsh]((http://netbsd.gw.com/cgi-bin/man-cgi?chpass+1+NetBSD-current)) to add or change user database information.  Use [chpass, chfn, chsh]((http://netbsd.gw.com/cgi-bin/man-cgi?chpass+1+NetBSD-current)) to add or change user database information. 
   
 To change the shell of _myuser_, for an exapmle to /bin/ksh:  To change the shell of _myuser_, for an exapmle to /bin/ksh: 
          
     **# chpass -s /bin/ksh** _myuser_      **# chpass -s /bin/ksh** _myuser_
          
   
      
   
   
 #  [**Group**](http://netbsd.gw.com/cgi-bin/man-cgi?group++NetBSD-current)  #  [**Group**](http://netbsd.gw.com/cgi-bin/man-cgi?group++NetBSD-current)
   
 To manage groups check **/etc/group** file which maintains name of each group, group id and list of users who is a group member.  To manage groups check **/etc/group** file which maintains name of each group, group id and list of users who is a group member. 
   
 **group** is frontend to the groupadd, groupmod, groupinfo and groupdel commands, it helps to manage groups in the system.  **group** is frontend to the groupadd, groupmod, groupinfo and groupdel commands, it helps to manage groups in the system. 
   
 To add group do:  To add group do: 
          
     **group add** [options] _group_      **group add** [options] _group_
          
   
 To delete group do:  To delete group do: 
          
     **group del** [options] _group_      **group del** [options] _group_
          
   
 To obtain group information do:  To obtain group information do: 
          
     **group info** [options] _group_      **group info** [options] _group_
          
   
 To modify existing group do:  To modify existing group do: 
          
     **group mod** [options] _group_      **group mod** [options] _group_
          
   
 To remove user from the group you have to do **user del** and then add user again.  To remove user from the group you have to do **user del** and then add user again. 
   
 ##  [groupadd](http://netbsd.gw.com/cgi-bin/man-cgi?groupadd+8+NetBSD-current)  ##  [groupadd](http://netbsd.gw.com/cgi-bin/man-cgi?groupadd+8+NetBSD-current)
   
 ##  [groupdel](http://netbsd.gw.com/cgi-bin/man-cgi?groupdel+8+NetBSD-current)  ##  [groupdel](http://netbsd.gw.com/cgi-bin/man-cgi?groupdel+8+NetBSD-current)
   
 ##  [groupinfo](http://netbsd.gw.com/cgi-bin/man-cgi?groupinfo+8+NetBSD-current)  ##  [groupinfo](http://netbsd.gw.com/cgi-bin/man-cgi?groupinfo+8+NetBSD-current)
   
 ##  [groupmod](http://netbsd.gw.com/cgi-bin/man-cgi?groupmod+8+NetBSD-current)  ##  [groupmod](http://netbsd.gw.com/cgi-bin/man-cgi?groupmod+8+NetBSD-current)
   
 #  Other  #  Other
   
 ##  [[basics/chmod]]  ##  [[basics/chmod]]
   
 ##  [[basics/chown]]  ##  [[basics/chown]]
   
 To change files/directory ownership:  To change files/directory ownership: 
          
     #chown -R  myuser path      #chown -R  myuser path 
          
   
 Where myuser is the name of user and path is directory where files are located.  Where myuser is the name of user and path is directory where files are located. 
   
 ##  [[basics/chgrp]]  ##  [[basics/chgrp]]
   
 ##  [[basics/chroot]]  ##  [[basics/chroot]]
   
 ##  [[basics/quota]]  ##  [[basics/quota]]
   
 Use quota to set users quotas per desire.  Use quota to set users quotas per desire. 
   
 #  See also  #  See also
   
   * [[How to set up per-user timezones]]    * [[How to set up per-user timezones]]
   * How to [[Hide other user's processes]]    * How to [[Hide other user's processes]]
   * [[Userland version]]    * [[Userland version]]
   * [[The_NetBSD_System_Manager's_Manual#Users_and_Accounts_Management]]    * [[The_NetBSD_System_Manager's_Manual#Users_and_Accounts_Management]]

Removed from v.1.1  
changed lines
  Added in v.1.2


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb