溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

linux下chgrp和newgrp命令簡(jiǎn)介

發(fā)布時(shí)間:2021-09-10 15:44:19 來(lái)源:億速云 閱讀:160 作者:chen 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“l(fā)inux下chgrp和newgrp命令簡(jiǎn)介”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“l(fā)inux下chgrp和newgrp命令簡(jiǎn)介”吧!


使用 chgrp

chgrp 只是更改文件的組所有權(quán)。這與 chown :<group> 命令相同。你可以使用:

$chown :alan mynotes

或者:

$chgrp alan mynotes
遞歸

chgrp 和它的一些參數(shù)可以用在命令行和腳本中。就像許多其他 Linux 命令一樣,chgrp 有一個(gè)遞歸參數(shù) -R。如下所示,你需要它來(lái)對(duì)文件夾及其內(nèi)容進(jìn)行遞歸操作。我加了 -v(詳細(xì))參數(shù),因此 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
參考

當(dāng)你要更改文件的組以匹配特定的配置,或者當(dāng)你不知道具體的組時(shí)(比如你運(yùn)行一個(gè)腳本時(shí)),可使用參考文件 (--reference=RFILE)。你可以復(fù)制另外一個(gè)作為參考的文件(RFILE)的組。比如,為了撤銷(xiāo)上面的更改 (請(qǐng)注意,點(diǎn) . 代表當(dāng)前工作目錄):

$ chgrp -vR --reference=. conf
報(bào)告更改

大多數(shù)命令都有用于控制其輸出的參數(shù)。最常見(jiàn)的是 -v 來(lái)啟用詳細(xì)信息,而且 chgrp 命令也擁有詳細(xì)模式。它還具有 -c--changes)參數(shù),指示 chgrp 僅在進(jìn)行了更改時(shí)報(bào)告。chgrp 還會(huì)報(bào)告其他內(nèi)容,例如是操作不被允許時(shí)。

參數(shù) -f--silent--quiet)用于禁止顯示大部分錯(cuò)誤消息。我將在下一節(jié)中使用此參數(shù)和 -c 來(lái)顯示實(shí)際更改。

保持根目錄

Linux 文件系統(tǒng)的根目錄(/)應(yīng)該受到高度重視。如果命令在此層級(jí)犯了一個(gè)錯(cuò)誤,那么后果可能是可怕的,并會(huì)讓系統(tǒng)無(wú)法使用。尤其是在運(yùn)行一個(gè)會(huì)遞歸修改甚至刪除的命令時(shí)。chgrp 命令有一個(gè)可用于保護(hù)和保持根目錄的參數(shù)。它是 --preserve-root。如果在根目錄中將此參數(shù)和遞歸一起使用,那么什么也不會(huì)發(fā)生,而是會(huì)出現(xiàn)一條消息:

[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)結(jié)合使用時(shí),該選項(xiàng)無(wú)效。但是,如果該命令由 root 用戶(hù)運(yùn)行,那么 / 的權(quán)限將會(huì)更改,但其下的其他文件或目錄的權(quán)限則不會(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

令人驚訝的是,它似乎不是默認(rèn)參數(shù)。而選項(xiàng) --no-preserve-root 是默認(rèn)的。如果你在不帶“保持”選項(xiàng)的情況下運(yùn)行上述命令,那么它將默認(rèn)為“無(wú)保持”模式,并可能會(huì)更改不應(yīng)更改的文件的權(quán)限:

[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

關(guān)于 newgrp

newgrp 命令允許用戶(hù)覆蓋當(dāng)前的主要組。當(dāng)你在所有文件必須有相同的組所有權(quán)的目錄中操作時(shí),newgrp 會(huì)很方便。假設(shè)你的內(nèi)網(wǎng)服務(wù)器上有一個(gè)名為 share 的目錄,不同的團(tuán)隊(duì)在其中存儲(chǔ)市場(chǎng)活動(dòng)照片。組名為 share。當(dāng)不同的用戶(hù)將文件放入目錄時(shí),文件的主要組可能會(huì)變得混亂。每當(dāng)添加新文件時(shí),你都可以運(yùn)行 chgrp 將錯(cuò)亂的組糾正為 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)題的一種方法。但是,假設(shè)由于某種原因未設(shè)置 setgid 位。newgrp 命令在此時(shí)很有用。在任何用戶(hù)將文件放入 share 目錄之前,他們可以運(yùn)行命令 newgrp share。這會(huì)將其主要組切換為 share,因此他們放入目錄中的所有文件都將有 share 組,而不是用戶(hù)自己的主要組。完成后,用戶(hù)可以使用以下命令切換回常規(guī)主要組(舉例):

newgrp alan

感謝各位的閱讀,以上就是“l(fā)inux下chgrp和newgrp命令簡(jiǎn)介”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)linux下chgrp和newgrp命令簡(jiǎn)介這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI