如何修改Linux文件的属性与权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改Linux文件的属性与权限相关的知识,希望对你有一定的参考价值。

1、打开Linux系统,建立一个目录。建立目录命令为【mkdir】。并用【ls】命令查看目录相关信息,如图,test的权限为rwxr-xr-x。

2、chgrp:改变文件所属用户组。命令格式为:chgrp 用户名 文件或目录。如图,用户组原为root,现在被修改到nerd用户组。

3、chown:改变文件所有者。命令格式为:chown 所有者 文件或目录。如图,目录所属者原来为root,用chown该所属者为bin。

4、chmod:改变文件的权限。命令格式为:chmod 权限属性 文件或目录。如图原来目录的权限为rwxr-xr-x,后来修改为rwxrwxrwx。

5、查看三个命令的具体用法,这里可以借助【man】命令,查看chgrp、chown、chmod的相关参数与具体用法。

参考技术A 使用 chmod命令。

语法实例:
$ chmod u+x file     给file的属主增加执行权限
$ chmod 751 file     给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
$ chmod u=rwx,g=rx,o=x file 上例的另一种形式
$ chmod =r file     为所有用户分配读权限
$ chmod 444 file      同上例
$ chmod a-wx,a+r file      同上例
$ chmod -R u+r directory   递归地给directory目录下所有文件和子目录的属主分配读的权限
$ chmod 4755   设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限本回答被提问者采纳

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

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

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

chgrp  :  改变档案所属群组

chown :  改变档案拥有者

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

1. 改变所属群组, chgrp

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

2. 改变档案拥有者, chown

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

范例:将install.log的拥有者改为bin这个账号:
[root@www ~]# chown bin install.log 
[root@www ~]# ls -l 
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 范例:将install.log的拥有者与群组改回为root: [root@www ~]# chown root:root install.log [root@www ~]# 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的语法是这样的:

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

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

[root@www ~]# ls -al .bashrc 
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# 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 啰!所以你需要下达:

[root@www ~]# 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):具有可读不执行的权限。

所以就是:

[root@www ~]# chmod u=rwx,go=rx .bashrc 
# 注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符!
[root@www ~]# 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这个档案的每个人均可写入的权限, 那么我就可以使用:

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

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

[root@www ~]# chmod a-x .bashrc 
[root@www ~]# ls -al .bashrc
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

 

转:http://www.cnblogs.com/yangjinjin/p/3165076.html

以上是关于如何修改Linux文件的属性与权限的主要内容,如果未能解决你的问题,请参考以下文章

Linux的文件夹权限如何更改

Ubuntu 文件(夹)权限查看与修改相关指令

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

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

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

linux文件属性与权限