Linux 下的文件权限管理
1.Linux的基本文件系统类型
- 普通文件 灰色
l 链接文件 浅蓝色
d 目录文件 蓝色
b/c 设备文件 黄色 b(块设备) c(字符设备)
p 管道文件
s 套接字文件
2.Linux文件系统与Windows文件系统的对比
3.Linux的目录结构
/bin :可执行二进制文件的目录
/boot :内核文件的引导目录, 放置 linux 系统启动时用到的一些文件
/dev :存放所有设备文件,包括硬盘、分区、键盘、鼠标、USB、tty
/etc :配置程序目录,系统配置文件存放的目录
/home:普通用户的家目录
/media:提供挂载设备的位置
/mnt:提供挂载设备的位置
/proc:内核进程命令
/sbin:存放更多的可执行文件(二进制),包括系统管理、目录查询等关键命令文件
/sys:进程命令
/tmp:临时文件
/usr:用于存放与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件
/var:各种应用程序使用数据的目录
/lib :存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件
/opt :作为可选文件和程序的存放目录,主要被第3方开发者用来简易地安装和卸装他们的软件包
4.文件,目录的权限和归属
(1)访问权限
读取:允许看出文件内容,显示目录列表
写入:允许修改文件内容,允许在目录中新建,移动删除文件或子目录
可执行:允许允许程序,切换目录
(2)归属(所有权)
属主
属组
5.查看文件,目录的权限和归属文件,目录的权限
[root@localhost ~]# ll test.txt
-rwxr-xr-x. 1 root root 0 Sep 11 11:19 test.txt
- 代表文件类型
rwx 代表属主权限
r-x 代表属组权限
r-x 代表其他人权限
. 代表没有设置ACL权限,如果 . 变成 + 表示设置了ACL权限
root 代表属主
root 代表属组
0 代表文件大小
Sep 11 11:19 代表文件创建日期
test.txt 代表文件名
6.设置文件,目录的权限
chmod 命令
格式1:chmod[ugoa][+-=][rwx] 文件或目录
u:属主 g:属组 o:其他用户 a:所有用户
+:增加 -:去除 =:设置权限
格式2:chmod 数值 文件或目录
数值:3位八进制数
格式3:同时设置用,分隔
chmod u+r,g-x,o+x 文件/目录
常用命令选项:
-R:递归修改指定目录下所有文件,子目录的权限
例如:chmod a+x -R test
7.设置文件,目录的归属
chown 命令
格式:chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
常用命令选项:
-R:递归修改指定目录下所有文件,子目录的归属
例如:chown wang:wang -R test
8.Linux系统的特殊权限位
粘着位(sticky)
现在仅用于目录
当一个目录被设置为“粘着位”(chomd a+t),则该目录下的文件只能
1.超级管理员删除
2.该目录的所有者删除
3.该文件的所有者删除
如果文件权限最好一位时T,t表示该文件有年粘滞位
T表示最后一位没有执行权限x
t表示最后一位有执行权限x
设置粘滞位
chmod 1755 文件 1代表粘滞位,只能是1
chmod 0+t 文件
9.Linux下文件的隐藏属性
lsattr 命令查看文件的隐藏权限
chattr 命令设置文件的隐藏权限
chattr +a 文件名
chattr -a 文件名
10.Linux系统的umask值
- umask:指定建立文件或目录是预设的权限掩码
- umask 查看系统当前的权限掩码值
- umask 数值 :设置系统的权限掩码
1、针对目录来说x权限代表可以进入该目录,所以说对于这个权限初始赋值是没什么问题的;
对于目录权限:777 - umask
2、针对文件的x的权限代表执行,这个风险太高,所以一般权限初始赋值必须去掉x的;
对于文件权限:777 - umask - x
例如:umask=022 dir权限为755,file权限为644
11.Linux下的文件访问控制列表
(1)文件的ACL
文件的ACL提供的是在所有者、所属组、其他人的读/写/执行权限之外的特殊权限控制,使用setfacl命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。
(2)getfacl
getfacl 命名查看文件上设置的ACL信息
格式:getfacl 文件名
(3)setfacl
setfacl 命令管理文件的ACL规则
常用参数:
-R:递归参数,针对目录文件时使用;
-m:针对普通文件时使用;
-b:删除文件或目录的ACL
例如:setfacl -m u:用户名:权限 文件
setfacl -m u:wang:rwx 文件