用户管理
一、用户说明
1、基于账户身份对资源访问进行控制
账户类别:用户账号、组账号
识别方式:UID、GID
2、用户账号
超级用户root(0)、系统用户(1~499)、普通用户(≥500)
3、组账号
基本组(私有组):LINUX创建用户的时候,默认还会再创建一个同名组。
附加组(公共组):用户还可以加入到其他组中
4、查看用户的信息
# id 用户名
uid用户ID,gid基本组ID,groups表示用户都属于哪些组
5、创建用户,默认情况下,会影响到四个文件
/etc/passwd保存用户信息
/etc/shadow保存用户密码相关信息
/etc/group保存用户组的信息
/etc/gshadow保存组密码相关信息
6、用户家目录(宿主目录)
缺省情况下,大多数的系统目录对于普通用户来说,都是没有写权限的。用户的该目录,对于用户来说具有完全控制的权限。
没有特殊声明,创建用户的时候,还会在/home下创建一个与用户同名的目录,作为用户的家目录。
7、创建用户
(1)创建用户bob
# useradd bob //创建用户
(2)为bob设置密码
# passwd bob
8、验证bob用户信息
(1)bob基本信息
/etc/passwd文件每一行保存一个用户的信息,用冒号分开七个区域
第一区域:用户名
第二区域:密码占位符,总是显示为x
第三区域:UID
第四区域:GID
第五区域:用户个人信息,如家庭电话号码等
第六区域:用户的家目录
第七区域:用户的登陆shell
(2)bob的密码信息
第一区域:用户名
第二区域:加密的密码(MD5)
第三区域:上一次密码改变的时间。自1970年1月1日到改变密码时经过的天数。
第四区域:密码最短使用天数
第五区域:密码的最长使用时间
第六区域:密码失效前几天进行警告。
(3)组信息
第一区域:组名
第二区域:组密码占位符
第三区域:GID
第四区域:成员列表
(4)组密码信息
9、根据指定条件创建用户
创建一个名为tom的用户,他的uid为800,他除了再自己的tom组以外,还属于bob这个组,他的家目录是/home/tommy,该用户不允许登陆到系统中。
# useradd -u 800 -G bob -d /home/tommy -s /sbin/nologin tom
10、配置文件来源
新建用户时,根据/etc/skel 模板目录复制
主要的初始配置文件
~/.bash_profile:每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:每次退出登录时执行
11、passwd命令
(1)改变自己的密码
# passwd
(2)改变bob用户密码
# passwd bob
(3)清空bob用户密码,他不用密码就可以登陆
# passwd -d bob
(4)锁定用户bob
# passwd -l bob
(5)查看用户密码的锁定状态
# passwd -S bob
(6)解锁用户bob
# passwd -u bob
12、usermod修改用户信息
(1)修改用户tom的登陆shell为/bin/bash
# usermod -s /bin/bash tom
(2)修改tom的UID为501
(3)锁定用户tom
# usermod -L tom
(4)解锁用户tom
# usermod -U tom
(5)把tom改名为tommy
# usermod -l tommy tom
# id tom 用户不存在
# id tommy
13、删除用户
(1)删除用户tommy,保留他的家目录
# userdel tommy
(2)删除用户bob的同时,将其家目录一并删除
# userdel -r bob
14、列出用户的密码相关信息
15、设置用户密码最短使用1天,最长使用90天,密码过期前5天报警
# chage -m 1 -M 90 -W 5 bob
16、设置用户帐户在2014年5月1号过期
# chage -E 2014-05-01 bob
17、强制用户下次登陆时,修改密码
# useradd tom
# passwd tom 设置初始密码123456
# chage -d 0 tom
18、id
(1)显示root用户的uid
# id -u root
(2)显示root用户的gid
# id -g root
(3)显示root所在组的id号
# id -G root
(4)显示root所在组的名字,而不是数字ID号
# id -Gn root
四、用户组管理
1、/etc/group解析
2、/etc/gshadow解析
3、创建一个组,名为hr,组ID是900,把tom和bob加入到该组
# groupadd -g 900 hr
# usermod -aG hr tom //a表示追加,G表示附加组
# usermod -aG hr bob
4、使用gpasswd命令管理组
例:
新建用户alice,将其加入到hr组
例2:
5、新建一个用户jerry,他不属于hr组。但是jerry希望能够临时加入到hr组中。那么就可以先为hr组设置一个密码。当jerry使用命令newgrp切换到hr组时,填入正确的组密码就能实现。
(1)新建用户jerry
# useradd jerry
(2)为hr组设置密码
# gpasswd hr
(3)jerry查看自己的组信息
# su - jerry
$ id -gn //查看自己在哪个组中
jerry
(4)jerry把自己临时加入到hr组中
$ newgrp hr
password: 填入正确的hr组密码
$ id -gn
hr
(5)jerry切换回到自己的组中
$ exit
$ id
uid=503(jerry) gid=503(jerry) groups=503(jerry) 入到hr组中
6、删除组
# groupdel hr
//表明jerry并没有永久的加
因篇幅问题不能全部显示,请点此查看更多更全内容