chmod u+x hello.sh
chmod 755 hello.sh
chmod g+w,o+w hello.sh
chmod g-w,o-w hello.sh
chmod u=rwx,g=rw hello.sh
chmod a=rwx hello.mp4
权限的数字表示
-rw-r--r--.
drwxr-xr-x.
drwxr-xr-x+
chown 用户名 文件名
chgrp 组名 文件名
e.g.
chown songxiaobao:actors /xiaopin
umask
umask 0002
vim /etc/profile
dumpe2fs -h /dev/sda5
选项
选项 | 备注 |
---|
-h | 仅显示超级块中信息,而不显示磁盘块组的详细信息 |
临时开启分区 ACL 权限
dumpe2fs -h /dev/sda5 | grep acl
mount -o remount,acl /
重新挂载根分区,并挂载加入acl权限
永久开启分区 ACL 权限
vim /etc/fstab
UUID=cdda7dc1-4d8f-40b1-8f25-59cb4413a9de /boot ext4 defaults,acl 1 2
mount -o remount /
getfacl 文件名
setfacl 选项 文件名
选项
选项 | 备注 |
---|
-m | 设定 ACL 权限 |
-x | 删除指定的 ACL 权限 |
-b | 删除所有的 ACL 权限 |
-d | 设定默认 ACL 权限 |
-k | 删除默认 ACL 权限 |
-R | 递归设定 ACL 权限,可能导致权限溢出 |
setfacl -m u:用户名:权限 文件名
setfacl -m g:用户组名:权限 文件名
setfacl -x u:用户名 文件名
setfacl -x g:用户组名 文件名
setfacl -b 文件名
setfacl -m d:u:用户名:权限 文件夹名
setfacl -m u:用户名:权限 -R 文件夹名
e.g.
setfacl -m u:songxiaobao:rx /xiaoping
setfacl -m g:actors:rwx /xiaoping
visudo
root ALL=(ALL) ALL
%whell ALL=(ALL) ALL
man 5 sudoers
e.g.
visudo
user1 ALL=(ALL) /sbin/shutdown -r now
sudo /sbin/shutdown -r now
su - user1
sudo -l
sudo /sbin/shutdown -r now
visudo
user1 ALL=/usr/sbin/useradd
user1 ALL=/usr/bin/passwd [A_Za-z]*, !/usr/bin/passwd "", !/usr/bin/passwd root
文件特殊权限 |
---|
SetUID |
SetGID |
Sticky BIT |
SUID
chmod 4755 文件名
chmod u+s 文件名
chmod 0755 文件名
chmod u-s 文件名
- 创建 suid.log 文件
find / -perm -4000 -o -perm -2000 > suid.log
- 创建 suid_check.sh 文件
#!/bin/bash
find / -perm -4000 -o -perm -2000 > /tmp/setsuid.check
for i in $(cat /tmp/setsuid.check)
do
grep $i /root/suid.log > /dev/null
if [ "$?" != "0" ]
then
echo "$i is a new suidfile!" >> /root/suid_log_$(date +%F)
fi
done
rm -rf /tmp/setsuid.check
- 赋予 suid_check.sh 文件执行权限
chmod 755 suid_check.sh
- 测试
touch abc
chmod u+s abc
./suid_check.sh
cat suid_log_2018-06-10
ll /usr/bin/locate
ll /var/lib/mlocate/mlocate.db
SGID
chmod 2755 文件名
chmod g+s 文件名
chmod 0755 文件名
chmod g-s 文件名
SBIT
chmod 1755 文件名
chmod o+t 文件名
chmod 0777 文件名
chmod o-t 文件名
chattr
chattr [+-=] [选项] 文件或目录名
选项
选项 | 备注 |
---|
+ | 增加权限 |
- | 删除权限 |
= | 等于某权限 |
i | 修改的权限 |
a | 追加的权限 |
e.g.
chattr +i abc
chattr -i abc
chattr +a abc
chattr -a abc
lsattr 文件或目录名