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

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

我们知道档案权限对于一个系统的安全重要性,也知道档案的权限对于使用者与群组的相关性, 那如何修改一个档案的属性与权限呢?

我们这里介绍几个常用于群组、拥有者、各种身份的权限的指令。如下所示:

chgrp  :  改变档案所属群组

chown :  改变档案拥有者

chmod :  改变档案的权限, SUID, SGID, SBIT等等的特性

1. 改变所属群组, chgrp

[[email protected] ~]# chgrp [-R] dirname/filename ... 选项与参数: -R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。
范例:[[email protected] ~]# chgrp users install.log [[email protected] ~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log [[email protected] ~]# chgrp testing install.log chgrp: invalid group name `testing‘ <== 发生错误信息息啰~找不到这个群组名~

2. 改变档案拥有者, chown

[[email protected] ~]# chown [-R] 账号名称 档案或目录
[[email protected] ~]# chown [-R] 账号名称:组名 档案或目录
选项与参数:
   -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更

范例:将install.log的拥有者改为bin这个账号:
[[email protected] ~]# chown bin install.log
[[email protected] ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 

范例:将install.log的拥有者与群组改回为root:
[[email protected] ~]# chown root:root install.log
[[email protected] ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

3. 改变权限, chmod

权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。

3.1 数字类型改变档案权限

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的语法是这样的:

[[email protected] ~]# chmod [-R] xyz 档案或目录
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更

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

[[email protected] ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [[email protected] ~]# chmod 777 .bashrc [[email protected] ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下达:

[[email protected] ~]# chmod 754 filename

3.2 符号类型改变档案权限

还有一个改变权限的方法呦!从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x啰!也就是可以使用底下的方式来看:

来实验一下吧!假如我们要设定一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
o user (u):具有可读、可写、可执行的权限;
o group 与 others (g/o):具有可读不执行的权限。

所以就是:

[[email protected] ~]# chmod u=rwx,go=rx .bashrc # 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符! [[email protected] ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc

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

[[email protected] ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc [[email protected] ~]# chmod a+w .bashrc [[email protected] ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

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

[[email protected] ~]# chmod a-x .bashrc [[email protected] ~]# ls -al .bashrc -rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc
时间: 2024-10-23 20:03:39

linux 如何改变文件属性与权限的相关文章

鸟哥的linux私房菜学习-(七)改变文件属性与权限

1.Linux文件权限的重要性 与Windows系统不一样的是,在Linux系统当中,每一个文件都多加了很多的属性进来,尤其是群组的概念,这样有什么用途呢? 其实,最大的用途是在『数据安全性』上面的. 系统保护的功能:举个简单的例子,在你的系统中,关于系统服务的文件通常只有root才能读写或者是执行,例如/etc/shadow这一个账号管理的文件,由于该文件记录了你系统中所有账号的数据, 因此是很重要的一个配置文件,当然不能让任何人读取(否则密码会被窃取啊),只有root才能够来读取啰!所以该文

Linux学习笔记-文件属性和权限

文件的属性 使用命令 ls -al 能得到文件的相关信息,格式如下 [ 权限 ] [ 链接 ] [ 所有者 ] [ 用户组 ] [ 文件容量 ] [ 修改日期 ] [ 文件名 ] 权限描述由10个字符组成 第一个字符描述文件的类型 剩下的9个字符,三个为一组,均为[rwx]的组合,各组依次代表文件所有者.同用户组.其他非用户组用户的相关权限 文件类型描述 [d] 目录 [-] 文件 [l] 连接文件 [b] 可供存储的接口设备 [c] 串行端口设备,如键盘.鼠标 文件权限描述 [r] 可读 [w

Linux学习之文件属性chattr权限与sudo权限(十二)

Linux学习之文件属性chattr权限与sudo权限 文件属性chattr Linux文件的隐藏属性在保护系统文件的安全性上非常重要,是防止误操作的,对root用户也同样有效.chattr命令只能在Ext2/Ext3的文件系统生效. 设置文件属性 chattr [+-=][选项] 文件或目录名 常用选项详解 i:如果对文件设置i属性,那么不允许对文件进行删除.改名,也不能添加和修改数据:如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件. a:如果对文件设置a属性,那么

改变文件属性和权限

chgrp :改变档案所属群组 chown :改变档案拥有者 chmod :改变档案的权限, SUID, SGID, SBIT等等的特性 改变所属群组, chgrp(change group). chgrp [-R] 组名 文件名 [[email protected] ~]# chgrp users install.log (改变文件install.log的群组为 users(该群组必须是已经存在的)) 改变所有者,chown chown [-R] 账号名称 文件或者目录 [[email pro

改变文件属性与权限

一.改变用户所属组 1.新建一个文件install.log [[email protected] ~]# touch install.log 2.ls-l 查看install.log文件所属组为root [[email protected] ~]# ls -ltotal 4-rw-------. 1 root root 1978 Dec 16 01:26 anaconda-ks.cfg-rw-r--r--. 1 root root 0 Dec 22 02:38 install.log 3.chg

linux命令,系统安全相关命令--改变文件属性与权限(chgrp,chwon,chmod)

chgrp  改变所属群组 chgrp命令可以变更文件或目录所属群组,当然,要被改变的组名必须要在/etc/group文件内存在才行. chgrp基本参数: 1 [email protected]:~# chgrp --help 2 Usage: chgrp [OPTION]... GROUP FILE... 3 or: chgrp [OPTION]... --reference=RFILE FILE... 4 Change the group of each FILE to GROUP. 5

Linux 改变文件属性与权限

操作 命令 常用参数 举例 更改组 chgrp -R chgrp [-R] groupname  ~/grp.txt 更改所有者 chown -R chown [-R] username ~/usr.txt 更改权限 chmod -R chmod [-R] 权限 ~/mod.txt -R 参数是将目录及其子目录和文件都进行修改操作 修改文件权限的时候,权限有多种记法. 1. 数字记法 按照权限的位置,以二进制进行计数. r:4 w:2 x:1 [-rwxrwx---]=770 2. 符号记法 三

如何改变文件属性与权限

改变一个文件的的属性通常指的是:文件所属群组,文件拥有者,各种身份的权限. chgrp: 改变档案的所属群组. 需要注意的是,新改变的群组名必须要在/etc/group档案中. chown: 改变档案的拥有者. 需要注意的是,用户必须要在/etc/passwd档案中有记录的用户名. 同时,该命令既可以修改拥有者,也可以修改档案的所属群组.具体使用方法:chown user:group filename,修改拥有者的同时修改所属群组.另外,也可以使用该名利直接修改所属群组,如chown .grou

linux chattr(改变文件属性)

命令 : chattr 语法: chattr [+-=][ASaci [文件或者目录名] '+-=' : 分别为增加.减少.设定 'A' : 增加该属性后,文件或目录的atime将不可被修改: 'S' : 增加该属性后,会将数据同步写入磁盘中: 'a' : 增加该属性后,只能追加不能删除,非root用户不能设定该属性: 'c' : 自动压缩该文件,读取时会自动解压: 'i' : 增加后,使文件不能被删除.重命名.设定链接接.写入.新增数据: [[email protected] ~]# chat