Linux 文件权限管理
Linux 文件主要属性:文件类型、文件权限、文件属主、文件属组、文件大小、文件时间戳、文件名称。可以通过 ls -l 命令查看或通过 stat 命令针对单独文件查看文件元数据。
[root@VMredhat6 ~]# ls -l
total 108
-rw-------. 1 root root 1555 Jul 13 17:38 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Jul 13 10:24 Desktop
drwxr-xr-x. 2 root root 4096 Jul 13 10:24 Documents
drwxr-xr-x. 2 root root 4096 Jul 13 10:24 Downloads
-rw-r--r-- 1 root root 57995 Jul 23 13:10 install.log
-rw-r--r--. 1 root root 11376 Jul 13 17:35 install.log.syslog
一、文件权限简介
1、文件九个字符意义如下图所示:
2、权限进制表示
3、rwx对文件意义如下:
r:可以使用内容查看类的命令来显示文件相关内容
w: 可以使用编辑器修改文件内容,但需要配置r权限一起使用
x:可以将文件发起一个进程进行执行
4、rwx对目录意义如下:
r:可以使用ls命令查看目录内容的文件信息,但使用cd切换不了其它目录
w:可以创建、删除目录里的文件,也可以删除当前目录,但需要配合rx两个权限一起使用
x:可以使用ls -l命令来查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录,但需配合r权限一起使用
二、文件操作
chmod命令用来变更文件或目录的权限
标注:操作指定类别用户的权限:使用u,g,o,a来赋权,基于=或者+/—来进行
u:属主
g:属组
o:其他
a:所有用户
=:会覆盖原来权限
+/—:不会覆盖原来权限
chmod 755 filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx
chmod u=rwx,g=rx.o=rx filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx
chmod u=rwx,go=rx filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx
chmod u+rwx,g+rx,o=rx filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx
chmod a=rwx filename #给文件filename赋予777权限,等同于ugo=rwx
chmod –reference=testfile filename #以testfile文件权限为参照,赋予filename文件权限
uamsk 设置限制新建立文件权限的掩码
标注:umask查看文件权限掩码,使用最后三位表示,Linux 系统默认使用文件掩码 777-022(umask)=755 ,
Linux 系统默认目录文件掩码 666-022(umask)=644。需要特别注意的一点是Linux 系统默认文件在创建时决
不允许出现执行权限(权限命令分配除外),但文件目录可以出现执行权限。
root管理员默认创建文件的权限:
[root@VMredhat6 ~]# umask
0022
[root@VMredhat6 ~]# umask -S
u=rwx,g=rx,o=rx
普通用户默认创建文件的权限:
[admin01@VMredhat6 ~]$ umask
0002
[admin01@VMredhat6 ~]$ umask -S
u=rwx,g=rwx,o=rx