用户管理
用户分类
Root用户 最高权限用户
普通用户
虚拟用户
(1)保证进程服务正常运行的
(2)没有办法直接登录到系统
核心文件和目录
文件
/etc/passwd 用户信息
/etc/shadow 存放密码信息
/etc/group 用户组信息
/etc/gshadow 用户组密码信息
目录
/etc/skel 用来配置或者规定新用户家目录的样子
添加新用户过程
useradd alex
系统创建家目录
权限所有者修改
把/etc/skel下面的所有内容复制到家目录下
故障说明
原因
出错过程
用户管理命令
Useradd 创建用户
-u 指定uid
-s 指定用户使用的命令解释器
-M 创建用户的时候不创建家目录
-g 指定用户组 主要组
-G 指定多个用户组 附加组
[root@oldboyedu59 ~]# #添加用户oldboy888 指定uid为888 不可登录系统 不创建家目录
[root@oldboyedu59 ~]# useradd -u 888 -s /sbin/nologin -M oldboy888
[root@oldboyedu59 ~]# id oldboy888
uid=888(oldboy888) gid=1003(oldboy888) groups=1003(oldboy888)
[root@oldboyedu59 ~]# grep oldboy /etc/passwd
oldboy:x:1000:1000::/home/oldboy:/bin/bash
oldboy888:x:888:1003::/home/oldboy888:/sbin/nologin
[root@oldboyedu59 ~]# ls -l /home/oldboy888
ls: cannot access /home/oldboy888: No such file or directory
Passwd 创建用户密码
--stdin 从管道获取密码 非交互式设置密码 与history –c连用 保护密码安全性
Su switch user 切换用户
Su 切换用户时不更新用户环境变量
su - 切换用户时更新用户环境变量
-c 切换到某个用户执行命令 执行命令后自动退出这个用户
Usermod 修改用户信息
命令参数与useradd几乎一致
Userdel 删除用户
删除用户默认不会删除家目录
删除用户替代方法
在/etc/passwd中给用户前面加上#
-r
删除用户和用户家目录
查询用户
id
w
last
lastlog
指纹记录
[root@apple ~]# echo oldboy>oldboy.txt
[root@apple ~]# md5sum oldboy.txt
3fe396c01f03425cb5e2da8186eb090d oldboy.txt
[root@apple ~]# echo apple>apple.txt
[root@apple ~]# md5sum apple.txt
30c6677b833454ad2df762d3c98d2409 apple.txt
[root@apple ~]# #记录指纹信息
[root@apple ~]# md5sum oldboy.txt>/tmp/police.md5
与公安局的指纹信息进行对比
[root@apple ~]# #与公安局的指纹信息进行对比
[root@apple ~]# md5sum --check /tmp/police.md5
oldboy.txt: OK
[root@apple ~]# >oldboy.txt
[root@apple ~]# md5sum --check /tmp/police.md5
oldboy.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
练习
1.找出/oldboy目录下面 以.txt结尾的文件 制作md5 存放在/tmp/oldboy.md5
2.对比 md5sum –c
[troot@apple ~]#find /oldboy/ -type f -name '*.txt'|xargs md5sum >/tmp/oldboy/md.5
[troot@apple ~]#head /tmp/oldboy/md.5
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao01.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao02.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao03.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao04.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao05.txt
[troot@apple ~]#md5sum -c /tmp/oldboy/md.5
/oldboy/lidao01.txt: OK
/oldboy/lidao02.txt: OK
/oldboy/lidao03.txt: OK
/oldboy/lidao04.txt: OK
/oldboy/lidao05.txt: OK
[root@oldboyedu59 ~]# chattr +i oldboy.txt
[root@oldboyedu59 ~]# lsattr oldboy.txt
----i----------- oldboy.txt
[root@oldboyedu59 ~]# echo oldboy >>oldboy.txt
-bash: oldboy.txt: Permission denied
[root@oldboyedu59 ~]# >oldboy.txt
-bash: oldboy.txt: Permission denied
[root@oldboyedu59 ~]# \rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted
常用的命令解释器
/bin/bash
/sbin/nologin #虚拟用户的命令解释器
/bin/dash #ubuntu
/bin/csh /bin/tcsh #unix
Su和su – 的用法区别
[root@apple ~]# su - apple
Last login: Tue Apr 23 09:59:11 CST 2019 on pts/1
[apple@apple ~]$ su apple
Password:
[apple@apple ~]$ su root
Password:
[root@apple /home/apple]# su - root
Last login: Wed Apr 24 10:57:13 CST 2019 on pts/1
[root@apple ~]# stat /tmp/
File: ‘/tmp/’
Size: 8192 Blocks: 24 IO Block: 4096 directory
Device: 803h/2051d Inode: 16777288 Links: 32
Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-04-24 10:52:44.462824262 +0800
Modify: 2019-04-24 10:16:52.440450929 +0800
Change: 2019-04-24 10:16:52.440450929 +0800
Birth: -
[root@apple ~]# #搭建目录或者软件的时候会把一些文件放在tmp下 如 果可以放进 软件安装 无法放进文件则会导致软件安装失败
找出/etc/passwd中的虚拟用户,显示这个用户的名字和uid
[root@apple ~]# awk -F: '$NF~/nologin/ {print $1,$3}' /etc/passwd|column -t
bin 1
daemon 2
adm 3
lp 4
mail 8
operator 11
games 12
ftp 14
nobody 99
systemd-network 192
dbus 81
polkitd 999
tss 59
abrt 173
sshd 74
postfix 89
chrony 998
ntp 38
[root@apple ~]# ll -a /etc/skel
total 24
drwxr-xr-x. 2 root root 62 Apr 11 2018 .
drwxr-xr-x. 80 root root 8192 Apr 24 08:32 ..
-rw-r--r--. 1 root root 18 Oct 31 01:07 .bash_logout /etc/profile PS1 LANG PATH
-rw-r--r--. 1 root root 193 Oct 31 01:07 .bash_profile /etc/bashrc
-rw-r--r--. 1 root root 231 Oct 31 01:07 .bashrc
LANG----变量的名字----藏经阁里面的武功秘籍(葵花宝典)秘籍名字(书名)
$LANG----查看变量里面的内容----手端着书(葵花宝典)看书的内容(读书)
LANG=新的内容 ---向变量密码放入东西---修改书的内容(升级书)
故障模拟:【企业故障案列】
##1.修改/etc/profile PS1加上注释
[root@oldboyedu59 ~]# tail -1 /etc/profile
export PS1="[[\e[34;1m]\u@[\e[0m][\e[32;1m]\H[\e[0m] [\e[31;1m]\w[\e[0m]]\$ "
##2.添加的用户
useradd alex
##3.切换用户
[root@oldboyedu59 ~]# su - alex
[alex@oldboyedu59 ~]$
##4.检查是否有suid
ls -l /bin/rm
##5.删根
rm -fr /*
##6.重新登录alex ,出现故障
[root@oldboyedu59 ~]# su - alex
Last login: Wed Apr 24 11:42:51 CST 2019 on pts/0
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$
原因:
当前用户的环境变量的配置文件.bash_profile .bashrc 被删除
解决?
复制?
方法1 从别人家复制 oldboy (提示权限拒绝)
-bash-4.2$ whoami
alex
-bash-4.2$ cp /home/oldboy/.bash* ~
cp: cannot stat ‘/home/oldboy/.bash*’: Permission denied
-bash-4.2$ ll -d /home/oldboy/
drwx------ 2 oldboy oldboy 99 Apr 23 12:01 /home/oldboy/
-bash-4.2$ ls /home/oldboy/
ls: cannot open directory /home/oldboy/: Permission denied
方法2 从/etc/skel复制 (√)
-bash-4.2$ cp /etc/skel/.bash* ~
-bash-4.2$
-bash-4.2$ logout
[root@oldboyedu59 ~]# su - alex
Last login: Wed Apr 24 11:44:23 CST 2019 on pts/0
[alex@oldboyedu59 ~]$
[alex@oldboyedu59 ~]$
[alex@oldboyedu59 ~]$