在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:
- [root@izuf6j6lg3a5yevbld72y2z projects]# ll
- total 408
- -rw-r--r-- 1 root root 410 Jan 18 11:07 deploy-dev.sh
- -rw-r--r-- 1 root root 410 Jan 18 11:07 deploy-prd.sh
- -rw-r--r-- 1 root root 410 Jan 18 11:07 deploy-qas.sh
- -rw-r--r-- 1 root root 74583 Jan 11 18:34 log.txt
- -rw------- 1 root root 319650 Jan 12 11:27 nohup.out
- drwxr-xr-x 4 root root 4096 Jan 12 00:07 user-management
…… 实例中,user-management文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
从左至右用0-9这些数字来表示。 第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。 其中,第1、4、7位表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;第3、6、9位表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
更改文件属性
1、chgrp:更改文件属组 语法: chgrp [-R] 属组名文件名 参数选项 -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown:更改文件属主,也可以同时更改文件属组 语法: chown [–R] 属主名 文件名 chown [-R] 属主名:属组名 文件名 进入 /data/wwwroot/default 目录(~)将index.jsp的拥有者属组:
3、chmod:更改文件9个属性
文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= --- = 0+0+0 = 0
变更权限的指令chmod的语法是这样的:
chmod [-R] xyz 文件或目录
符号类型改变文件权限 还有一个改变权限的方法呦!基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!
那么我们就可以藉由u, g, o来代表三种身份的权限!
此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x!也就是可以使用底下的方式来看:
chmod u/g/o/a +(加入)/-(除去)/=(设定) r/w/x 文件或目录
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则: