设为首页 收藏本站
查看: 199|回复: 0

[经验分享] linux文件系统特殊权限及suid sgid sticky

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-6 08:47:58 | 显示全部楼层 |阅读模式

1、Linux文件系统上的特殊权限
   权限模型:

     u, g, o
     r, w, x

2、进程的安全上下文:
   前提:进程有属主(进程以哪个用户的身份运行);文件有属主和属组;
     (1) 用户是否能够把某个可执行程序文件启动为进程,取决于用户对程序文件是否拥有执行权限;
     (2) 程序启动为进程后,此进程的属主为当前用户,也即进程的发起者;进程所属的组,为发起者的基本组;
     (3) 进程拥的访问权限,取决其属主的访问权限:
     (a) 进程的属主,同文件属主,则应用文件属主权限;
     (b) 进程的属主,属于文件的属组,则应用文件属组权限;
     (c) 则应用其它权限;

3、SUID:
     (1) 任何一个可执行程序文件能不能启动为进程:取决于发起者对程序文件是否有执行权限;
     (2) 启动为进程之后,其属主不是发起者,而程序文件自己的属主;这种机制即为SUID;

   权限设定:
     chmod u+s FILE...
     chmod u-s FILE...

注意:
s: 属主原本拥有x权限;
S: 属主原本无x权限;

4、SGID:
   默认情况下,用户创建文件时,其属级为此用户所属的基本组;
   作用:一旦某目录被设定了SGID权限,则对此目录拥有写权限的用户在此目录中创建的文件所属的组为目录的属组,而非用户的基本组;

   权限设定:
     chmod g+s FILE...
     chmod g-s FILE...

5、Sticky:
   作用:对于一个多人可写的目录,此权限用于限制每个仅能删除自己的文件;

   权限设定
     chmod o+t FILE...
     chmod o-t FILE...

SUID, SGID, STICKY
000
001
010
011
100
101
110
111

chmod 4777 FILE
chmod 3755 DIR


6、文件系统属性chattr权限
   chattr [+,-,=] [选项] 文件或目录名
   选项:
     i:如果对文件设置i属性,那么不允许对文件进行删除,改名,也不能添加和修改数据;
     如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件,也不能改名
     a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;只能用重定向追加入数据
     如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除文件

例子:
1
2
3
4
5
6
[iyunv@localhost ~]# chattr +ia /etc/fstab
[iyunv@localhost ~]# lsattr /etc/fstab
----ia-------e- /etc/fstab
[iyunv@localhost ~]# chattr -ia /etc/fstab
[iyunv@localhost ~]# lsattr /etc/fstab
-------------e- /etc/fstab




7、查看文件系统属性
   lsattr 选项 文件名
     -a 显示所有文件和目录
     -d 若目标是目录,仅列出目录本身的属性,而不是子文件的属性

例子:
1
2
3
4
5
6
[iyunv@localhost ~]# lsattr -a /usr/local/*
-------------e- /usr/local/bin/.
-------------e- /usr/local/bin/..
-------------e- /usr/local/etc/.
-------------e- /usr/local/etc/..
-------------e- /usr/local/games/.




6、sudo权限
   root把本来只能管理员执行的命令赋予普通用户执行
     sudo的使用
     visudo打开/etc/sudoers配置文件

   1.lisir ALL=NOPASSWD:/sbin/service,/sbin/ifconfig,/bin/mount

   上述命令都不输入密码


   2.lisir station 73=/sbin/service/,NOPASSWD:/sbin/ifconfig,/bin/mount
   执行service命令需输入密码,ifconfig,mount 不需要

   3.lisir station73=(poppy) /sbin/service,NOPASSWD:(root) /bin/mount
   一个用户可以执行多个用户的某些命令

   4.%stu station=NOPASSWD:NETWORKING./bin/
   Stu组中的用户可以不输入用户密码执行文件中定义的NETWORKING ,以及目录/bin下的命令。还记得    吗?目录后面必须加上/结尾

   5.poppy ALL=(ALL) ALL
   这个命令很危险 它是是poppy用户可以在任何主机上以任何用户执行任何命令。

Sudo 的特点是:给用户尽可能少的权限,但能完成他们的工作,所有在编辑SUDOERS文件时,注意不要让非法用户截取root权限.

例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@localhost ~]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
lisir   ALL=/sbin/fdisk

[iyunv@localhost ~]# su - lisir
[lisir@localhost ~]$ sudo fdisk -l
[sudo] password for lisir:

Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00048e25






练习:
1、让普通用户能使用/tmp/cat去查看/etc/shadow文件;
答:
[iyunv@localhost ~]# cp -rfp /bin/cat /tmp
[iyunv@localhost ~]# chmod u+s /tmp/cat
[iyunv@localhost ~]# su - lisir
[lisir@localhost ~]$ /tmp/cat /etc/shadow




2、创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件;
答:
[iyunv@localhost ~]# mkdir -p /test/data
[iyunv@localhost ~]# chmod g+s /test/data/
[iyunv@localhost ~]# chmod o+t /test/data/
[iyunv@localhost ~]# chown :lisir /test/data
[iyunv@localhost ~]# chmod g+w /test/data/


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-109910-1-1.html 上篇帖子: grub的简单应用与配置 下篇帖子: varnish 页面跳转 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表