您的位置:首页 > 运维架构 > Linux

Linux文件属性和更改文件权限

2017-11-29 15:37 225 查看

Linux文件属性

当用ls -l命令查看当前目录下的文件时,共显示9列内容。

drwxr-xr-x. 6 1001 1001   4096 11月 11 08:36 auto
-rw-r--r--. 1 1001 1001 278202 10月 17 21:16 CHANGES
-rw-r--r--. 1 1001 1001 423948 10月 17 21:16 CHANGES.ru
drwxr-xr-x. 2 1001 1001    168 11月 11 08:36 conf
-rwxr-xr-x. 1 1001 1001   2481 10月 17 21:16 configure
drwxr-xr-x. 4 1001 1001     72 11月 11 08:36 contrib
drwxr-xr-x. 2 1001 1001     40 11月 11 08:36 html
-rw-r--r--. 1 1001 1001   1397 10月 17 21:16 LICENSE
drwxr-xr-x. 2 1001 1001     21 11月 11 08:36 man
-rw-r--r--. 1 1001 1001     49 10月 17 21:16 README
drwxr-xr-x. 9 1001 1001     91 11月 11 08:36 src


第1列:包含该文件的类型、所有者、所属组、以及其他用户对该文件的权限。第1列共11位。

第1位:用来描述该文件的类型。

d表示该文件是目录

-表示该文件为普通文件

l表示该文件为链接文件(link file)

b表示该文件为块设备,比如/dev/sda就是这样的文件,磁盘分区文件就是这种类型

c表示该文件为串行端口设备文件(又称字符设备文件),比如键盘、鼠标、打印机、tty终端等都是这样的文件

s表示该文件为套接字文件(socket),用于进程之间的通信

文件类型后面9位,每3个为一组,均为rwx这3个参数的组合。r代表可读,w代表可写,x代表可执行。前3位为所有者(user)的权限,中间3位为所属组(group)的权限,最后3位为其他非本群组用户(others)的权限。

最后1位是个点“.”,在CentOS 5 版本后,ls添加了SELinux或者acl的属性。如果文件或者目录使用了SELinux context的属性,这里会是一个点“.”;如果设置了acl的属性,这里会是一个加号“+”。关于SELinux和acl了解即可。

第2列:表示该文件占用的节点(inode),如果是目录,那这个数值与该目录下子目录数量有关。

第3列:表示该文件的所有者

第4列:表示该文件的所属者

第5列:表示该文件的大小

第6列、第7列和第8列:表示该文件最后一次被修改的时间(time),依次为月份、日期以及时间。

第9列:表示文件名。

更改文件的权限

命令chgrp

chgrp(change group的缩写)命令可以更改文件的所属组,其格式为:

chgrp [组名] [文件名]
chgrp testgroup test1


chgrp命令还可以更改目录的所属组

chgrp testgroup dir2


这样,chgrp命令只更改了目录本身,而目录下的文件并没有更改。如果想要级联更改子目录以及子文件,加-R选项可以实现。

chgrp -R testgroup dir2


这个命令不常用,因为还有一个命令可以替代它,那就是chown

命令chown

chown(change own的简写)命令可以更改文件的所有者,其格式为

chown [-R] 账户名 文件名
chown [-R] 账户名:组名 文件名


这里的-R选项只适用于目录,作用是级联更改,即不仅更改当前目录,连目录里的目录或者文件也全部更改。

chown -R user1:testgroup dir3


这样就把dir3目录以及该目录下的文件都修改成所有者user1,所属组为testgroup。

命令chmod

为里方便更改文件的权限,Linux使用数字代替rwx,具体规则为:r等于4,w等于2,x等于1,-等于0。例如,
rwxrwx---
用数字表示就是770,其具体算法为:rwx=4+2+1=7,rwx=4+2+1=7,—=0+0+0=7。

命令chmod(change mode的简写)用于改变用户对文件/目录的读写执行权限,其格式为

chmod [-R] xyz 文件名(这里的xyz表示数字)


-R还是表示级联更改。

在Linux系统中,一个目录的默认权限为755,而一个文件的默认权限为644.

chmod 750 dir3
chmod 700 dir3/test3
chmod -R 700 dir3


chmod还支持使用rwx的方式来设置权限。我们可以使用u、g和o来分别表示user、group和others的属性,用a代表all。

chmod u=rwx,og=rx dir3/test3


还可以针对u、g、o和a,增加或减少它们的某个权限(读,写或执行)

chmod u-x dir3/test3
chmod a-x dir3/test3
chmod u+x dir3/test3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 文件权限