不懂你的『大量修改使用者群組』是什麼意思?
是指把一大堆帳號都設成某一個群組?還是把一大堆帳號都加入某一個群組?
如果是前者,如下例:(把 GGG 換成你想要換的群組編號)
<pre class="c" name="code">awk -F: '{print $1":"$2":"$3":GGG:"$5":"$6":"$7}' /etc/passwd > /tmp/x
mv /tmp/x /etc/passwd
就可以把所有人都換成 GGG 群組。
下例:(把 GGG 換成你想要換的群組編號)
<pre class="c" name="code">awk -F: '{print $1":"$2":"$3":"$4",GGG:"$5":"$6":"$7}' /etc/passwd > /tmp/x
mv /tmp/x /etc/passwd
就可以把所有人都加入 GGG 群組
感謝回應,
是一大堆帳號都設成某一個群組
但是這樣會不會連系統帳號都改了?
我只想改使用者,怕改了系統會出錯
OK,CentOS 通常會把系統用的帳號 UID 都放在 1000 以內,所以只要這樣寫:
<pre class="c" name="code">awk -F: '{if ($3 < 1000) print $0}' /etc/passwd > /tmp/x
awk -F: '{if ($3 >= 1000) print $1":"$2":"$3":GGG:"$5":"$6":"$7}' /etc/passwd >> /tmp/x
mv /tmp/x /etc/passwd
就不會改到系統帳號了。
把 /tmp/x 蓋掉 passwd 之前,確認一下內容沒問題唷。
寫成一行就行了
<pre class="c" name="code">awk -F: '{if ($3 < 1000) print $0; else print $1":"$2":"$3":GGG:"$5":"$6":"$7}' /etc/passwd > /tmp/x
mv /tmp/x /etc/passwd
直接改/etc/group這個文件呢?