sudo su 이후에 명령을 실행하는 쉘 스크립트 - appuser

sudo su 이후에 명령을 실행하는 쉘 스크립트 - appuser

우리 조직에서는 루트 디렉터리에 대한 액세스를 허용하지 않으며 아래에 설명된 것처럼 매우 이상한 인증을 사용합니다.

  • 사용자 이름과 비밀번호 조합을 사용하여 SSH 터미널을 통해 RHEL 서버에 로그인합니다.

  • 내 계정을 사용할 수 없으며 다음을 사용하여 서버 계정으로 전환해야 합니다.sudo su - appuser

  • 위 명령의 순열은 허용되지 않습니다. sudo su -p appuser허용되지 않으면 sudo su appuser허용되지 않는다는 의미입니다 . 확실히 입니다 sudo su - appuser. appuser로 전환하기 전에 비밀번호를 입력해야 합니다

  • 이제 저는 sudo 권한이 없는 appuser 상태입니다. 나는 지금 내 일을 하고 있어요.

최근에 git을 사용하기 시작했는데 git에서 사용자 이름과 비밀번호를 지정할 수 있습니다. 음, 6명의 팀원이 이 앱을 사용했다면 모두 동일한 사용자 이름을 갖게 될 것입니다. 실제 사용자 이름을 얻기 위해 appuser로 전환한 후 다음 명령줄을 실행하지 않는 한:git config --global user.name $(logname)

그래서 저는 appuser로 전환하자마자 사용자를 전환하고 git 사용자를 설정할 수 있는 스크립트를 만들어 제가 제어할 수 없는 이 형편없는 인프라를 탐색하려고 합니다.

현재 내가 가지고 있는 것은 다음과 같습니다(라인 1에서 비밀번호를 묻기 때문에 작동하지 않습니다).

sudo su - appuser
git config --global user.email $(logname)

IT 부서에서 제공하지 않을 솔루션을 요청하는 것 외에 어떤 옵션이 있습니까?

답변1

로그 이름을 기반으로 환경 변수를 설정할 수 있습니다.

case $logname in
shnisaka)
  export GIT_AUTHOR_NAME="your name"
  export GIT_COMMITTER_NAME="your name"
  export GIT_AUTHOR_EMAIL="[email protected]"
  export GIT_COMMITTER_EMAIL="[email protected]"
  ;;
olqs)
  export GIT_AUTHOR_NAME="my name"
  export GIT_COMMITTER_NAME="my name"
  export GIT_AUTHOR_EMAIL="[email protected]"
  export GIT_COMMITTER_EMAIL="[email protected]"
  ;;
esac

프로필 설정에도 비슷한 구성이 있습니다. 이것을 appuser의 .bashrc에 넣어보세요.

관련 정보