linux基本指令chmod,Linux基本命令-chmod

本文详细介绍了chmod命令如何变更Unix/Linux系统中文件和目录的权限,包括权限类型、数字代号、权限模式操作实例和递归权限管理。掌握rwx、u/g/o等权限概念和chmod语法对于文件权限管理至关重要。
摘要由CSDN通过智能技术生成

chmod命令用来变更文件或目录的权限。在unix系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

权限范围的表示法如下:

u:user,文件或目录的拥有者

g:group,文件或目录的所属群组

o:other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围

a:all,全部的用户,包含拥有者,所属群组以及其他用户

r:read,读取权限,数字代号为“4”

w:write,写入权限,数字代号为“2”

x:执行或切换权限,数字代号为“1”

-:不具有任何权限,数字代号为“0”

s:特殊功能说明:变更文件或目录的权限

语法

chmod (选项) (参数)

选项

-c或——changes:效果类似“-v”参数,但仅回报更改的部分;

-f或--quiet或——silent:不显示错误信息;

-r或——recursive:递归处理,将指令目录下的所有文件及子目录一并处理;

-v或——verbose:显示指令执行过程;

--reference=:把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;

+:开启权限范围的文件或目录的该选项权限设置;

-:关闭权限范围的文件或目录的该选项权限设置;

=:指定权限范围的文件或目录的该选项权限设置;

参数

权限模式:指定文件的权限模式;

文件:要改变权限的文件。

实例

linux用 户分为:拥有者、组群(group)、其他(other),linux系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及root的相关信 息, 都是记录在/etc/文件中。每个人的密码则是记录在/etc/shadow文件下。 此外,所有的组群名称记录在/etc/group內!

linux文件的用户权限的分析图

b5fcc3ad4943dfacd188b97569193a69.png

例如:rwxrw-r--

r=可读    //值为4

w=可写    //值为2

x=可执行    //值为1

-=无权限    值为0

命令执行:

[root@localhost ~]# touch test.txt

[root@localhost ~]# ll

total 4

-rw-------. 1 root root 1523 apr 4 18:27 anaconda-ks.cfg

-rw-r--r--. 1 root root 0 jun 13 16:22 test.txt

我们可以看到新建的test.txt文档具有的权限:rw-r--r--,对应的值为644。

[root@localhost ~]# chmod u=rwx,g=rw,o=r test.txt

[root@localhost ~]# ll

total 4

-rw-------. 1 root root 1523 apr 4 18:27 anaconda-ks.cfg

-rwxrw-r--. 1 root root 0 jun 13 16:22 test.txt

现在的权限为rwxrw-r--,权限值为764.

[root@localhost ~]# chmod u-x,g+x-w,o+x test.txt

[root@localhost ~]# ll

total 4

-rw-------. 1 root root 1523 apr 4 18:27 anaconda-ks.cfg

-rw-r-xr-x. 1 root root 0 jun 13 16:22 test.txt

现在的权限是rw-r-xr-x,权限值为655.

[root@localhost ~]# chmod a=r test.txt

[root@localhost ~]# ll test.txt

-r--r--r--. 1 root root 0 jun 13 16:22 test.txt

现在的权限是r--r--r--,权限值为444.

[root@localhost ~]# chmod a+x test.txt

[root@localhost ~]# ll test.txt

-r-xr-xr-x. 1 root root 0 jun 13 16:22 test.txt

现在的权限是r-xr-xr-x,权限值为555.

[root@localhost ~]# chmod 440 test.txt

[root@localhost ~]# ll test.txt

-r--r-----. 1 root root 0 jun 13 16:22 test.txt

通过值更改权限后,同样根据值的换算得到文件权限:r--r-----,值为440

[root@localhost ~]# chmod 777 test.txt

[root@localhost ~]# ll test.txt

-rwxrwxrwx. 1 root root 0 jun 13 16:22 test.txt

上面是777权限。rwxrwxrwx.

递归参数

[root@localhost ~]# ls -l

total 4

-rw-------. 1 root root 1523 apr 4 18:27 anaconda-ks.cfg

drwxr-xr-x. 2 root root 45 jun 13 16:36 test

[root@localhost ~]# ls -l test

total 0

-r--r--r--. 1 root root 0 jun 13 16:36 test1

--w--w--w-. 1 root root 0 jun 13 16:36 test2

---x--x--x. 1 root root 0 jun 13 16:36 test3

当前test目录为731权限,test目录下的test1为444权限,test2为222权限,test3为111权限。现在进行递归权限管理:

[root@localhost ~]# chmod -r 777 test

[root@localhost ~]# ls -l

total 4

-rw-------. 1 root root 1523 apr 4 18:27 anaconda-ks.cfg

drwxrwxrwx. 2 root root 45 jun 13 16:36 test

-rwxrwxrwx. 1 root root 0 jun 13 16:22 test.txt

[root@localhost ~]# ls -l test

total 0

-rwxrwxrwx. 1 root root 0 jun 13 16:36 test1

-rwxrwxrwx. 1 root root 0 jun 13 16:36 test2

-rwxrwxrwx. 1 root root 0 jun 13 16:36 test3

通过执行chmod -r 777 test命令,test目录的权限以及其下的所有文件全部递归调整权限为777。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值