linux修改文件全部者和文件所在組

 

chgrp  用戶名    文件名  -Rlinux

chown 用戶名   文件名  -Rspa

 

-R表示遞歸目錄下全部文件遞歸

 

以上部分已驗證it

 

 

 

 

 

 

1、修改文件所屬組羣——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
 
2、修改文件擁有者——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
  
3、改變文件權限——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
   
   二、用字符來改變文件權限
      還有一種改變權限的方法,咱們已經瞭解到,文件權限分爲三組,分別是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’的組羣
相關文章
相關標籤/搜索