一、用户查看
1.用户存在的意义
为了解决权限问题
2.组存在的一意义
为了方便控制权限(安全)
3.用户的查看
(1)查看当前用户
whoami
[root@localhost Desktop]# whoami
root
[root@localhost Desktop]#
(2)系统中用户的查看
id ##查看指定用户id信息
id
-u ##查看用户的uid (用户id《身份证号》)
-g ##查看用户的gid (初始组id《户口本号》)
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
[root@localhost Desktop]# id -u
0
[root@localhost Desktop]# id -g
0
[root@localhost Desktop]# id -G
0
二、用户切换
格式:su - 用户名称
[root@localhost Desktop]# su - student
Last login: Sat Oct 6 08:13:58 EDT 2018 on pts/1
[student@localhost ~]$ whoami
student
[student@localhost ~]$ id -u
1000
[student@localhost ~]$ id -g
1000
[student@localhost ~]$ id -G
1000 10
[student@localhost ~]$ exit
logout
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
ctrl+d 或 exit 退出
至少保证一个shell中最多切换两次用户
三、用户在系统中的存储方式
1、存储方式:文件中的字符
(1)/etc/passwd (存储用户信息)
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell(默认shell有bash 有sh)
(2)/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
(3)/etc/shadows
认证信息文件
(4)/etc/skel/.*
默认开启shell的配置,用户的骨文件
(5)/home/username
用户的家目录
三、 用户管理命令
(1)用户的删除
userdel
userdel student ##删除用户但不删除用户的配置文件
userdel -r student ##删除用户并删除用户的配置文件及用户名称
(2)用户建立
用户信息监控命令 useradd
监控:watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home’
建立用户指定用户组的时候,需先建立一个用户组名称及id和将要建立用户的用户组名称一至,删除用户时建立的用户组一并删除。 useradd ##建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则
useradd -u 8888 westos ##指定用户uid(默认从1000开始)
useradd -g 21 westos ##指定用户初始组id,“21用户组必须是存在的”
useradd -G 21 westos ##指定用户的附加组id “21用户组必须存在”
useradd -c “hello” westos ##指定用户的说明
useradd -d /home/lee westos ##指定用户的家目录
useradd -s /bin/sh westos ##指定用户的默认shell
groupadd ##建立用户组
groupadd -g 888 ##建立用户组并指定用户组的id
groupdel 用户名##删除用户组
更改信息
更改组信息
groupmod -g id 组名
3)更改用户信息
usermod
usermod -l 新名称 原名称 ##更改用户的名称
usermod -u 6666 westos ##更改用户uid
usermod -g 21 westos ##更改用户的初始组
usermod -G 21 westos ##更改用户的附加组(原有附加组被删除)
usermod -aG 72 westos ##添加用户的附加组(在原有组的条件上加用户组)
usermod -G “” westos ##删除用户所有附加组的身份(“”中不添加内容)
usermod -c “hahahah” westos ##指定用户说明文字
usermod -d /home/lee westos ##更改用户家目录的指向
(只改变/etc/psaawd里家目录的名称,不改变目录名称。例如建立一个用户yixing,用户家目录地址为/home/yixing (ls /home),用户家目 录的指向为/home/yixing(/etc/passwd),-d改变家目录为 -d/home/xback时,家目录为/home/yixing,但目录的指向变为/home/xback,也就是/etc/passwd中家目录的指向为/home/xback)
usermod -md /home/lee westos ##更改用户家目录(即改变了/etc/passwd里家目录的名成,也改变了家目录的指向)
usermod -s /bin/sh westos ##更改用户的shell
usermod -L westos ##冻结用户(账户的冻结及解冻只能在root用户下操作)
usermod -U westos ##解锁用户
四、 用户认证信息
1、记录用户认证信息
/etc/shadows
[root@localhost ~]# cat /etc/shadow
root: 6 6 6UiGI4Tc2$htsXYn5cJnOqv3P1VLcUSgfjDu2pL5yiJBuua6foZAHdwqeuLHfYUfS/vBn27Wjvoel8EJgtdsMjyquqvKAmf1:16261:0:99999:7:::
bin::16141:0:99999:7:::
daemon::16141:0:99999:7:::
adm::16141:0:99999:7:::
lp::16141:0:99999:7:::
sync::16141:0:99999:7:::
shutdown::16141:0:99999:7:::
halt::16141:0:99999:7:::
mail::16141:0:99999:7:::
operator::16141:0:99999:7:::
games::16141:0:99999:7:::
ftp::16141:0:99999:7:::
nobody::16141:0:99999:7:::
dbus:!!:16197::::::
polkitd:!!:16197::::::
avahi:!!:16197::::::
avahi-autoipd:!!:16197::::::
rpc:!!:16197:0:99999:7:::
rpcuser:!!:16197::::::
nfsnobody:!!:16197::::::
ovirtagent:!!:16197::::::
postfix:!!:16197::::::
sshd:!!:16197::::::
chrony:!!:16197::::::
student: 6 6 6g1DcPjEq$DVTBkze.8xXuBHhoO5syNT.SVZtrWQQdaku5vmSZ/nxZGbi8gKO0/K76f7LX0MzLwSbjaUSYfcu9Lr.IkJyu/0:17814:0:99999:7:::
usbmuxd:!!:16261::::::
colord:!!:16261::::::
abrt:!!:16261::::::
libstoragemgmt:!!:16261::::::
unbound:!!:16261::::::
qemu:!!:16261::::::
saslauth:!!:16261::::::
ntp:!!:16261::::::
rtkit:!!:16261::::::
radvd:!!:16261::::::
pulse:!!:16261::::::
gdm:!!:16261::::::
gnome-initial-setup:!!:16261::::::
tcpdump:!!:16261::::::
westos:!!:0:0:99999:7:::
此文件一共有九列:
用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期(有效期期间不允许修改密码):用户密码最长有效期:
密码警告期限(到期限发出高警):用户非活跃天数:用户到期日:用户自定义列,目前没有启用
passwd -S westos ##查看westos用户密码信息
2、用户名称
(1) 用户密码
passwd westos ##更改westos密码
root@localhost Desktop]# passwd student
Changing password for user student.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost Desktop]# useradd westos
[root@localhost Desktop]# su - westos
[westos@localhost ~]$ su - student
Password:
Last login: Wed Oct 10 08:06:27 EDT 2018 on pts/0
[student@localhost ~]$
passwd -l westos ##在用户密码前加入“!!”(passwd - l锁定权限强度大于usermod -L锁定的强度)
监控:
[root@localhost ~]# watch -n 1 cat /etc/shadow
锁定前
锁定后
passwd -u westos ##去掉用户密码前的‘! !’
usermod -L westos ##在用户密码前加入“!”(冻结用户,也就是在密码前添加了!)
usermod -U westos ##在密码不为空时使用(解冻用户,也就是在去掉了密码前的!)
passwd -d westos ##清空westos密码
注意:
普通用户改密码时
1.必须知道当前原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合
(2)用户密码最后一次被更改的时间
passwd -e westos ##会改变用户最后一次更改密码时间为0.
##用户在登陆时会被强制更改密码
chage -d 0 westos ##两个命令功能类似
(3)用户密码最短有效期
passwd -n 1 westos ##westos用户在1天之内不能修改密码
chage -m 1 westos
[root@localhost ~]# passwd -n 1 student
Adjusting aging data for user student.
passwd: Success
[root@localhost ~]# su - student
Last login: Wed Oct 10 10:20:04 EDT 2018 on pts/1
[student@localhost ~]$ passwd
Changing password for user student.
Changing password for student.
(current) UNIX password:
passwd: Authentication token manipulation error ##修改失败
[student@localhost ~]$
注意,此时修改密码指的是在非root用户下修改被拒绝,否则在root用户下是可以修改成功的。
(4)用户密码最长有效期
passwd -x 30 westos ##设定westos在30天内必须改密码
chage -M 40 westos
(5)密码警告期限
passwd -w 2 westos ##密码过期前两天有警告输出
chage -W 2 westos
(6)用户非活跃天数#
passwd -i 1 westos ##密码过期后仍可登陆系统的天数
chage -I 1 westos
(7)用户到期日
chage -E 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
7
五、授权转移(权力下发)
1、/权力下发文件:/etc/sudoers
可以使用vim编辑,但编辑出错时可以成功退出,且不进行语法检测
也可以使用visudo编辑,用visudo并编辑时若有错误编辑可以正确退出,但提出后会提示有错需进行修改
2、 权限下放方式:
用户 主机名称=(需要用哪个身份进行操作) 命令
查看一个目录的权限:ls -ld(-ld表示目录本身而不是目录里面的内容)