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기존 콘솔 내에서 그룹을 변경하지 않습니다.

관련 정보