1.用户存在的意义
安全
用户概念在系统中是系统安全机制的一部分
2.组存在的意义
共享 开放权力
3.用户的查看
1)查看当前用户
whoami ##查看当前用户
2)系统中用户的查看
id ##查看指定用户id信息
id -u ##查看用户的uid,user
id -g ##查看用户的gid,group
id -G ##查看用户所在的所有组的
id -n ##显示名字而不显示id数字
id -gn
注意: id -n 要和-g或-u 配合使用,初始组、附加组
用户切换
su - 用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级不需要密码,低级切换到高级、平级用户需要
补: ‘-’保证了身份变换的同时环境也变了,保持一致,没有“-”会导致环境和身份的混乱
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
不要多次切换,exit或者ctrl + d退出后再切换,切越多shell越卡(用System Monitor可清楚查看进程变化)
用户在系统中的存储方式
/etc/passwd ##用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell ##七段
/etc/group ##用户组信息文件
组名称:组密码:组id:附加组成员 ##四段
/etc/shadows ##组认证信息文件
/etc/skel/.* ###用户骨架文件,默认开启shell的配置
/home/username ##用户家目录,默认所在位置
用户管理
用户删除
userdel
userdel student ##删除用户但不删除用户的配置文件
userdel -r student ##删除用户并删除用户的配置文件
用户建立
用户信息监控命令
watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home"
useradd username ##建立用户时,读取/etc/login.defs文件内容确定规则;默认uid与gid相同
useradd -u 8888 westos ##指定用户uid(默认从1000开始)
useradd -g 6666 westos ##指定用户初始组id,"6666用户组必须是存在的"
useradd -G 6666 westos ##指定用户的附加组id “6666用户组必须存在”
useradd -c "hello" westos ##指定用户的说明
useradd -d /home/lee westos ##指定用户的家目录
useradd -s /bin/sh westos ##指定用户的默认shell
补:-u 或 -g 后面的即可以是 id 也可以是 id 对应的名
组建立删除
groupadd ##建立用户组
groupadd -g 888 ##建立用户组并指定用户组的id
groupdel 组名 ##删除用户组
监控命令 watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'
更改信息
更改组信息
groupmod -g 6666 linux ##更改组信息,前提group里有
更改用户信息
usermod 参数 用户
usermod -l 新名称 westos ##更改用户的名称
usermod -u 6666 westos ##更改用户uid
usermod -g 21 westos ##更改用户的初始组
usermod -G 21 westos ##更改用户的附加组
usermod -aG 72 westos ##添加用户的附加组
usermod -G "" westos ##删除用户所有附加组的身份
解释:-G从一个组移动到另一个,aG两个组下都有
usermod -c "" westos ##删除用户说明文字
usermod -c "xxxxxx" westos ##指定用户说明文字
usermod -d /home/lee westos ##更改用户家目录的指向
usermod -md /home/lee westos ##更改用户家目录指向及家目录名称
说明:/home/xx 和目录必须一致,-md才有效(即若家目录指向错误,则-md 之后不会改变)
usermod -s /bin/sh westos ##更改用户的shell
usermod -L westos ##冻结用户
usermod -U westos ##解锁用户
用户认证信息
/etc/shadows ##记录用户认证信息
用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:密码警告期限:用户非活跃天数:用户到期日:用户自定义列,目前没有启用
passwd -S westos ##查看westos用户密码信息
监控密码命令: watch -n 1 " tail -n 3 /etc/shadow; passwd -S westos"
passwd westos ##更改westos密码
passwd -l westos ##在用户密码前加入“!!”
passwd -u westos
usermod -L westos ##在用户密码前加入“!”
usermod -U westos ##在密码不为空时使用
passwd -d westos ##清空westos密码
passwd锁定强于usermod锁定,即"!!"强于"!",usermod一次可解一个!,遇空密码不可行,passwd一次解两个!!,可在密码为空使用
注意: 普通用户改密码时
1.必须知道当前原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合
chage 参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
passwd -e westos ##会改变用户最后一次更改密码时间为0,用户在登陆时会被强制更改密码
chage -d 0 westos
-m ##最短有效期
passwd -n 1 westos ##westos用户在1天之内不能修改密码
chage -m 1 westos
-M ##最长有效期
passwd -x 30 westos ##设定westos在30天内必须改密码
chage -M 40 westos
-W ##警告期
passwd -w 2 westos ##密码过期前两天有警告输出
chage -W 2 westos
-I ##用户非活跃天数
passwd -i 1 westos ##密码过期后仍可登陆系统的天数
chage -I 1 westos
-E ##帐号到期日格式
chage -E 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
用户授权
在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
下放权力的方法 : vim /etc/sudoers 不提供语法检错
visudo命令,语法检错
步骤:
*visudo
文件100行左右写入命令用户 主机名称 = (得到的用户身份)
tom localhost=(root) NOPASSWD: /usr/sbin/useradd
说明:tom在主机上以root身份免密执行useradd
tom localhost=(root) /usr/sbin/useradd
说明:tom在主机上以root身份执行useradd
tom localhost=(root) /usr/sbin/useradd , /usr/sbin/userdel
测试
su - tom
sudo useradd hello ##如果第一次执行sudo需要输入当前用户密码