7 April 2020
Linux(1) -- 权限管理
by Jerry Zhang
文件权限设定
Linux的文件类型和权限
输入命令:ls -l 或者 输入:ll
可以看到当前文件夹下的所有文件。开头的一段比如“-rw-r–r–”代表对这个文件拥有的权限。其中,开头的第一个“-”,代表该文件的类型。
Linux系统的文件,不像Windows以后缀作为文件类型。常用的Linux文件类型有:
- ”-“ 表示这是一个文件
- “d” 表示这是一个目录
- “l” 表示这是一个软链接文件
等等,一共有七种文件类型。
“-rw-r–r–” 除了第一个减号外,后面的9位,每三位为一组。
- 第一组是所有者权限, u,比如上面的就是“rw-”
- 第二组是所属组权限, g,比如上面的就是“r–”
- 第三组是其他人权限, o,比如上面的就是“r–”
“r”表示“读”;”w”表示“写”;”x”表示“执行”
修改权限
chmod u+w,g+w <文件名>
用加号增加权限,用减号去掉权限。上面这行,表示给当前用户增加写权限,给当前组增加写权限。
或者用“=”直接赋予权限。比如,chmod a=rwx <文件名>
,a代表所有,给所有人赋予所有权限。
最好的方法是,使用数字来表示权限。
- r —- 4
- w —- 2
- x —- 1
比如:“rwxr-xr-x”就可以用755来表示。
比如,chmod 644 <文件名>
,就把该文件赋予了一般的权限“-rw-r–r–”
常用的权限有:777最高权限,644普通文件权限,755执行权限。
Linux文件权限的作用
权限对文件的作用
- r: 读取文件内容(cat more head tail)
- w: 编辑、新增、修改文件内容(vi echo) 但是不包含删除该文件,这是因为数据是文件的内容,而该文件是它的上级文件夹下的内容。
- x: 可执行
权限对目录的作用
- r: 可以查询目录下文件名 (ls)
- w: 具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp)
- x: 可以进入目录(cd)
对文件来讲: 最高权限是 x; 对目录来讲:最高权限是 w
对目录来讲,能赋的权限只有0,5,7,因为如果连进都进不去,其他权限就没有意义,或者进去之后什么也做不了,也没意义。
Linux其他权限命令
chown: change owner
chown <用户名> <文件名>
chgrp:change group
chown root:root <文件名>
把所有者和用户组同时改为root
在服务器上,不要随便给777,要尽量给最小权限
Linux中文件默认权限为666
Windows中创建的文件,它的权限会继承上一级目录。
Linux是通过umask定义默认的权限.
umask
显示0002,第一位是文件的特殊权限
文件默认权限最大为666,不允许执行。666要先换算成字母之后,再减去umask值,才是默认权限。
比如,666是-rw-rw-rw-,减去002代表的——–w-等于 -rw-r–r–