您的位置:首页 > 运维架构 > Linux

Linux权限修改 - 更改文件的拥有者及用户组

2018-03-01 10:50 471 查看

分享知识 传递快乐

一、修改文件拥有者

chown命令:chown命令是change owner(改变拥有者)的缩写。chown命令的用途很多,还可以顺便直接修改用户组的名称。如果要连目录下的所有子目录或文件同时更改文件拥有者的话,直接加上-R的参数即可。
基本语法:
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:用户组名称 文件或目录
参数:

-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例1:
[root@localhost home]# touch testfile //由 root 用户创建文件
[root@localhost home]# ls testfile –l
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的拥有者及拥有者级均为 root
[root@localhost home]# chown yangzongde testfile //修改文件拥有者为 yangzongde
[root@localhost home]# ls testfile -l
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组仍为 root
示例2:chown bin install.log
ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
chown root:root install.log
ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log

二、修改文件所属用户组

chgrp命令:chgrn命令就是change group(改变用户组)的缩写。
基本语法:chgrp [-R] 用户组名称 文件或目录参数:
-R : 进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录
都更新成为这个用户组。常常用在更改某一目录的情况。
示例3
[root@localhost home]# ls testfile -l
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件拥有者为 yangzongde,但组为 root
[root@localhost home]# chgrp yangzongde testfile //修改拥有者组为 yangzongde
[root@localhost home]# ls testfile -l
-rw--w--w- 1 yangzongde yangzongde 0 Jun 7 19:35 testfile
[root@localhost home]# chown root:root testfile // 使用 chown 一次性修改拥有者及组
[root@localhost home]# ls testfile -l
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile
示例4
[root@linux ~]# chgrp users install.log
[root@linux ~]# ls -l
-rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
示例5 更改为一个 /etc/group里不存在的用户组
[root@linux ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 出现错误信息~找不到这个用户组名~

三,文件或文件夹权限属性设置

chmod命令:chmod命令用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。权限范围的表示法如下:
u:User,即文件或目录的拥有者;
g:Group,即文件或目录的所属群组;
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a:All,即全部的用户,包含拥有者,所属群组以及其他用户;
r:读取权限,数字代号为“4”;
w:写入权限,数字代号为“2”;
x:执行或切换权限,数字代号为“1”;
-:不具任何权限,数字代号为“0”;
s:特殊功能说明:变更文件或目录的权限。
Linux用户分为:拥有者、组群(Group)、其他(other),Linux系统中,预设的情況下,系统中所有的帐号与一般身份使用者,以及root的相关信 息, 都是记录在/etc/passwd文件中。每个人的密码则是记录在/etc/shadow文件下。 此外,所有的组群名称记录在/etc/group內!

附:
drwxrwxrwx权限对应数字,共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称。

d :第1位表示文件类型。Linux文件类型有以下几种:
d :文件夹
- :普通文件
l :链接
b :块设备文件
p :管道文件
c :字符设备文件
s :套接口文件
从左至右,2-4位数字代表文件所有者的权限,5-7位数字代表同组用户的权限,8-10数字代表其他用户的权限。一共有11位数,其中最前面那个代表的是类型:
rwx :第2-4位表示这个文件代表的是所有者(user)拥有的权限。r是读、w是写、x是执行
r-x :第5-7位表示这个文件代表的是组群(group)拥有的权限,所在同一个组的用户所具有的权限
r-x :第8-10位表示这个文件代表的是其他人(other)所具有的权限
常用的linux文件权限:
444 r--r--r--
600 drw-------
644 drw-r--r--
666 drw-rw-rw-
700 drwx------
744 drwxr--r--
755 drwxr-xr-x
777 drwxrwxrwx
Linux的具体的权限是由数字来表示的:
读取的权限等于4,用r表示;
写入的权限等于2,用w表示;
执行的权限等于1,用x表示;
通过4、2、1的组合,得到以下几种权限:
0(没有权限);
4(读取权限);
5(4+1 | 读取+执行);
6(4+2 | 读取+写入);
7(4+2+1 | 读取+写入+执行)
以755为例:
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。
例:
d---------  2 root   root    4096 1月  25 12:47 study
ubuntu@lenovo:/home$ chmod g=rx 文件或文件夹
d---r-x---  2 root   root    4096 1月  25 12:47 study

d---------  2 root   root    4096 1月  25 12:47 study
ubuntu@lenovo:/home$ sudo chmod g=rwx,o=rwx  文件或文件夹
d---rwxrwx  2 root   root    4096 1月  25 12:47 study

d---rwxrwx  2 root   root    4096 1月  25 12:47 study
ubuntu@lenovo:/home$ sudo chmod g-w,o-w study/
d---r-xr-x  2 root   root    4096 1月  25 12:47 study

d---r-xr-x  2 root   root    4096 1月  25 12:47 study
ubuntu@lenovo:/home$ sudo chmod u+r+w+x study/
drwxr-xr-x  2 root   root    4096 1月  25 12:47 study
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息