您的位置:首页 > 运维架构 > Linux

linux文件的权限及特殊权限位

2018-06-02 11:55 363 查看

linux文件的权限及特殊权限位

文件的权限

rw-     r--    r--
owner  group  other

普通文件

**当仅r权限作用在文件上的时候,表示用户可以读取该文件的内容
*当仅w权限作用在文件上的时候,表示用户可以修改该文件的内容
当仅x权限作用在文件上的时候,没有意义。
**当rw同时作用在文件上的时候,表示用户可以读写文件
**当rx同时作用在文件上的时候,表示用户可以读且可以执行该文件
当wx同时作用在文件上的时候,权限与仅w相同
**当rwx同时作用在文件上的时候,用户可以读写执行。

目录

当仅r权限作用在目录上的时候,表示用户可以短列出查看目录下的文件名
当仅w权限作用在目录上的时候,没有意义
*当仅x权限作用在目录上的时候,表示用户可以进入且可以访问目录下的文件,但不能列出文件名
当仅rw权限同时作用在目录上的时候,权限等同于仅r权限作用在目录
**当仅rx权限同时作用在目录上的时候,表示用户可以进入,可以访问子文件,同时可以长列出文件
*当仅wx权限同时作用在目录上的时候,表示用户可以进入,可以访问子文件,可以创建及删除,但不能列出
**当rwx权限同时作用在目录上的时候,表示用户有完整权限
X 对于批量增加x权限时,可以跳过文件而只对目录加x

chmod --reference
-R  可以递归修改权限
r:4
w:2
x:1

7:rwx
6:rw
5:rx
4:r
3:wx
2:w
1:x

umask

表示用户创 建文件的默认权限,目录最高777,文件最高666
umask xxx 设置umask
umask   查看umask
~/.bashrc 将umask设定保存以让下次登录时仍然有效
umask -S 显示创建目录的默认权限

作业:

1、复制/etc/fstab文件到/var/tmp下,设置文件所有者为wangcai读写权限,所属组为sysadmins组有读写权限,其他人无权限
cp /etc/fstab /var/tmp;
useradd wangcai;
groupadd sysadmins;
chown wangcai.sysadmins /var/tmp/fstab;
chmod u=rw,g=rw,o= /var/tmp/fstab

2、误删除了用户wangcai的家目录,请重建并恢复该用户家目录及相应的权限属性
rm -rf /home/wangcai
mkdir -p /home/wangcai
cp cp -rf /etc/skel/.[^.]* /home/wangcai/


suid

suid: 对于可执行的二进制文件作用了suid权限之后,任何人在执行该文件时,可临时拥 有其所属人的权限
chmod u+s
chmod 4777 suid

sgid

sgid: 对于可执行的二进制文件作用了sgid权限之后,任何人在执行该文件时,可临时拥 有其所属组的权限
对于目录作用了sgid权限之后,任何人在该目录下创建的文件的所属继承目录的所属组
chmod g+s
chmod 2777 sgid

sticky

sticky:对于目录作用了sticky之后,该目录下的文件及子目录,仅其所属人和目录的所属 人及root才能删除。
chmod o+t
chmod 1777 sticky

设定文件特定属性

chattr +a 不可修改,可以追加,不能删除
chattr +i 什么也不做,只能读

lsattr filename 查看文件是否有特定属性

ACL 权限

Cenots6: 新建分区默认没有acl支持,开启的方法.
fdisk /dev/sda
n回车
回车

500M 回车
w回车
partx -a /dev/sda 通知内核更新分区表
mkfs.ext4 /dev/sda6
tune2fs -l /dev/sda |grep acl
none
tune2fs -o acl /dev/sda6
tune2fs -l /dev/sda |grep acl
acl
Centos7:无论何时都支持acl

文件的权限执行顺序

owner > acl user > group acl group 谁多谁优先 > other设置
setfacl -m u|g:username|groupname:rwx filename|dirname
setfacl -x u|g:username|groupname filename|dirname
setfacl -b filename |dirname
setfacl -m m:r-x filename|dirname 或 chmod g=rx filename |dirname

通过文件设置acl

file.add 内容如下
u:liubei:rwx
g:shuguo:rx

setfacl -M file.acl house/

通过文件删除acl
file.del 内容如下
u:liubei
g:shuguo

setfacl -X file.del house/

默认权限
setfacl -m d:u:liubei:rwx house
setfacl -Rm u:liubei:rwx house

getfacl house
file: .
owner: root
group: root
-------------------------- setfacl -Rm u:liubei:rwx house
user::rwx
user:liubei:rwx
group::r-x
mask::rwx
other::r--

-------------------------setfacl -m d:u:liubei:rwx house
default:user::rwx
default:user:liubei:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

setfacl -k house/ 仅删除默认权限

实验:包含acl权限的目录使用打包工具备份及恢复

1.备份
tar -cvf house.tar house
getfacl -R house > acl.txt
2.还原
tar -xvf house.tar -C /var/tmp
cp acl.txt /var/tmp
setfacl --restore acl.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息