5.2.2如何改变文件属性与权限

简介: 5.2.2如何改变文件属性与权限

常用于群组、拥有者、各种身份的权限之修改的指令,如下所示:

改变一个文件的群组很简单,直接chgrp来改变,指令就是change group。要被改变的群组名称必须要在/etc/group文件内存在才行,否则就会显示错误。


假设你已经是root的身份了,那么在你的主文件夹内有一个名为 initial-setup-ks.cfg 的文件,如何将该文件的群组改变一下呢?假设你已经知道在/etc/group里面已经存在一个名为users的群组, 但是testing这个群组名字就不存在/etc/group当中了,此时改变群组成为users与testing分别会有什么现象发生呢?

文件的群组被改成users了,但是要改成testing的时候, 就会发生错误。发生错误讯息还是要努力的查一查错误讯息的内容才好! 将他英文翻译成为中文,就知道问题出在哪里了。


改变文件拥有者, chown


如何改变一个文件的拥有者呢?改变群组是change group,那么改变拥有者就是change owner,这就是chown这个指令的用途,要注意的是, 使用者必须是已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者名称才能改变。


chown的用途还满多的,他还可以顺便直接修改群组的名称呢!此外,如果要连目录下的所有次目录或文件同时更改文件拥有者的话,直接加上 -R 的选项即可!我们来看看语法与范例:

复制文件给其他人,使用最简单的cp指令来说明:

如果要将.bashrc这个文件拷贝成为.bashrc_test文件名,且是要给bin这个人,你可以这样做:

由于复制(cp)会复制执行者的属性与权限,所以,.bashrc_test还是属于root所拥有,因此即使将文件拿给bin这个使用者,仍然无法修改,所以就必须要将这个文件的拥有者与群组修改一下。


改变权限,chmod


文件权限的改变使用的是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 755test.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这个文件的每个人均可写入的权限, 那么我就可以使用:

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


相关文章
|
安全 Linux
6.4 文件与目录的默认权限与隐藏权限
6.4 文件与目录的默认权限与隐藏权限
93 0
|
Linux
【Linux命令200例】chattr改变文件的扩展属性
在Linux系统中,chattr(change attribute)命令用于改变文件的扩展属性。扩展属性允许用户设置特殊的权限、保护或限制文件的操作。这些属性可以被设置为只读、不可删除、不可修改等,提供了更高级别的文件安全性。
194 0
|
Linux
linux第四课:改变文件的权限和属性(内含:1.修改权限命令chmod+2.临时切换用户用 sudo+3.chowm:改变文件所有者)
linux第四课:改变文件的权限和属性(内含:1.修改权限命令chmod+2.临时切换用户用 sudo+3.chowm:改变文件所有者)
362 0
linux第四课:改变文件的权限和属性(内含:1.修改权限命令chmod+2.临时切换用户用 sudo+3.chowm:改变文件所有者)
|
Linux Go
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
linux中的chmod改变权限、修改bigbig.txt文件使其所属主用户只有读权限、修改bigbig.txt文件使其所属组用户具有写权限linux中的文件权限类、rwx 作用文件和目录的不同解释
|
Linux
【Linux】如何改变文件属性与权限
【Linux】如何改变文件属性与权限
100 0
【Linux】如何改变文件属性与权限
/文件和目录权限chmod /更改所有者和所属组chown/umask/隐藏权限lsattr/chattr
2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown2.16 umask2.17 隐藏权限lsattr/chattr     文件和目录权限chmod  文件权限: r     4       可读 w    2      可写 x     1    ...
1335 0