Cirry's Blog

linux 特殊权限(10)

2016-08-03
linux
3分钟
570字

文件特殊权限:

  • SetUID —— SUID
  • SetGID —— SGID
  • StickBIT —— SBIT

特殊权限尽量少修改

SUID 的功能(仅对文件)

  1. 只有执行的二进制程序才能设定SUID 权限
  2. 命令执行者对该程序有X权限
  3. 命令执行者在执行过程时获得文件属主身份
  4. SetUID权限只有在该程序执行中有效, 身份也改变

设定SetUID的方法:

4 代表SUID

chmod 4775 文件名

chmod n+s 文件名

s = S + x

ll /etc/shadow

ll /usr/bin/passwd

ll /bin/vi

passwd 命令只有SUID 权限, 所以普通用户可以修改自己的密码

cat 命令没有SetUID 权限, 所以普通用户不能查看 /etc/shadow/ 文件内容

ll /bin/cat

取消

chmod u-s abc

chmod 0775 abc

/usr/bin/locate

SGID 的功能:(可以对目录和文件)

  1. 同SUID
  2. 同SUID
  3. 改为“文件的属组”
  4. 同SUID
1
chmod g+s abc
2
ll /usr/bin/locate
3
(slocate)
4
ll /usr/lib/mlocate/mlocate.db
5
locate abc

SetGID 针对目录的作用

  • 普通用户必须对此目录拥有r 和x 权限, 才能进入此用户
  • 普通用户在此目录中的有效组会变成此目录的属组
  • 若普通用户对此目录拥有w 权限时, 新建文件默认属性是这个目录的属组

设定SetUID

2代表 SGID

chmod 2755 文件名

chmod g+s 文件名

1
cd /tmp/
2
mkdir test
3
chmod g+s test
4
ll -d test/
5
chmod 777 /test/
6
su -user1
7
cd /tmp/test/
8
touch abc
9
ll

取消

chmod 0755 文件名

chmod g-s 文件名

StickyBIT(仅对目录)

  1. 对目录有效
  2. 普通用户对该目录有w 和x 权限
  3. 如果没有黏着位, 因为普通用户拥有w 权限, 所以可以删除此目录下所有文件, 包括其他用户建立的文件。一旦赋予了黏着位, 除了root 可以删除所有文件, 普通用户就算拥有w 权限,也只能删除自己建立的文件, 但是不能删除其他用户建立的文件

设置:

chmod 1755 目录名

chmod o+t 目录名

取消:

chmod 0755 目录名

chmod o-t 目录名

ll -d /tmp/

不可改变位权限:

chattr 权限

1.命令格式:

chattr [+-=][选项] 文件或目录名

选项:

  • -i:insert
  • -a:append
1
chattr +i abc
2
lsattr abc
3
4
chattr +a dt
5
lsattr ddt
6
7
vi dt 无法操作
8
echo bbbb -> dt # (输出重定向)
9
cat dt

lsattr 选项 文件名

选项:

  • -a:显示所有文件
  • -d 目录名
本文标题:linux 特殊权限(10)
文章作者:Cirry
发布时间:2016-08-03
感谢大佬送来的咖啡☕
alipayQRCode
wechatQRCode
总访问量
总访客数人次