사용자 쉘 변경을 위한 쉘 스크립트

사용자 쉘 변경을 위한 쉘 스크립트

사용자 셸을 변경하기 위해 호출되는 스크립트를 작성 중입니다. 기본 요구 사항은 사용자가 인증되면(예: 일부 웹 애플리케이션을 통해) 기본 셸을 설정하기 위해 스크립트가 호출된다는 것입니다. 그는 사용 가능한 다양한 포탄 중에서 선택할 수 있습니다. 해결 방법을 모르는 몇 가지 문제가 있습니다. 첫 번째는 - 쉘을 변경하는 방법입니다. - 알아요. chsh하지만 명령을 실행하려면 사용자가 비밀번호를 입력해야 하는데 저는 그걸 원하지 않습니다. 사용자가 인증되면 사용자가 유효한지 확인하고 스크립트를 실행하고 싶습니다. 루트 액세스를 사용해야 합니까? 그렇다면 이것이 보안에 어떤 영향을 미치나요? 또한 이와 같은 스크립트를 구현할 때 어떤 보안 조치를 고려해야 합니까? 저는 아래 스크립트로 시작했고 이를 확장하고 싶습니다. 의견/답변을 주시면 감사하겠습니다.

PS: 이 질문이 게시되었습니다.여기, 그러다가 이 포럼이 올바른 장소일 수도 있다는 것을 깨달았습니다.

  1 #!/bin/bash
  2 
  3 #### Constants ########
  4 TOSHELL=
  5 NUMARGS=$#
  6 USER=$(whoami)
  7 #### Functions ########
  8 
  9 checkArgument(){
 10 
 11     if [ "$NUMARGS" != "1" ]
 12     then
 13         return 1
 14     else
 15         TOSHELL=$1
 16         return 0
 17     fi
 18 
 19 }
 20 
 21 
 22 changeShell(){
 23 
 24     `chsh -s $TOSHELL $USER`    
 25 
 26 }
 27 
 28 main(){
 29 
 30 
 31     if checkArgument
 32     then
 33         changeShell #Also check if changeShell was successful
 34         return 0
 35     else
 36         return 1
 37     fi
 38 
 39 }
 40 main

관련 정보