Linux 下的文件权限管理

1.Linux的基本文件系统类型

- 普通文件 灰色

l 链接文件 浅蓝色

d 目录文件 蓝色

b/c 设备文件 黄色 b(块设备) c(字符设备)

p 管道文件

s 套接字文件

2.Linux文件系统与Windows文件系统的对比

java修改linux 文件夹权限 java linux 文件权限_java给文件777权限

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 文件