linux特殊权限suid,sgid,sbit

网友投稿 707 2022-11-12

linux特殊权限suid,sgid,sbit

linux特殊权限suid,sgid,sbit

1,特殊权限SUID

举个例子:当我们使用普通用户oldxu执行passwd命令会发生什么变化呢?   1.由于passwd命令拥有suid特殊权限(在命令属主权限位有一个s)   2.所以passwd命令在执行的过程中,会以命令的属主身份去运行该命令。(也是root身份)   3.oldxu --执行--> passwd命令 --setuid--> 转换为命令属主身份root执行 --> 完成 /etc/shadow 信息变更

chmod 4755chmod u+s

例子: jack --> /etc/shadow 文件: 1.jack执行cat命令查看 /etc/shadow; 2.cat是由jack运行的, 能不能查看,取决于 jack用户对 /etc/shadow 有没有权限; 3./etc/shadow默认任何人都无权限; 所以查看失败; 提示 Permission denied 解决: 方式1: sudo 提权 jack ALL=(ALL) /usr/bin/cat 方式2: 将cat命令添加特殊权限位 suid; [root@oldboyedu ~]# ll /bin/cat -rwxr-xr-x. 1 root root 54080 Aug 20 2019 /bin/cat

[root@oldboyedu ~]# chmod 4755 /bin/cat [root@oldboyedu ~]# ll /bin/cat -rwsr-xr-x. 1 root root 54080 Aug 20 2019 /bin/cat 1.jack运行-->cat命令-->由于有特殊权限位suid, 所以cat命令不在是以jack的身份运行,而是由命令的属主身份运行 2.由于命令属主的身份是root,所以执行该命令时的身份是root; 3.root用户能够查看/etc/shadow文件, 所以jack用户执行cat命令会成功查看; 常规权限: 让jack这个普通用户为tom用户添加一个新的附加组; jack --> usermod --> /etc/passwd /etc/shadow /home /var/spool/mail 特殊权限: 为useradd命令增加setuid jack --> useradd --> root --> /etc/passwd /etc/shadow /home /var/spool/mail [root@oldboyedu ~]# ll /sbin/useradd -rwxr-xr-x. 1 root root 137616 Aug 9 2019 /sbin/useradd

[root@oldboyedu ~]# chmod 4755 /sbin/useradd [root@oldboyedu ~]# ll /sbin/useradd -rwsr-xr-x. 1 root root 137616 Aug 9 2019 /sbin/useradd 取消特殊权限: [root@oldboyedu ~]# chmod 0755 /sbin/usermod [root@oldboyedu ~]# ll /sbin/usermod -rwxr-xr-x. 1 root root 133456 Aug 9 2019 /sbin/usermod

[root@oldboyedu ~]# chmod u-s /sbin/useradd [root@oldboyedu ~]# ll /sbin/useradd -rwxr-xr-x. 1 root root 137616 Aug 9 2019 /sbin/useradd

rm,vim, suid:不可以对目录执行,他只针对二进制文件; 命令

setgid ( 了解 )

命令: 赋予setgid后, 任何用户在执行命令时,以这个命令的属组身份去运行; 目录: 赋予setgid后, 所有该目录下创建的文件,都按照属组的身份来; 用户 默认组 附加组 user1 user1 project user2 user2 project

目录/data/code1.创建组, 以及用户[root@oldboyedu ~]# groupadd project[root@oldboyedu ~]# useradd user1 -G project[root@oldboyedu ~]# useradd user2 -G project2.创建项目目录,分配权限; 禁止其他人访问该目录,同时还要保证user1.user2能正常读写执行;[root@oldboyedu ~]# chown .project /data/code/[root@oldboyedu ~]# chmod 770 /data/code/[root@oldboyedu ~]# ll -d /data/code/drwxrwx--- 2 root project 6 Mar 17 10:47 /data/code/3.给目录增加sgid;[root@oldboyedu ~]# chmod 2770 /data/code/[root@oldboyedu ~]# ll -d /data/code/drwxrws--- 2 root project 24 Mar 17 10:52 /data/code/4.user1创建文件.测试user2能否正常修改;[user1@oldboyedu code]$ touch user1_file[user1@oldboyedu code]$ lltotal 0-rw-rw-r-- 1 user1 project 0 Mar 17 10:54 user1_file5.测试user2修改文件; 属性没有发生变化[user2@oldboyedu code]$ echo "aaa" > user1_file [user2@oldboyedu code]$ cat user1_file aaa[user2@oldboyedu code]$ ll -d user1_file -rw-rw-r-- 1 user1 project 4 Mar 17 10:56

setbit

1.服务初始化,会存储一些临时文件,而这个服务运行的身份不足以存储到/opt等这样的目录; /tmp目录2.yum命令; /tmpchmod o+s /tmpchmod 1777 /tmp特殊属性;chattrlsattri: 中毒后;由于病毒文件会不断串改文件; 加锁让其无法篡改;a: append追加; 常用重要的日志文件加锁;# 查看特殊属性[root@oldboyedu ~]# lsattr /etc/passwd---------------- /etc/passwd# 加锁[root@oldboyedu ~]# chattr +i /etc/passwd[root@oldboyedu ~]# lsattr /etc/passwd----i----------- /etc/passwd# 测试[root@oldboyedu ~]# mv /etc/passwd /tmp/mv: cannot move ‘/etc/passwd’ to ‘/tmp/passwd’: Operation not permitted[root@oldboyedu ~]# rm -f /etc/passwdrm: cannot remove ‘/etc/passwd’: Operation not permitted

特殊属性chattr

chattrlsattri: 中毒后;由于病毒文件会不断串改文件; 加锁让其无法篡改;a: append追加; 常用重要的日志文件加锁;# 查看特殊属性[root@oldboyedu ~]# lsattr /etc/passwd---------------- /etc/passwd# 加锁[root@oldboyedu ~]# chattr +i /etc/passwd[root@oldboyedu ~]# lsattr /etc/passwd----i----------- /etc/passwd# 测试[root@oldboyedu ~]# mv /etc/passwd /tmp/mv: cannot move ‘/etc/passwd’ to ‘/tmp/passwd’: Operation not permitted[root@oldboyedu ~]# rm -f /etc/passwdrm: cannot remove ‘/etc/passwd’: Operation not permitted

umask进程掩码:

1,umask是什么?

2,默认创建普通用户家目录的前线,又是受哪个配置文件的umask控制呢?

3,默认情况下root用户创建的文件权限和普通用户创建的文件权限不一样的?为什么?

判断: 如果用户的UID大于199 并且 用户名称与组的名称一致,则执行then后面的代码;设定umask为002 如果不满足条件,则执行else后面的代码; if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 else umask 022 fi

################################## 特殊权限:suid: 执行时使用该命令的属主身份运行; chmod u+s chmod 4755sgid: 文件: 执行时使用该命令的属组身份运行; chmod g+s chmod 2755 目录: 让创建的文件与目录的属组保持一致;sbit: 粘滞位; 任何人都可以存储文件; 但只能自己删除; chmod o+s chmod 1755 服务初始化; 存储临时资源; 特殊的属性: chattr lsattr +i: 锁住文件; 病毒的保护文件不被二次修改; +a: 只允许追加; 重要的日志文件; 追溯事件产生的背景;umask: 表示要减掉的权限; 默认系统的 目录权限是777 文件是666 默认权限 --> umask = 最终权限;

> >> | xargs

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用@CacheEvict清除指定下所有缓存
下一篇:在线互联网地图资源汇总(仅学习用)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~