Shell-Script
在 bash 中登錄時設置為非預設使用者組
使用 .bashrc 登錄後,如何將使用者組設置為非預設組,例如 targetgroup?
具體來說,我的問題是我可以在命令行上執行:
newgrp - targetgroup
但是當我在 .bashrc 中包含這一行時,終端會在登錄時凍結。
這個問題與在腳本中執行“newgrp”命令時出現問題有關,但我沒有足夠的聲譽發表評論。所以我嘗試了:
echo "Before newgrp" /usr/bin/newgrp - targetgroup <<EONG echo "hello from within newgrp" id EONG echo "After newgrp"
這使:
Before newgrp Before newgrp Before newgrp Before newgrp Before newgrp Before newgrp Before newgrp Before newgrp ^C After newgrp
所以 KornShell 的技巧似乎不適用於 bash,因為我必須使用 ^C 退出。
有什麼方法可以
newgrp
在每次登錄時將組設置為 targetgroup 的工作或其他 .bashrc 行?(注意我沒有超級使用者權限。)
對於 CentOS 6,您可以嘗試添加(不帶破折號)
newgrp targetgroup
到你的
.bash_profile
.至少對於 CentOS 6.10,這會將有效組更改為
targetgroup
互動式 shell
- 對於新的登錄外殼
- 後
source ~/.bash_profile
bash
當“僅”啟動另一個或source ~/.bashrc
在現有控制台中時,組不會更改。