用户管理操作
用户 初始组(亲爹,生而带来) 附加组(干爹,可以指定)
同一个组内可以共享一些信息
1.用户存在的意义
权力的放
2.组存在的意义
权力的收,组内可以权力共享
3.用户的查看
1)查看当前用户
whoami
2)系统中用户的查看
id ###查看指定用户的id
id -u ###查看用户的uid 身份证 ,用户id是表示每个用户的唯一标示符
id -g ###查看用户的gid 户口簿,组id是用户组的唯一标示符
id -G ###查看用户所在的所有组
id -n ###显示名字而不显示id
例如:id -nG ###查看所有组的名字
4.用户切换
gnome-session-quit --force #注销当前用户,再用其他用户登陆
su - #-会改变用户和用户环境,不加-只会改用户不会改环境,所以必须加-
su #只改变用户,错误的用法
由高级用户到低级用户不需要密码,平级切换需要密码,低级到高级也需要密码
每次su切换用户必须exit退出,然后再切换到其他用户
5.更改密码 passwd
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
-S student ##用户密码信息
–status student ##用户状态信息
-l student ##锁定帐号
-u student ##解锁
-n 1 student ##设定密码最短有效期
-x 30 student ##设定密码最长有效期
-w 3 student ##警告期
-i 2 student ##设定用户非活跃天数
-d student ##清除用户密码
普通用户修改自己的用户:passwd 按回车,随后输入密码即可
查看Linux账号的密码状态:passwd -S 用户名
锁定用户:passwd -l 用户名
解锁用户:passwd -u 用户名
使用字符创作为用户的密码:
echo "123456" | passwd --stdin 用户名
--stain的意思是 接收前面echo输出的值123456作为passwd的密码值
6.用户删除
userdel student #删除用户的但不删除用户的配置文件
userdel -r student #删除用户并且删除用户的配置文件
7.用户信息相关文件
/etc/passwd #用户信息文件
Root : x : 0 : 0 : root : /root : /bin/bash
用户名称:密码:uid:gid:说明:家目录:默认shell
默认shell可选择的在/etc/shells文件中查看,一般有:
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
/etc/group #用户信息文件
root : x : 0 :
组名字 :组密码 : 组id :组成员
/etc/shadows #认证信息文件
/home/username #用户的家目录
8.用户建立
*用户信息监控命令
watch -n 1 "tail -n 3 /etc/passwd etc/group;ls -l /home"
以1秒为间隔监视passwd、group的后三行以及home文件的属性
useradd ###建立用户,建立用户时读取/etc/login.defs文件内容确定uid确定的规则*
useradd -u 666 test ###建立uid为666,名称为test用户。此时gid按照系统默认规则分配
useradd -g 666 test ###建立gid为666,名称为test的用户。此时uid按照规则分配 (但是此时要先使得gid为666的组存在,groupadd -g 666 test)
useradd -G 666 test ###建立uid和gid按规则,但附加组id为666的test用户。(666组必须先存在)
useradd -c 'hello' test ###指定用户的说明为hello
useradd -d /home/lee test ###指定用户的家目录
useradd -s /bin/sh test ###指定用户的默认shell
useradd -s /sbin/nglogin rr #这个用户不能交互式的登陆,限制用户不能登陆
groupadd test #新建test组,gid按系统规则分配
groupadd -g 666 test1 #建立gid为666的test1组
groupdel test1 #删除test1组
9.用户信息的更改
usermod 参数 用户(已经存在)
-l 更改用户名称
-u 更改用户uid
-g 更改用户gid
-G 更改用户附加组
-aG 添加用户附加组,-aG表示增加一个附加组,
即用户可以拥有多个附加组
-c 更改用户说明
-d 更改用户家目录
-s 更改用户shell
-L 冻结用户
-U 解冻用户
usermod -G '' lily #删除lily的所有附加组
10.用户权力的下放
(1)在系统中超级用户可以下放给普通用户不能执行的操作,如test(普通用户)执行useradd,会报错
[test@foundation0 ~]$ useradd test1
bash: /usr/sbin/useradd: Permission denied
下放权力的配置文件:/etc/sudoers
(2)下放权力的方法:
a)超级用户执行visudo,进入编辑/etc/sudoers模式,第90行
b)格式
获得权限的用户 主机名称=(获得到的用户身份) 命令
test localhost=(root) NOPASSWD:/usr/sbin/useradd
其中NOPASSWD表示用户调用sudo命令时不需要自己的密码
主机名称可以用 hostname命令查看
设置完上述操作后,便可在test用户下,使用“sudo useradd yy"添加用户
11.用户认证信息控制
/etc/shadow ##用户的认证信息
用户:密码:最后一次密码修改的时间:最短有效期:最长有效期:警告期:非活跃期
:帐号到期日期
chage -l aa
查看aa用户的所有信息
(1)最短有效期 chage -m 6 aa
(2)警告期 chage -W 2 aa
(3)最长有效期 chage -M 10 aa
(4)非活跃天数 chage -I 8 aa
(5)帐号到期 需要按照格式“YYYY-MM-DD”
chage -E “2018-12-31” aa
passwd -i 2 username = chage-I 2 username
#设定用户非活跃天数,2天后(过期后)停止用户账号
passwd -e username = chage -d 0 username
#账号到期日
passwd -n 1 username = chage -m 1 username
#最短有效期 1天之内不能改密码
passwd -x 30 username = chage -M 30 username
#username密码的有效期为30天,30天之外必须改密码
passwd -S student
#显示student密码信息
-d 用户密码最后一次修改的世界,若设定为0,则用户登陆系统的时候必须修改自己的密码
只需要改一次
chage -d 0 student
设置完后,切换登陆student用户便会被要求修改密码