linux修改文件所有者和文件所在组

摘要:
Chown有很多功能。它不仅可以更改文件所有者,还可以修改文件所属的组。如果需要更改目录中所有文件的所有者,可以使用-R参数。

chgrp  用户名    文件名  -R

chown 用户名   文件名  -R

 

-R表示递归目录下所有文件

 

以上部分已验证 

 

一、修改文件所属组群——chgrp
   修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令)
   语法:chgrp  组群  文件名/目录 
   举例:
[root@redhat ~]# groupadd groupa
[root@redhat ~]# groupadd groupb
[root@redhat ~]# useradd   -g groupa zgz
[root@redhat ~]# su - zgz
[zgz@redhat ~]$ touch filea
[zgz@redhat ~]$ touch fileb
[zgz@redhat ~]$ ls -l
total 8
-rw-r--r--  1 zgz groupa 0 Sep 26 05:48 filea
-rw-r--r--  1 zgz groupa 0 Sep 26 05:50 fileb
          --
[root@redhat zgz]# chgrp  groupb filea      --改变filea所属群组
[root@redhat zgz]# ls -l
total 8
-rw-r--r--  1 zgz groupb 0 Sep 26 05:48 filea
-rw-r--r--  1 zgz groupa 0 Sep 26 05:50 fileb
 
二、修改文件拥有者——chown
   修改组群的命令使chgrp,即change group,那么修改文件拥有者的命令自然就是chown,即change owner。chown功能很多,不仅仅能更改文件拥有者,还可以修改文件所属组群。如果需要将某一目录下的所有文件都改变其拥有者,可以使用-R参数。
   语法如下:
   chown [-R] 账号名称      文件/目录
   chown [-R] 账号名称:组群  文件/目录
   举例:
[root@redhat zgz]# ls -l
total 20
-rw-r--r--  1 zgz groupb    0 Sep 26 05:48 filea
-rw-r--r--  1 zgz groupa    3 Sep 26 05:59 fileb
drwxr-xr-x  2 zgz groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]# chown myy fileb --修改fileb的拥有者为myy
[root@redhat zgz]# ls -l
total 20
-rw-r--r--  1 zgz groupb    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
drwxr-xr-x  2 zgz groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]# chown myy:groupa filea --修改filea的拥有者为myy,并且同
[root@redhat zgz]# ls -l时修改组群为groupa
total 20
-rw-r--r--  1 myy groupa    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
drwxr-xr-x  2 zgz groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]# chown -R myy  zgzdir                同时改变其下所有文件拥有者
total 20
-rw-r--r--  1 myy groupa    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]# cd zgzdir/
[root@redhat zgzdir]# ls -l
total 8
-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filec
-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filed
  
三、改变文件权限——chmod
   1.用数字来改变文件权限
     我们已经了解了-rw-r--r-- 所表示含义,linux为每一个权限分配一个固定的数字:
     r: 4(读权限)
     w: 2(写权限)
     x: 1(执行权限)
我们再将这些数字相加,就得到每一组的权限值,例如
-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filed
第一组(user):rw- = 4+2+0 = 6
第二组(group):r-- = 4+0+0 = 4
第三组(others):r-- = 4+0+0 = 4
那么644就是fileb权限的数字表示值。
     如果我们想改变某一个文件的权限,首先需要将权限转化为数字组合,例如我们想得到-rwxrw-r--,那么就应该得到数字组合:[4+2+1][4+2+0][4+0+0]=764,然后再用chmod命令去修改
     chmod语法:
     chmod xyz 文件/目录
     举例:
[root@redhat zgzdir]# ls -l
total 8
-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filec
-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filed
[root@redhat zgzdir]# chmod 777 filec--将filec的权限改变为777
[root@redhat zgzdir]# ls -l
total 8
-rwxrwxrwx  1 myy groupa 0 Sep 26 06:07 filec
-rw-r--r--  1 myy groupa 0 Sep 26 06:07 filed
[root@redhat zgzdir]# chmod 750 filed--将filed的权限改变为750
[root@redhat zgzdir]# ls -l
total 8
-rwxrwxrwx  1 myy groupa 0 Sep 26 06:07 filec
-rwxr-x---  1 myy groupa 0 Sep 26 06:07 filed
   
   2、用字符来改变文件权限
      还有一种改变权限的方法,我们已经了解到,文件权限分为三组,分别是user,group,others,那么我们可以用u,g,o分别代表三组,另外,a(all)代表全部,而权限属性即可用r,w,x三个字符来表示,那么请看下面的语法:
chmod   u/g/o/a   +(加入)/-(除去)/=(设定)  r/w/x  文件或者目录
      
 举例:
 我们想使filed文件得到:u:可读,可写,可执行
                         g,o:可读,可执行
[root@redhat zgzdir]# ls -l
total 8
-rwxrwxrwx  1 myy groupa 0 Sep 26 06:07 filec
-rwxr-x---  1 myy groupa 0 Sep 26 06:07 filed
[root@redhat zgzdir]# chmod u=rwx,go=rx filed--修改filed的文件属性
[root@redhat zgzdir]# ls -l
total 8
-rwxrwxrwx  1 myy groupa 0 Sep 26 06:07 filec
-rwxr-xr-x  1 myy groupa 0 Sep 26 06:07 filed
其中g和o也可以用“,”分开来分别设定。
假设目前我不知道各组权限如何,只是想让所有组都增加“x”权限,那么我们可以用chmod a+x filename来实现,
举例:
[root@redhat zgz]# ls -l
total 24
-rw-r--r--  1 myy groupa    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
-rw-r--r--  1 zgz groupa    0 Sep 26 06:39 fileg
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]# chmod a+x filea--修改filea的文件属性,所有组都增加“x”权限

[root@redhat zgz]# ls -l
total 24
-rwxr-xr-x  1 myy groupa    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
-rw-r--r--  1 zgz groupa    0 Sep 26 06:39 fileg
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
如果想除去某一权限,可以用“-”来操作,
举例:
[root@redhat zgz]# ls -l
total 24
-rwxr-xr-x  1 myy groupa    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
-rw-r--r--  1 zgz groupa    0 Sep 26 06:39 fileg
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]# chmod a-x filea-修改filea文件属性所有组都除去“x”权限
[root@redhat zgz]# ls -l
total 24
-rw-r--r--  1 myy groupa    0 Sep 26 05:48 filea
-rw-r--r--  1 myy groupa    3 Sep 26 05:59 fileb
-rw-r--r--  1 zgz groupa    0 Sep 26 06:39 fileg
drwxr-xr-x  2 myy groupa 4096 Sep 26 06:07 zgzdir
[root@redhat zgz]#
 
友情提醒:
chgrp,chown,chmod这些命令默认的情况下只有root有权限执行,大家有时可能会用普通账户去修改文件权限,linux会提示你没有这个权限。因此大家一定要注意当前用户,例如:
[zgz@redhat ~]$ chgrp groupb filea
chgrp: changing group of `filea': Operation not permitted
--zgz没有权限来改变‘filea’的组群

免责声明:文章转载自《linux修改文件所有者和文件所在组》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇window.open完美替代window.showModalDialogEffective Modern C++:05右值引用、移动语义和完美转发下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下执行python错误: bad interpreter: No such file or directory

 /usr/bin/python^M: bad interpreter: No such file or directory python文件编码格式问题,需要将dos文件格式修改为unix文件格式,修改方法如下: 用如下命令查看文件格式 :set ff 或 :set fileformat 可以看到如下信息 fileformat=dos 或 filefor...

linux系统修改系统时间与时区

  有装过Linux系统的人,可能都会有这样的经历,就是该机器安装windows系统时,时间正确,但是安装了linux系统后,尽管时区选择正确,也会发现系统时间不对。这是由于安装系统时采用了UTC,那么什么是UTC呢,简单的说UTC就是0时区的时间,是国际标准,而中国处于UTC+8时区。   另外还有一种时间是当地时间,而windows采用的就是当地时间...

Linux下如何创建新用户

Linux下如何创建新用户 Linux系统中,只有root用户有创建其他用户的权限。创建过程如下:useradd -d /home/newuser newuser(设定了该用户的主目录和用户名)useradd -d /home/newuser -g 0 -G 0,1,3,4,6,10 -u 500 -r -p Love newuser(指定了用户的组id...

linux批量操作(一)

一、常用命令 1、关闭所有java进程命令:   ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9 2、批量文本操作   替换字符串:sed -i 's/原字符串/新字符串/g' /home/1.txt   删除字符串:sed -i '/字符串/d' file   字符...

Linux下的磁盘加密方法

Linux下的磁盘加密方法 转载时请注明出处和作者联系方式作者联系方式:李先静 <xianjimli at hotmail dot com> 随着智能手机的计算能力和存储能力的提高,手机中将会存放越来越多的私有数据,这些数据的泄密可能造成严重后果。手机信息安全一直是我们的重点之一,对于一些重要的功能我们要求鉴权后才能使用,但这只能挡住初级的黑...

Linux 文件截断的几种方式

文件截断, 指的是将文件内容分成两半, 只保留需要的文件长度的那部分. 通常, 将文件长度截断为0.文件截断方式:1. 使用系统调用open/fopen O_TRUNC截断open截断文件, 会清空文件已有内容, 即保留长度为0. 指定O_TRUNC标识时, 文件必须可写方式(如O_RDWR, O_WRONLY)打开. 例子, int fd = open(...