공유 호스팅 환경을 설정할 수 있는 웹 애플리케이션을 만들고 있습니다. 모든 작업은 프로그래밍 방식으로 수행되어야 하며 완전히 안전하지 않은 방식으로 작업을 진행하고 있는지 의심스럽습니다.
현재 저는 각 사용자를 설치하고 구성하기 위한 bash 스크립트를 만든 다음 웹 서버에서 이 스크립트를 실행하고 있습니다. 그러나 여전히 스크립트 내에서 sudo로 명령을 실행해야 합니다.
예를 들어, 사용자를 생성한 후 해당 사용자로 로그인하고 wget을 사용하여 무언가를 다운로드해야 합니다. 이를 달성하기 위해 adduser를 sudo로 실행한 다음 환경 변수에서 비밀번호를 입력한 다음 sudo su를 실행하여 해당 사용자로 로그인했습니다. 이 모든 것이 매우 수상쩍게 느껴지지만 아직 대안을 찾지 못했습니다.
어떤 도움이라도 대단히 감사하겠습니다!
답변1
가능한 해결 방법은 다음 2단계로 구성됩니다.
- 비밀번호 없는 sudo 액세스 설정
- sudo를 사용하여 원하는 사용자로 로그인하십시오.
1단계에 대해 자세히 설명되어 있습니다.
예를 들어,https://askubuntu.com/questions/147241/execute-sudo-without-password
사용자 이름이 "mark"이고 대상 사용자 이름이 "john"이라고 가정합니다.
구현하다:
sudo visudo
파일 끝에 다음을 추가하십시오.
mark ALL=(ALL) NOPASSWD: ALL
그런 다음 파일을 저장하십시오
2단계는 훨씬 쉽습니다.
sudo -i -u john
그게 다야. 천만에요:-)