Linux 改变文件权限

文件权限的改变使用的是chmod这个指令,但是,权限的设定方法有两种,分别可以使用数字或者是符号来进行权限的变更。我们就来谈一谈:

数字类型改变权限:

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,

假设文件的权限字符为:【-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

所以等一下我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

 

 

举例来说,如果要将bashrc这个文件所有的权限都设定启用,那么就下达:

 

 

那如果要将权限变成「-rwxr-xr--」 呢?那么权限的分数就成为[4+2+1][4+0+1][4+0+0]=754喽!所以你需要下达【chmod 754 filename】。 另外, 在实际的系统运作中最常发生的一个问题就是,常常我们以vim编辑一个shell的文字批处理文件后,他的权限通常是-rw-rw-r-- 也就是664,如果要将该文件变成可执行文件,并且不要让其他人修改此一文件的话,那么 就需要-rwxr-xr-x这样的权限,此时就得要下达:「chmod 755 test.sh」 的指令喽!
另外,如果有些文件你不希望被其他人看到,那么应该将文件的权限设定为例如: 【-rwxr-----】, 那就下达「chmod 740 filename」吧!

 

符号类型改变文件权限

还有一个改变权限的方法呦!从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user (2)group(3)others三种身份啦!

那么我们就可以藉由u,g, o来代表三种身份的权限!此外,a 则代表all 亦即全部的身份!那么读写的权限就可以写成r, w,x喽!也就是可以使用底下的方式来看:

 

 

来实作一下吧!假如我们要「设定」一个文件的权限成为【-rwxr-xr-x】时,基本上就是:
user(u):具有可读、可写、可执行的权限;

group与others (g/o):具有可读与执行的权限。

 

 

那么假如是「-rwxr-xr-- 」这样的权限呢?可以使用「chmod u=rwx,g= rx,o=r filename」来设定。此外,如果我不知道原先的文件属性,而我只想要增加.bashrc这个文件的每个人均可写入的权限,那么我就可以使用:

 

 

而如果是要将权限去掉而不更动其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

 

 

知道+,-,=的不同点了吗?+与-的状态下,只要是没有指定到的项目,则该权限「不会被变动」,
例如.上面的例子中,由于仅以-拿掉x则其他两个保持当时的值不变!多多实作一下,你就会知道如何改变权限喽!这在某些情况底下很好用的~举例来说,你想要教一个朋友如何让一个程序可以拥有执行的权限,但你又不知道该文件原本的权限为何,此时,利用【chmod a+x filename】, 就可以让该程序拥有执行的权限了。

posted @ 2022-05-29 22:11  Nickeyhu  阅读(1021)  评论(0编辑  收藏  举报