文件权限管理
linux系统中每个文件或目录的访问者有三种,所有者,所属组,其他用户。每个用户对文件或目录有访问权限,常见的文件访问权限有三种,读权限,写权限,执行权限。
可以使用 ls -s 或者 ll 来查看文件的权限信息,例如 ll -d(指定目录) dir
权限的作用
权限对文件的作用
用户对文件有读权限,表示可以读取文件中的数据,可以通过cat,more,less,等查看文件
用户对文件有写权限,表示可以修改文件的数据,可以通过vim命令修改文件(写权限,并不表示可以删除文件,如果要删除文件,需要对文件的上级目录拥有写权限)
用户对文件由执行权限,表示可以执行(运行)文件,文件有执行权限,这个文件就是执行文件。
权限对目录的作用
用户对目录有读权限,表示可以查看目录中有哪些文件和子目录,可以在目录中执行ls命令来查看数据。
用户对目录由写权限,表示可以修改目录中的数据,可以在目录中,新建,删除,复制,剪切文件或子文件,通过touch,rm,cp等命令实现。
用户对目录有执行文件,表示可以进入目录,通过cd命令实现,对目录来说写权限是最高权限。
chmod 命令
chmod [参数选项] 权限模式 文件或目录名 用于修改权限的命令
权限模式有两个表示方法,字符表示法和数字表示法
字符表示法
u代表所有者 user
g代表组 group
o代表其他用户 other
a代表全部身份 all
r 读权限 read
w写权限 write
x执行权限 execute
+加入权限
-减去权限
=设置权限
例如:chmod u+w,g+w file
数字表示法
将读r写w执行x,分别以4,2,1,没有设置权限的部分就为0,然后把所设置的权限相加。
例如一个权限的属性,rwxr-xr-x 所有者权限为421 所属组权限为401 其他用户为401
所以·该文件的权限模式为755
chown命令 用于修改文件所有者与所属组
chown [参数选项] 所有者:所属组 文件列表
-R 表示递归设置,更改目录所有者或所属组时会同时更改子目录中的所有者和所属组的信息。
chown test file 将当前目录file文件的所有者改为test
chown test:test file 将当前目录file文件的所有者和所属组改为test
chgrp命令 用于修改文件所属组
-R表示递归设置
umask 文件预设权限
umask文件预设权限是linux系统文件权限中的一种,主要用于使linux系统中新建的文件和目录拥有默认初始权限。
umask命令 查看umask值
root用户umask默认值为0022,普通用户为0002
第一位代表文件所具有的特殊权限,后三位用来设置文件或目录的初始权限。
文件或目录的初始权限=文件或目录的最大默认权限-umask值
在linux系统中,新建文件的默认最大权限是666,没有执行权限(x),新建目录的最大权限是777.
例:root用户创建文件, 666(rw-rw-rw-)-022(----w--w-)=644(rw-r--r--)
例:root用户创建目录,777(rwxrwxrwx)-022(----w--w-) = 755(rwxr-xr-x)
修改umask值
umask 033 就是直接改了。