日期:2014-05-16  浏览次数:20709 次

Linux学习笔记之用户管理

 

用户管理
 1、用户管理配置文件
  用户数据文件:/etc/passwd
  [root@CentOS-Test software]# grep test /etc/passwd
   test:x:500:500:test:/home/test:/bin/bash
  用户账号包含的信息:
   test:用户名,用户登录时使用的用户名 x:密码位 500:UID,用户标识号 500:缺省组标识号
   test:注释性描述,例如存放用户全名等信息
   /home/test:用户的宿主目录
   /bin/bash:用户使用的shell,默认为bash
  linux用户账号的分类:
   分为三种:超级用户(root,UID=0) 具有一切操作权限
   普通用户(UID500-65536) 操作权限受到限制 
   伪用户(缺省用户):(UID 1-499)假用户或虚拟用户
   注意:用户的UID的取值,除0外,其它值不允许用户取相同的值,伪用户与系统和程序服务相关:bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户,伪用户没有登录密码和宿主目录
   每个用户都至少属于一个用户组,每个用户组可以包括多个用户,同一用户组的用户享有该组共有的权限
   
  用户口令文件:/etc/shadow
   保存了用户口令等重要信息,该文件只有root用户可以读写
  用户组文件:/etc/group
  用户组密码文件:/etc/gshadow
  用户配置文件:/etc/login.defs  /etc/default/useradd
  新用户信息文件:/etc/skel
  登录信息:/etc/motd
 2、用户账号维护命令
  创建用户(到指定组)并设定密码:
  [root@CentOS-Test ~]# useradd -g operator user3  //创建user3用户,并将其加入到operator组
  
  [root@CentOS-Test ~]# passwd user3   //设定user3的密码
  更改用户 user3 的密码 。
  新的 密码:
  重新输入新的 密码:
  passwd: 所有的身份验证令牌已经成功更新。
  显示useradd命令的默认值:当我们使用useradd命令添加用户时,若未指定参数将使用useradd的默认值,此默认值文件在/etc/default/useradd中,可以编辑此文件来修改useradd命令的默认参数;用命令显示为useradd -D
  
  usermod用于设置已有账号的登录属性,包括用户的宿主目录、私有组、登录的shell等内容
  改变用户账号名:user -l newname oldname
  //此命令是修改用户的登录名称,但是宿主目录并未更新,还需要修改新的宿主目录
  [root@CentOS-Test ~]# usermod -l user5 user1
  修改宿主目录
  [root@CentOS-Test ~]# usermod -d /home/user5 user5
  修改用户的所属组信息
  [root@CentOS-Test home]# usermod -g operator ciscoserver
  锁定用户账号及接触锁定
  [root@CentOS-Test ~]# usermod -L user8  锁定的是密码
  [root@CentOS-Test ~]# passwd -l user8  锁定的是密码
  [root@CentOS-Test ~]# usermod -U user8 解锁的是密码
  [root@CentOS-Test ~]# passwd -u user8 解锁的是密码
  删除用户账号
  [root@CentOS-Test ~]# userdel user3  删除用户user3 但是其宿主目录并没有删除 /home/user3仍然存在
  [root@CentOS-Test ~]# userdel -r user3 将user3用户删除后其宿主目录也一起删除
  删除用户口令
  [root@CentOS-Test default]# passwd -d yangweiwei  删除的只是用的口令,如若恢复需使用passwd username重新设定密码
  清除用户的密码 yangweiwei。
  passwd: 操作成功
  设定用户的finger信息
  [root@CentOS-Test default]# chfn fangguo
  Changing finger information for fangguo.
  Name []: 张搜索
  Office []: 销售部
  Office Phone []: 025689
  Home Phone []: 15455155
 3、组账号维护命令
  创建组:groupadd 组名  用于在系统中添加组账号,该组账号的GID大于500
  [root@CentOS-Test home]# groupadd ZBS
  删除组:groupdel 组名  用于删除组,删除组之前必须先删除该组下的用户,即不能删除含有用户的组
  [root@CentOS-Test ~]# groupdel operator
  组重命名:groupmod -n newgroupname  oldgroupname  此组下面由用户的话,修改后用户也隶属于新的组名下
  [root@CentOS-Test default]# groupmod -n yizhidui ZHBA
  添加用户到组:gpasswd -a 用户账号名  组账号名   此用户账号名必须先存在
  [root@CentOS-Test default]# useradd sunzhaohui
  [root@CentOS-Test default]# gpasswd -a sunzhaohui yizhidui
  Adding user sunzhaohui to group yizhidui
  当然此上述两条命令可以直接用useradd命令完成   useradd -g yizhidui sunzhaohui  前提是组账号必须存在,且创建的用户只属于yizhid