linux修改文件所有者和文件所在組?
發(fā)布時(shí)間:2013-06-26 點(diǎn)擊數(shù):16381
linux修改文件所有者和文件所在組1
chgrp 用戶名 文件名 -R
chown 用戶名 文件名 -R
-R表示遞歸目錄下所有文件
以上部分已驗(yàn)證
一、修改文件所屬組群——chgrp
修改文件所屬組群很簡(jiǎn)單-chgrp命令,就是change group的縮寫(xiě)(我們可以利用這些來(lái)記憶命令)
語(yǔ)法:chgrp 組群 文件名/目錄
舉例:
[root@redhat ~]# groupadd groupa
[root@redhat ~]# groupadd groupb
[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
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
[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參數(shù)。
語(yǔ)法如下:
chown [-R] 賬號(hào)名稱 文件/目錄
chown [-R] 賬號(hào)名稱:組群 文件/目錄
舉例:
[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時(shí)修改組群為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 同時(shí)改變其下所有文件擁有者
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
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時(shí)修改組群為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 同時(shí)改變其下所有文件擁有者
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
三、改變文件權(quán)限——chmod
1.用數(shù)字來(lái)改變文件權(quán)限
我們已經(jīng)了解了-rw-r--r-- 所表示含義,linux為每一個(gè)權(quán)限分配一個(gè)固定的數(shù)字:
r: 4(讀權(quán)限)
w: 2(寫(xiě)權(quán)限)
x: 1(執(zhí)行權(quán)限)
我們?cè)賹⑦@些數(shù)字相加,就得到每一組的權(quán)限值,例如
-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權(quán)限的數(shù)字表示值。
如果我們想改變某一個(gè)文件的權(quán)限,首先需要將權(quán)限轉(zhuǎn)化為數(shù)字組合,例如我們想得到-rwxrw-r--,那么就應(yīng)該得到數(shù)字組合:[4+2+1][4+2+0][4+0+0]=764,然后再用chmod命令去修改
chmod語(yǔ)法:
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的權(quán)限改變?yōu)?77
[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的權(quán)限改變?yōu)?50
[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
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的權(quán)限改變?yōu)?77
[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的權(quán)限改變?yōu)?50
[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、用字符來(lái)改變文件權(quán)限
還有一種改變權(quán)限的方法,我們已經(jīng)了解到,文件權(quán)限分為三組,分別是user,group,others,那么我們可以用u,g,o分別代表三組,另外,a(all)代表全部,而權(quán)限屬性即可用r,w,x三個(gè)字符來(lái)表示,那么請(qǐng)看下面的語(yǔ)法:
chmod u/g/o/a +(加入)/-(除去)/=(設(shè)定) r/w/x 文件或者目錄
舉例:
我們想使filed文件得到:u:可讀,可寫(xiě),可執(zhí)行
g,o:可讀,可執(zhí)行
[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
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(shù)和o也可以用“,”分開(kāi)來(lái)分別設(shè)定。
假設(shè)目前我不知道各組權(quán)限如何,只是想讓所有組都增加“x”權(quán)限,那么我們可以用chmod a+x filename來(lái)實(shí)現(xiàn),
舉例:
[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”權(quán)限
[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
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”權(quán)限
[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
如果想除去某一權(quán)限,可以用“-”來(lái)操作,
舉例:
[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”權(quán)限
[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
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”權(quán)限
[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