linux 7 没有权限访问,[CentOS 7系列]文件或目录的权限与属性

在开始今天的话题之前,我们首先来回顾下ls命令。在ls命令中参数“-l”会显示出来目标的详细信息,如下所示:

[root@server02~]#ls-l/tmp/

总用量4

-rwx------.1rootroot8365月2706:19ks-script-ogzDFA

drwxr-xr-x.5rootroot755月3005:26test

drwxr-xr-x.2rootroot65月3004:15test1

drwxr-xr-x.3rootroot175月3004:16test2

-rw-------.1rootroot05月2706:10yum.log

[root@server02~]#

在前几帖中,我们曾提到过第一列(上图的“-”和“d”等)标记的是对象的文件类型。而后面还有10位,最后一位“.”表示开启了selinux,当关闭后,这个标识位将会消失。而中间的“rwxr-xr-x”等9位字符标记的是对象的权限。

这9位字符中,前三位描述的是所有者(如上图某行的第一个root,表示所有者是root用户)的权限,中间三位描述的是所属组(如上图某行的第二个root,表示所属组是root组)的权限,最后三位则描述的是除所有者和所属组外其他人的权限。其中“r”表示可读,“w”表示可写,“x”表示可执行,而“-”则表示的是没有该项权限。

在使用时,我们把“r”规定值为4,“w”为2,“x”为1,以及“-”为0,如rwx=7、r-x=5等。这样也就方便我们描述对象的权限。

chmod

1、命令作用

赋予文件或目录权限

2、命令格式

chmod [options] file

3、参数

-R对目前目录下的所有文件和子目录进行相同的权限变更。

4、样例

[root@server02test]#ll

总用量0

-rw-r--r--.1rootroot05月3007:031.txt

-rw-r--r--.1rootroot05月3007:032.txt

drwxr-xr-x.2rootroot65月3007:04file1

[root@server02test]#chmod7771.txt

[root@server02test]#chmodu=rwx,g=rw,o=r2.txt

[root@server02test]#chmodg+wfile1

[root@server02test]#ll

总用量0

-rwxrwxrwx.1rootroot05月3007:031.txt

-rwxrw-r--.1rootroot05月3007:062.txt

drwxrwxr-x.2rootroot65月3007:04file1

[root@server02test]#

注:推荐使用数字的方式赋予权限。

chown

1、命令作用

更改文件或目录的所有者或所属组

2、命令格式

chown[options] file

3、参数

-R对目前目录下的所有文件和子目录进行相同的权限变更。

4、样例

[root@server02test]#ll

总用量0

-rwxrwxrwx.1rootroot05月3007:031.txt

-rwxrw-r--.1rootroot05月3007:032.txt

drwxrwxr-x.2rootroot65月3007:04file1

[root@server02test]#chownuser11.txt

[root@server02test]#chownuser2:user22.txt

[root@server02test]#chown:user3file1

[root@server02test]#ll

总用量0

-rwxrwxrwx.1user1root05月3007:031.txt

-rwxrw-r--.1user2user205月3007:032.txt

drwxrwxr-x.2rootuser365月3007:04file1

[root@server02test]#

注:chgrp命令也可以更改所属组,因为chown也可以更改,不推荐使用

通过chown和chgrp两条命令,我们可以赋予文件或目录权限,也可以更换其所有者和所属组。那么,当一个新的文件和目录被创建的时候,它们的权限是怎么设置的呢?

[root@server02test]#mkdirdirectory

[root@server02test]#touch1.txt

[root@server02test]#ll

总用量0

-rw-r--r--.1rootroot05月3007:291.txt

drwxr-xr-x.2rootroot65月3007:28directory

[root@server02test]#

可以看到默认生成的目录权限是755,文件权限是644。这样设置的原因是,目录需要执行权限才能cd进入目录下,而文件不需要执行权限,这样更安全些。而完成这个权限设置的功臣就是linux系统内的umask值。

[root@server02test]#umask

0022

[root@server02test]#

umask值默认为0022。目录采用777(rwxrwxrwx),文件采用666(rw-rw-rw-)的初始值,和umask值通过减权限(不是减法)的方式运算出目录和文件的初始权限。

例1:umask002002

当创建一个文件666-002=664

当创建一个目录777-002=775

例2:umask033033

当创建一个文件666-033=644

当创建一个目录777-033=744

chattr

改变文件或目录属性

chattr[options] file

-i不可以增加、追加、删除和更改,重命名任何内容和信息。

-a只可以追加内容,不可以删除、更改和重命名。

4、样例

[root@server02test]#chattr+i1.txt

[root@server02test]#chattr+a2.txt

[root@server02test]#chattr-i1.txt

lsattr

查看文件或目录属性

lsattr[options] file

-d列出目录的属性信息。

-a列出当前文件或目录下的所有文件(包含隐藏文件)的属性信息。

-R列出目录下的所有文件和子目录及其下的所有文件的属性信息。

4、样例

[root@server02test]#lsattr

----------------./directory

----i-----------./1.txt

-----a----------./2.txt

----i-----------./dir1

[root@server02test]#lsattr-a

----------------./.

----------------./..

----------------./directory

----i-----------./1.txt

-----a----------./2.txt

----i-----------./dir1

----------------./.3.txt

[root@server02test]#lsattr-d

----------------.

[root@server02test]#lsattr-Rdirectory

-----a----------directory/test.txt

----------------directory/dir2

directory/dir2:

-----a----------directory/dir2/100.txt

[root@server02test]#

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值