首页 > 代码库 > 权限管理
权限管理
一. 文件的基本权限
1.1 基本权限
-rw- r-- r--
| | |
u g o
r:可读 r-- 100 4
针对文件:是否可以查看文件内容
针对目录:是否可以查看目录里的内容(ls)
w:可写 -w- 010 2
针对文件:是否可以修改文件内容
针对目录:是否可以在该目录下创建、删除、修改文件的属性等
x:可执行 --x 001 1
针对文件:是否可以执行该文件(命令、脚本文件)
针对目录:是否可以cd(切换)到该目录
注意:
对文件来讲:最高权限是 x
对目录来讲:最高权限是 w
对于一个正常使用的目录,需要有rx权限
权限管理:
权限:文件的权限
ls -l
-rw-------. 1 root root 1590 Mar 28 2016 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Jul 8 17:19 Desktop
用空格分割的多列
第一列的第一个字符:文件类型
- 第一个 “-” 表示文件类型
- :普通文件
d :目录
b :块设备
c :字符设备
p :管道文件
s :套接字文件
l :链接文件(软链接)
第一列的第2-11:文件权限
第二列:文件的硬链接个数或者是目录的子目录个数
硬盘读取数据的最小单位:扇区(512字节)
操作系统读取数据的最小单位:一次性读取连续8个扇区(4096字节),4kb(块)
超级块:文件系统大小、inode号个数、属性信息等
inode:文件的源数据信息(大小、权限...)
data:数据区域
open file——>inode号——>block——>相应数据
一般情况下,一个文件对应一个inode号,但是在类unix系统中,有多个文件对应相同的inode号现象存在,那么这多个文件互为硬链接。
互为硬链接的文件特点:
1、inode号相同
2、互为硬链接的文件的内容相同,一个文件改变,其他文件跟着改变(互为热备)
3、删除一个硬链接文件不影响其他文件
创建硬链接:
ln 源文件 目标文件(硬连接文件)
# ln aaa ccc
ln: `aaa‘: hard link not allowed for directory
说明:
目前操作系统不支持目录创建硬连接
创建软链接:
ln -s 源文件 目标文件(软连接)
特点:
1、互为软链接的文件的inode号不相同
2、一个文件改变,另一个也会跟着改变
3、删除源文件,软连接文件就会成为无效连接(死连接)
4、可以对目录创建软链接
第三列:文件的创建者(拥有者)
第四列:文件的所属组
第五列:文件的大小(字节)
第6-8列:文件的最后一次修改的时间
第9列:文件名
二、文件默认权限
(4).unmak: 查看默认权限
如0022
- 第一位0: 文件特殊权限
- 022 : 文件默认权限
临时修改: umask 0002
永久修改: vi /etc/profile
文件默认权限
1).文件默认不能建立执行文件,必须手工赋予执行权限
2).所以文件默认权限最大为666
3).默认权限需要换算成字母再相减
4).建立文件之后的默认权限,为666减去umask值
例如:
- 文件默认最大权限是666, umask值为022
- -rw-rw-rw- 减去 -----w--w- 等于 -rw-r--r--
目录的默认权限
1).目录默认权限最大为777
2).默认权限需要换算成字母再相减
3).建立文件之后的默认权限,为777减去umask值
例如:
- 目录默认权限最大为777, umask值为022
- -rwxrwxrwx 减去 -----w--w- 等于 -rwxr-xr-x
普通权限
修改权限:
chmod:
-R 递归修改
用法:
chmod 权限 filename
chmod u+x file1
chmod g=wx file1
chmod o-r file1
chmod +x file1
chmod a+x file1
chmod -x file1
chmod a-x file1
chmod u-w,g=w,o-r file1
rwxr----- file1
chmod 740 file1
修改文件的拥有者和所属组:
chown:既可以修改拥有者也可以修改所属组
chown stu1 file1 只更改拥有者为stu1
chown .admin file1 只更改所属组为admin
chown :admin file1 只更改所属组为admin
chown stu1.admin file1 更改拥有者为stu1所属组为admin
chown stu1:admin file1
chown -R stu1 dir 递归修改目录的拥有者为stu1
chgrp:只能修改文件的所属组
-R
chgrp admin file1
chgrp -R admin dir
ACL(访问控制策略)
ACL就是用来解决用户身份不足的问题
查看acl权限
getfacl 文件名
# 设定acl权限
setfacl 选项 文件名
-m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认ACL权限
-k 删除默认ACL权限
-R 递归设定ACL权限
# 查看分区ACL权限是否开启
(5).dupe2fs 命令是查询指定分区详细文件系统信息的命令
dupe2fs -h /dev/sda51
-h 仅显示超级块中信息,而不是磁盘块的详细信息
# 临时开启分区ACL权限
mount -o remount, acl /
- 重新挂载根分区,并挂载加入acl权限
# 永久开启分区ACL权限(不建议修改)
vi /etc/fstab
#加入acl
然后修改UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defalults acl 1 1
# 重新挂载文件系统或重启系统,使修改生效
mount -o remount /
权限管理