#######1.用户及用户组存在的意义#######
1.用户是操作者在系统中的身份识别
2.组是逻辑概念,是用户的集合
3.用户存在为了限制权限
4.组的存在为了归类用户便于管理权限
Linux用户分为两种:
1.超级用户 #root
2.普通用户 #1.系统用户 2.登陆用户
######2.用户如何存在######
1.用户在系统中就是文件中的字符串
2.每个字符串映射了该用户的系统资源
[root@workstation Desktop]# vim /etc/passwd ##编辑/etc下的passwd
westos:x:6666:6666::/home/westos:/bin/bash
[root@workstation Desktop]# su - westos
上一次登录:三 1月 1 02:22:59 EST 2020pts/0 上
su: 警告:无法更改到 /home/westos 目录: No such file or directory ##没有家目录
id: cannot find name for group ID 6666 ##组信息不存在
[westos@workstation Desktop]$ logout
[root@workstation Desktop]# mkdir /home/westos ##建立家目录
[root@workstation Desktop]# vim /etc/group ##建立组
westos:x:6666:
[root@workstation Desktop]# su - westos
上一次登录:三 1月 1 02:24:23 EST 2020pts/0 上
[root@workstation Desktop]# chown westos.westos /home/westos ##对目录所有人所有组进行更改
[westos@workstation ~]$ cp /etc/skel/.* /home/westos/ ##拷贝配置文件
[root@workstation Desktop]# passwd westos ##给westos用户设定密码
更改用户 westos 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@workstation Desktop]#
[root@workstation Desktop]# chmod westos.westos /home/westos/ ##在超级用户里将家目录赋予给westos用户
#####3.用户涉及到的配置文件及内容########
1./etc/passwd ##用户信息库 ##1-4系统身份配置文件
2./etc/group ##组信息库
3./hone/用户同名目录 ##默认用户家目录
4./etc/skel/所有文件 ##用户环境配置文件模板
5./etc/shadow ##用户认证信息
6./etc/gshadow ##组认证信息
#####4.用户信息查看########
id ##查看指定用户id信息
1.-u ##查看用户的uid
2.-g ##查看用户gid
3.-G ##查看用户所在的所有组的id
4.-n ##显示名字而不显示id数字
[root@workstation Desktop]# useradd linux ##建立用户linux
[root@workstation Desktop]# su - linux
[linux@workstation ~]$ whoami ##查看当前用户
linux
#########5.用户身份的切换方式及环境变量######
1.[root@workstation Desktop]# gnome-session-quit ##注销当前用户
[root@workstation Desktop]# gnome-session-quit -force ##直接注销当前用户
2.su ##只切换用户身份,不切换用户环境
su - ##切换用户身份及用户环境
[root@workstation Desktop]# su - student ##切换用户及环境到student
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要平级用户切换切换也需要
#####6.用户及用户组的建立及删除######
[root@workstation Desktop]# watch -n 1 'tail -n 5 /etc/passwd /etc/group ; ls - l /home/' ##打开监控面板之后新开一个shell
1.组
[root@workstation Desktop]# groupadd westos ##建立组身份
[root@workstation Desktop]# groupdel westos ##删除组身份
[root@workstation Desktop]# groupadd -6666 westos ##建立id为6666组身份
2.用户
[root@workstation Desktop]# useradd westos ##建立用户
[root@workstation Desktop]# userdel -r westos ##删除用户 -r删除用户的信息及用户的环境配置
[root@workstation Desktop]# useradd -u 6666 westos ##指定用户的id
[root@workstation Desktop]# useradd -g 6666 westos ##指定用户的gid
注意:-g制定初始组id 这个组必须存在
[root@workstation Desktop]# useradd -c "westos user" westos ##指定用户说明
[root@workstation Desktop]# useradd -d /mnt/westos westos ##指定用户家目录,默认为/home/username
[root@workstation Desktop]# useradd -s /sbin/nologin westos ##指定用户的默认shell
[root@workstation Desktop]# useradd -M -s /sbin/nologin westos ##不建立家目录 -M不建立家目录
[root@workstation Desktop]# useradd -G 70 westos ##指定用户的附加组
######7.用户及用户组的信息管理######
[root@workstation Desktop]# watch -n 1 'tail -n 5 /etc/passwd /etc/group ; ls - l /home ##打开监控面板在新开一个shell
[root@workstation Desktop]# groupmod -g 8888 westos ##更改用户信息
[root@workstation Desktop]# usermod -l redhat westos ##更改用户名字
[root@workstation Desktop]# usermod -l westos redhat ##将名字改回去
[root@workstation Desktop]# usermod -u 88888 westos ##更改用户uid
[root@workstation Desktop]# usermod -g 42 westos ##更改用户gid
[root@workstation Desktop]# usermod -G student westos ##更改用户的附加组
[root@workstation Desktop]# id westos
uid=88888(westos) gid=8888(westos) 组=8888(westos),1000(student)
[root@workstation Desktop]# usermod -G root westos
[root@workstation Desktop]# id westos
uid=88888(westos) gid=8888(westos) 组=8888(westos),0(root)
注意:G只是更改,会清掉以前的组
[root@workstation Desktop]# usermod -aG 1000 westos ##指定用户的附加组
[root@workstation Desktop]# id westos
uid=88888(westos) gid=8888(westos) 组=8888(westos),1000(student),0(root)
[root@workstation Desktop]# usermod -G "" westos ##清除所有附加组
[root@workstation Desktop]# id westos
uid=88888(westos) gid=8888(westos) 组=8888(westos)
[root@workstation Desktop]# usermod -c "westos user" westos ##修改用户说明
[root@workstation Desktop]# usermod -d /home/lee westos ##修改用户家目录
注意:只是修改家目录的指向
[root@workstation Desktop]# usermod -md /home/lee westos ##更改家目录以及家目录真实的目录
[root@workstation Desktop]# usermod -s /sbin/nologin westos ##修改用户shell类型
#####8.用户认证的文件内容分析#####
[root@workstation Desktop]# vim /etc/shadow ##用户认证信息文件
[root@workstation Desktop]# passwd westos ##给用户westos设定密码
更改用户 westos 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
注意:
westos:$6$J.anm372jTQZa1CC$Hl9IYXwsWTmH0Lw3suJWemNlWfX/hoCedCEtHxwu.abf34TE6YgXj/6x8gZSY5CWyhbLh42toISqUVVlZMMAA/:18262:0:99999:7:::
westos ##用户名
$6$J.anm372jTQZa1CC$Hl9IYXwsWTmH0Lw3suJWemNlWfX/hoCedCEtHxwu.abf34TE6YgXj/6x8gZSY5CWyhbLh42toISqUVVlZMMAA/ ##用户中的加密字符
18262 ##账号密码最后一次被修改的时间
0 ##密码的最短有效期
99999 ##密码的最长有效期
7 ##密码到七前警告
:(7之后第一个): ##密码的非活跃天数
:(7之后第二个): ##账号的到期时间
#####9.用户信息认证管理#######
passwd ##既可以管理用户的密码也可以管理密码的属性但不是所有属性
[root@workstation Desktop]# passwd -e westos ##将最后一次登陆密码的时间改成0,在登陆的时候强制改密码
[root@workstation Desktop]# passwd -n 1 westos ##-n 密码的最短有效期
[root@workstation Desktop]# passwd -x 20 westos ##-x 密码的最长有效期
[root@workstation Desktop]# passwd -w 3 westos ##-w 密码警告期
[root@workstation Desktop]# passwd -i 2 westos ##密码的非活跃天数
注意:passwd不具备修改账号到期时间
[root@workstation Desktop]# passwd -d westos ##删除密码
[root@workstation Desktop]# passwd -l westos ##冻结账号
[root@workstation Desktop]# passwd -u westos ##解锁账号
注意:冻结之后解锁需要密码
[root@workstation Desktop]# passwd -S westos ##对账号密码进行查看
chage ##可以修改密码的所有属性但不可以修改密码
[root@workstation Desktop]# chage -l westos ##查看密码信息
[root@workstation Desktop]# chage -d 111 westos ##密码最后一次被修改时间
[root@workstation Desktop]# chage -m 2 westos ##修改密码的最短有效期
[root@workstation Desktop]# chage -M 999 westos ##修改密码的最长有效期
[root@workstation Desktop]# chage -W 7 westos ##密码警告期
[root@workstation Desktop]# chage -I 3 westos ##设定密码账号的非活跃天数
[root@workstation Desktop]# chage -E "2019-07-01" westos ##账号到期日
#####10.用户权力的下放#######
[root@workstation Desktop]# useradd westos ##建立一个用户
[root@workstation Desktop]# hostname ##查看主机id
[root@workstation Desktop]# which useradd ##寻找useradd文件位置
[root@workstation Desktop]# visudo ##新开一个shell编辑,复制hostname和useradd文件位置
[root@workstation Desktop]# su - westos ##进入用户
[westos@workstation ~]$ sudo useradd lei ##在普通用户中创建新用户