這篇文章主要講解了“l(fā)inux下chgrp和newgrp命令簡(jiǎn)介”,文中的講解內容簡(jiǎn)單清晰,易于學(xué)習與理解,下面請大家跟著(zhù)小編的思路慢慢深入,一起來(lái)研究和學(xué)習“l(fā)inux下chgrp和newgrp命令簡(jiǎn)介”吧!
chgrp
只是更改文件的組所有權。這與 chown :<group>
命令相同。你可以使用:
$chown :alan mynotes
或者:
$chgrp alan mynotes
chgrp
和它的一些參數可以用在命令行和腳本中。就像許多其他 Linux 命令一樣,chgrp
有一個(gè)遞歸參數 -R
。如下所示,你需要它來(lái)對文件夾及其內容進(jìn)行遞歸操作。我加了 -v
(詳細)參數,因此 chgrp
會(huì )告訴我它在做什么:
$ ls -l . conf.:drwxrwxr-x 2 alan alan 4096 Aug 5 15:33 conf conf:-rw-rw-r-- 1 alan alan 0 Aug 5 15:33 conf.xml# chgrp -vR delta confchanged group of 'conf/conf.xml' from alan to deltachanged group of 'conf' from alan to delta
當你要更改文件的組以匹配特定的配置,或者當你不知道具體的組時(shí)(比如你運行一個(gè)腳本時(shí)),可使用參考文件 (--reference=RFILE
)。你可以復制另外一個(gè)作為參考的文件(RFILE)的組。比如,為了撤銷(xiāo)上面的更改 (請注意,點(diǎn) .
代表當前工作目錄):
$ chgrp -vR --reference=. conf
大多數命令都有用于控制其輸出的參數。最常見(jiàn)的是 -v
來(lái)啟用詳細信息,而且 chgrp
命令也擁有詳細模式。它還具有 -c
(--changes
)參數,指示 chgrp
僅在進(jìn)行了更改時(shí)報告。chgrp
還會(huì )報告其他內容,例如是操作不被允許時(shí)。
參數 -f
(--silent
、--quiet
)用于禁止顯示大部分錯誤消息。我將在下一節中使用此參數和 -c
來(lái)顯示實(shí)際更改。
Linux 文件系統的根目錄(/
)應該受到高度重視。如果命令在此層級犯了一個(gè)錯誤,那么后果可能是可怕的,并會(huì )讓系統無(wú)法使用。尤其是在運行一個(gè)會(huì )遞歸修改甚至刪除的命令時(shí)。chgrp
命令有一個(gè)可用于保護和保持根目錄的參數。它是 --preserve-root
。如果在根目錄中將此參數和遞歸一起使用,那么什么也不會(huì )發(fā)生,而是會(huì )出現一條消息:
[root@localhost /]# chgrp -cfR --preserve-root a+w /chgrp: it is dangerous to operate recursively on '/'chgrp: use --no-preserve-root to override this failsafe
不與遞歸(-R)結合使用時(shí),該選項無(wú)效。但是,如果該命令由 root
用戶(hù)運行,那么 /
的權限將會(huì )更改,但其下的其他文件或目錄的權限則不會(huì )被更改:
[alan@localhost /]$ chgrp -c --preserve-root alan /chgrp: changing group of '/': Operation not permitted[root@localhost /]# chgrp -c --preserve-root alan /changed group of '/' from root to alan
令人驚訝的是,它似乎不是默認參數。而選項 --no-preserve-root
是默認的。如果你在不帶“保持”選項的情況下運行上述命令,那么它將默認為“無(wú)保持”模式,并可能會(huì )更改不應更改的文件的權限:
[alan@localhost /]$ chgrp -cfR alan /changed group of '/dev/pts/0' from tty to alanchanged group of '/dev/tty2' from tty to alanchanged group of '/var/spool/mail/alan' from mail to alan
newgrp
命令允許用戶(hù)覆蓋當前的主要組。當你在所有文件必須有相同的組所有權的目錄中操作時(shí),newgrp
會(huì )很方便。假設你的內網(wǎng)上有一個(gè)名為 share
的目錄,不同的團隊在其中存儲市場(chǎng)活動(dòng)照片。組名為 share
。當不同的用戶(hù)將文件放入目錄時(shí),文件的主要組可能會(huì )變得混亂。每當添加新文件時(shí),你都可以運行 chgrp
將錯亂的組糾正為 share
:
$ cd sharels -l-rw-r--r--. 1 alan share 0 Aug 7 15:35 pic13-rw-r--r--. 1 alan alan 0 Aug 7 15:35 pic1-rw-r--r--. 1 susan delta 0 Aug 7 15:35 pic2-rw-r--r--. 1 james gamma 0 Aug 7 15:35 pic3-rw-rw-r--. 1 bill contract 0 Aug 7 15:36 pic4
我在 chmod 命令的文章中介紹了 setgid
模式。它是解決此問(wèn)題的一種方法。但是,假設由于某種原因未設置 setgid
位。newgrp
命令在此時(shí)很有用。在任何用戶(hù)將文件放入 share
目錄之前,他們可以運行命令 newgrp share
。這會(huì )將其主要組切換為 share
,因此他們放入目錄中的所有文件都將有 share
組,而不是用戶(hù)自己的主要組。完成后,用戶(hù)可以使用以下命令切換回常規主要組(舉例):
newgrp alan
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站