Bashにログインするときにデフォルト以外のユーザーグループに設定する

Bashにログインするときにデフォルト以外のユーザーグループに設定する

.bashrcを使用してログインした後、ユーザーグループをターゲットグループなどのデフォルト以外のグループに設定するにはどうすればよいですか?

特に私の質問は、コマンドラインから実行できるかどうかです。

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ログインするたびに、グループをターゲットグループに設定する別の.bashrc行を操作する方法はありますか? (参考までに私はスーパーユーザー権限がありません。)

ベストアンサー1

CentOS 6ではダッシュなしで追加できます。

newgrp targetgroup

あなたのための.bash_profile

少なくともCentOS 6.10では、targetgroup対話型シェルの有効グループは次のように変更されます。

  • 新しいログインシェルの場合
  • 後ろにsource ~/.bash_profile

bash他のコンソールを「単に」実行したり、既存のsource ~/.bashrcコンソール内でグループを変更したりしないでください。

おすすめ記事