linux中的权限设定
1.如何查看及读取权限信息
命令 | 功能 |
---|---|
ls -l file | 查看文件属性 |
ls -ld dir | 查看目录属性 |
ll file | (ll=ls -l)查看文件属性 |
ll -d dir | 查看目录属性 |
ls -lR | 递归显示目录下的文件和子目录下的文件 |
对于文件属性字段的理解:
(ls -l file 所显示属性的意义—共八类—matadate ,每一类用1byte记录,最后的名称每一个字符占用一个字节)
1 文件类型
符号 | 含义 |
---|---|
- | 空文件或文本 |
l | 软链接(link) |
d | 目录 |
s | 套接字(socket) |
b | 块设备(block) |
c | 字符设备 |
2 文件权限
从前到后每三个字符分别代表的身份:u拥有者、g组成员、o(other);三个字符分别代表的权限:r-只读、w-写、x-执行 ;
字符为 - 表示关闭,无此功能。
3 文件硬链接个数: ln / ln -s 创建硬链接/软链接
5 文件拥有者:UID
6 文件拥有组:GID
7 文件属性大小
8 文件最后一次被修改的时间(可以用touch修改)
9 文件名称(可以用mv修改)
对于目录属性字段的理解
1 类型
2 目录权限
3 目录中子目录的个数
4 文件拥有者
5 文件拥有组
6 目录中自文件或子目录元数据大小
7 目录中的内容最后一次被修改的时间
8 目录名称
2.文件的拥有者及拥有组
Linux 是个多用户多任务的系统 , 常常会有多人同时使用同一主机来进行工作 , 为了考虑每个人的隐私权以及每个人喜好的工作环境 , 对用户进行分类。
用户对于文件的身份 | 分类 |
---|---|
文件拥有者 | user |
文件所属组 | group |
其他人 | other |
更改文件拥有者及拥有组的方法:
(文件拥有者及拥有组只有超级用户root可以修改)
命令 | 功能 |
---|---|
chown username file/dir | 修改文件/目录的uid |
chgrp group file/dir | 修改文件/目录的gid |
chown -R username dir | 修改目录及其子目录及所有文件的uid |
chgrp -R group dir | 修改目录及其子目录及所有文件的gid |
chown westos:student file/dir | 表示同时修改uid和gid |
(-R表示递归处理: 处理指定目录以及其子目录下的所有文件)
3.文件权限的理解
文件权限系统最底层安全设定方法之一,保证文件可以被可用的用户做相应的操作。
文件权限所有者 | 意义 |
---|---|
U | 文件拥有者对文件的权限 |
G | 文件拥有组对文件的权限 |
O | 其他人对于文件的权限 |
权限类型 | 权限 |
---|---|
- | 权限关闭,此位权限未开启 |
r | readable查看权限,对于文件可查看文件中的内容,对于目录可列出目录中的文件名称 |
w | writeable可写权限,对于文件可更改文件记录的内容 |
x | excutable执行权权限,对于文件可用文件名称调用文件内记录的程序,对于目录可进入目录 |
4.文件权限设定方式
设定权限的方式 | 语法 |
---|---|
字符方式 | chmod [who] [ + / -/ = ] [mode] tag |
数字方式 | chmod 数字 tag |
依照模板复制 | chmod reference=模板 tag |
例:
chmod <u|g|o><+|-|=><r|w|x> file/dir
chmod u+x /mnt/file1 ##对file1文件user添加执行权限
chmod g-r /mnt/file2 ##消减file2文件group的读权限
chmod ug-r /mnt/file3 ##消减file3文件user和group的读权限
chmod u-r,g+x /mnt/file4 ##消减file4文件user的读权限,对group添加执行权限
chmod -r /mnt/file5 ##消减file5文件的读权限
chmod o=r-x /mnt/file6 ##将file6的other权限用rwx覆盖
chmod -R <u|g|o><+|-|=><r|w|x> dir ##递归更改
数字的方式管理权限:
权限 | 二进制 | 八进制 |
---|---|---|
— | 000 | 0 |
–x | 001 | 1 |
-w- | 010 | 2 |
-wx | 011 | 3 |
r– | 100 | 4 |
r-x | 101 | 5 |
rw- | 110 | 6 |
rwx | 111 | 7 |
5.系统预留权限阀值
对于权限预留阀值的理解:资源存在意义在于共享,权限开放越大,共享效果越明显,但是安全性越差;对于系统安全而言,开放权利越小,系统越安全;在系统中开放应开放的权利,保留不安全的权利以确保系统功能性及安全性。
umask:系统建立文件时默认保留的权力
系统中使用umask来预留权限;
在shell中可以使用umask来查看并设定预留权限阀值。
临时设定系统预留权限:
临时设定系统预留权限为077 - umask 077
永久改变权限阀值
shell配置文件 - vim /etc/bashrc
系统环境配置文件 - vim /etc/profile
6.特殊权限
特殊权限 | 含义 |
---|---|
SUID | 只针对于二进制可执行文件 , 使用拥有SUID权限的文件发其中记录的程序时以文件拥有者的身份去执行 |
SGID | 针对二进制可执行文件 : 该命令发起的程序是以该命令所有组的身份去执行;针对目录 : 目录新建文件的所属组与该目录的所有组保持一致 |
STICKYID | 对于文件:表示文件即使没有被程序调用也会被加载到交换空间中; 对于目录:表示当目录上有 STICKYID 的权限时 , 所有用户在该目录下均可创建文件 , 但只有文件拥有者和 root 用户可以删除该目录下的文件 |
对特殊权限的设定:
①sticky-粘制位
只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被其所有者删除
设定方式:
chmod o+t dir
chmod 1XXX dir
②sgid-强制位
对目录:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组;
对文件:二进制可执行文件,当文件上有sgid时,任何人执行此文件产生的进程都属于文件的组
设定方式:
chmod g+s file/dir
chmod 2XXX file/dir
③suid-冒险位
只针对与2进制可执行文件,当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
设定方式:
chmod u+s file/dir
chmod 4XXX file/dir
7.ACL权限列表
作用:让特定用户对特定文件拥有特定权限
①facl概述及注意事项
传统的权限仅有三种身份 (owner,group,othe),搭配三种权限 (r,w,x), 并没有办法单纯的针对某一个使用者或某一个群组来设置特定的权限需求 , 此时就得要使用 ACL( 文件访问控制列表 ,Access Control List) 这个机制;因此目前 ACL 几乎已经默认加入在所有常见的 Linux 文件系统的挂载参数中(ext2/ext3/ext4/xfs 等 ), 但 rhel6.0以及之前的版本默认不支持 acl 的功能。
②有关facl的命令
getfacl file | 查看acl开启的文件的权限 |
---|
file: file —文件名称
owner: root —文件拥有者是root
group: root —文件拥有组是root
user::rw- —文件拥有人的权限为读写
user:kiosk:rwx —指定用户的权限为读写执行
group::r-- —文件拥有组的权力为读
mask::rwx —能赋予用户的最大权力伐值
other::r-- —其他人的权限
setfacl | 设定权限列表 |
---|
相关参数:
-m 设定权限
-x 删除指定用户
-b 关闭列表功能
③facl列表权限匹配顺序
权限优先级:
userperm > acluser > aclgroup > groupperm > otherperm
即:
资源拥有者>特殊指定用户>权利开放多的组>权利开放少的组>其他用户
补充:
i权限:只能看,不能建立不能删除
a权限:用于系统审计,只能建立,不能删除
设定chatter 查看lsatter
④facl的mask阀值
mask阀值是指定用户能够获取的最大有效权限,当设定过facl列表后用chmod缩减文件权限很可能会损坏mask,mask值会发生改变—chmod g-w westos
mask的设定 | setfacl –m m:权限值 TAG |
---|
⑤facl的default权限
default权限特性:只对目录设定;只对目录中新出现的文件按或目
录生效,对目录本身不生效;对目录中原有文件不生效
default权限设定方式 | setfacl –m d:<u/g>:权限 目录 |
---|
移除默认访问控制列表 | setfacl -k /mnt/westos |
---|