特殊权限及相关用户管理命令

在这里插入图片描述

给oldboy.txt做个指纹
[root@oldboyedu-59 ~]# echo oldboy>oldboy.txt
[root@oldboyedu-59 ~]# md5sum oldboy.txt
3fe396c01f03425cb5e2da8186eb090d oldboy.txt

在这里插入图片描述

对比文件是否发生变化
在这里插入图片描述

[root@oldboyedu-59 ~]# #记录指纹信息
[root@oldboyedu-59 ~]# md5sum oldboy.txt
af5a89bcc62e35fcd51819bb4031ab2e oldboy.txt
[root@oldboyedu-59 ~]# md5sum oldboy.txt >/tmp/police.md5
[root@oldboyedu-59 ~]# #与公安局的指纹信息进行对比
[root@oldboyedu-59 ~]# md5sum --check /tmp/police.md5
oldboy.txt: OK
[root@oldboyedu-59 ~]# >oldboy.txt
[root@oldboyedu-59 ~]# md5sum --check /tmp/police.md5
oldboy.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
在这里插入图片描述
也可以简写成这样
md5sum --check /tmp/police.md5 ==============md5sum -c /tmp/police.md5

在这里插入图片描述

  1. 找出/oldboy目录下面 以.txt结尾的文件 制作md5 存放在/tmp/oldboy.md5
  2. 对比 md5sum -c

[root@oldboyedu-59 ~]# find /oldboy/ -type f -name ‘*.txt’|xargs md5sum > /tmp/oldboy.md5
[root@oldboyedu-59 ~]# head /tmp/oldboy.md5
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao/oldboy01.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao/oldboy02.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao/oldboy03.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao/oldboy04.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/lidao/oldboy05.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/oldboy01.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/oldboy02.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/oldboy03.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/oldboy04.txt
d41d8cd98f00b204e9800998ecf8427e /oldboy/oldboy05.txt
[root@oldboyedu-59 ~]# md5sum -c /tmp/oldboy.md5
/oldboy/lidao/oldboy01.txt: OK
/oldboy/lidao/oldboy02.txt: OK
/oldboy/lidao/oldboy03.txt: OK
/oldboy/lidao/oldboy04.txt: OK
/oldboy/lidao/oldboy05.txt: OK
/oldboy/oldboy01.txt: OK
/oldboy/oldboy02.txt: OK
/oldboy/oldboy03.txt: OK
/oldboy/oldboy04.txt: OK
/oldboy/oldboy05.txt: OK
/oldboy/fs.txt: OK
/oldboy/passwd.txt: OK
/oldboy/oldboy.txt: OK
/oldboy/666.txt: OK
/oldboy/777.txt: OK
/oldboy/lidao01.txt: OK
/oldboy/lidao02.txt: OK
/oldboy/lidao03.txt: OK
/oldboy/lidao04.txt: OK
/oldboy/lidao05.txt: OK
在这里插入图片描述

文件系统权限(隐藏属性)
在这里插入图片描述
文件系统权限(隐藏属性)
chattr
修改隐藏属性
a
append
只能追加
i
immutable
无敌的
应用
a 核心配置文件
i 系统命令
lsattr
查看隐藏属性

a只能追加(清空,删除都不行)
在这里插入图片描述
[root@oldboyedu-59 ~]# lsattr oldboy.txt
---------------- oldboy.txt
[root@oldboyedu-59 ~]# chattr +a oldboy.txt
[root@oldboyedu-59 ~]# lsattr oldboy.txt
-----a---------- oldboy.txt
[root@oldboyedu-59 ~]# echo oldboy >>oldboy.txt
[root@oldboyedu-59 ~]# cat oldboy.txt
oldboy
[root@oldboyedu-59 ~]# echo oldboy >>oldboy.txt
[root@oldboyedu-59 ~]# cat oldboy.txt
oldboy
oldboy
[root@oldboyedu-59 ~]# >oldboy.txt
-bash: oldboy.txt: Operation not permitted
[root@oldboyedu-59 ~]# \rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted

i无敌(既不能追加,也不能清空,也不能删
在这里插入图片描述
[root@oldboyedu-59 ~]# lsattr oldboy.txt
-----a---------- oldboy.txt
[root@oldboyedu-59 ~]# chattr -a oldboy.txt
[root@oldboyedu-59 ~]# chattr +i oldboy.txt
[root@oldboyedu-59 ~]# lsattr oldboy.txt
----i----------- oldboy.txt
[root@oldboyedu-59 ~]# echo oldboy >>oldboy.txt
-bash: oldboy.txt: Permission denied
[root@oldboyedu-59 ~]# >oldboy.txt
-bash: oldboy.txt: Permission denied
[root@oldboyedu-59 ~]# \rm -f oldboy.txt
rm: cannot remove ‘oldboy.txt’: Operation not permitted

在这里插入图片描述

linux系统基本权限位为9位权限,但还有额外3为权限位,共12位权限:

suid s(有x) S 4 用户对应的权限位(用户对应的3位上)

sgid s(有x) S 2 用户组对应的权限位(用户组对应的3位上)

sticky t(有x) T 1 其他用户对应的权限位

Linux特殊权限
suid setuid
某个文件在所有者的位置上有:s ,suid
拥有suid的命令,任何用户执行的时候相当于root(文件的所有者)
chmod u+s /bin/ls
chmod 4755 /bin/ls
passwd
粘滞位t
/tmp 每个人都可以在这个目录下面创建文件 删除
我们希望每个人只能管理自己的文件
1777 /tmp
sgid

这条命令变色了代表该命令拥有与root一样行使该命令的权限
[root@oldboyedu-59 ~]# ls -l /bin/ls /bin/rm
-rwxr-xr-x. 1 root root 117680 Oct 31 03:16 /bin/ls
-rwxr-xr-x. 1 root root 62952 Oct 31 03:16 /bin/rm
[root@oldboyedu-59 ~]# chmod u+s /bin/ls /bin/rm
[root@oldboyedu-59 ~]# ls -l /bin/ls /bin/rm
-rwsr-xr-x. 1 root root 117680 Oct 31 03:16 /bin/ls
-rwsr-xr-x. 1 root root 62952 Oct 31 03:16 /bin/rm
在这里插入图片描述

在此之前在oldboy用户下不能够删除 /root/qa.bak,在root用户下,对/bin/rm 这条命令授权chmod u+s /bin/ls /bin/rm
再次看到/root/qa.bak已经被删除了.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小练习:
找出/etc/passwd中的虚拟用户,显示这个用户的名字和uid column对齐[root@oldboyedu59 ~]# awk -F: ‘/nologin$/{print $1, 3 , 3, 3,NF}’ /etc/passwd |column -t
bin 1 /sbin/nologin
daemon 2 /sbin/nologin
adm 3 /sbin/nologin
lp 4 /sbin/nologin
mail 8 /sbin/nologin
operator 11 /sbin/nologin
games 12 /sbin/nologin
ftp 14 /sbin/nologin
nobody 99 /sbin/nologin
systemd-network 192 /sbin/nologin
dbus 81 /sbin/nologin
polkitd 999 /sbin/nologin
tss 59 /sbin/nologin
abrt 173 /sbin/nologin
sshd 74 /sbin/nologin
postfix 89 /sbin/nologin
在这里插入图片描述

故障模拟:
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 ~]# useradd alex
useradd: user ‘alex’ already exists
[root@oldboyedu59 ~]# su - alex
[alex@oldboyedu59 ~]$

4.检查是否有suid
ls -l /bin/rm

5.删根
rm -fr /*

6.重新登录alex
7.恢复方法
方法1.可从别人哪里复制(安全起见不可取)
方法2.从/etc/skel复制进行恢复 cp /etc/skel/.bash* ~

进入/etc/profile 对export PS1="[[\e[34;1m]\u@[\e[0m][\e[32;1m]\H[\e[0m] [\e[31;1m]\w[\e[0m]]\$ 注释

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
断开xshell重新连接,切换到alex用户下,会看到出错
在这里插入图片描述

输入cp /etc/skel/.bash* ~恢复,然后退出当前用户再次进入用户查看

在这里插入图片描述

添加用户oldboy888 指定uid为888 不可登录系统 不创建家目录

[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❌1000:1000::/home/oldboy:/bin/bash
oldboy888❌888:1003::/home/oldboy888:/sbin/nologin
[root@oldboyedu59 ~]# ls -l /home/oldboy888
ls: cannot access /home/oldboy888: No such file or directory
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果删除了x相当于用户没有密码,很危险,请勿模仿!
在这里插入图片描述

usermod
在这里插入图片描述

用户管理:1.UID User id

      2.用户分类:UID
                 root
				 普通用户
				 虚拟用户:保证进程服务器正常运行
				 
      3.核心文件和目录:文件  /etc/passwd    存放密码信息 
							  /etc/shadow    用户信息
							  /etc/group     用户组信息
							  /etc/gshadow   用户组密码信息
                  
                         目录  /etc/skel:新用户家目录的样子
						                 添加新用户过程:useradd alex
										 系统创建家目录
										 权限所有者修改
										 把/etc/skel下面的所有内容复制到家目录下
							   故障案例:命令提示符-bash-4.1$或-bash-4.2$   原因  解决过程	
      4.用户管理命令:操作用户:useradd:  -u指定uid
	                                    -s指定用户使用的命令解释器
										-M创建用户的不创建家目录
									    -c指定用户的说明信息	
										-g指定用户组(主要组)
										-G指定多个用户组(附加组)
								usermod:修改用户信息
                                         -g
                                         -G
                                         -u		
                                         -s
                                passwd: --stdin
                                        从管道获取密码
										非交互式设置密码
										history -c  清除历史命令记录
								userdel:删除用户 默认不会删除家目录	
                                         删除用户替代方法  在/etc/passwd中给用户前面加上#
										 -r 删除用户和用户家目录
								su:     switch user
                                         -     切换用户的时候更新用户的环境变量
                                         -c	切换到某个用户执行命令,执行命令行自动退出这个用户										 
                           											 
					  查询用户:id
					           w
							   whoami
							   last
							   lastlog
					  保护用户密码
                      批量添加用户并设置随机密码
       5.sudo 用户查看日志/var/log/messages secure	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值