패스워드 없이 다른 사용자로 스크립트를 실행하는 방법
대본이 있어요.sh는 user2로 실행해야 합니다.단, 이 스크립트는 어플리케이션의 user1에서만 실행할 수 있습니다.
다음 명령을 실행하려고 합니다.
su user2 -C script.sh
패스워드 없이 실행할 수 있습니다.
또한 user1에서는 스크립트만 실행할 수 있기 때문에 매우 제한적이기를 바랍니다.sh는 user2 아래에만 있고 다른 것은 없습니다.
sudoers 파일로 이 작업을 시도했지만 몇 시간 동안 시도했더니 끝없이 혼란스러워졌습니다.
만약 누군가가 (use sudoers와 같은 일반적인 것 대신에) 이것을 어떻게 달성할 수 있는지에 대한 명확한 예를 제공할 수 있다면, 매우 감사할 것입니다.
실행 시도:
su -c "Your command right here" -s /bin/sh username
사용자로 sudo할 수 있는 권한이 있는 경우 이 명령을 사용자 이름으로 실행합니다.
불러visudo
다음 내용을 추가합니다.
user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh
명령 경로는 절대 경로여야 합니다!그럼 전화해요sudo -u user2 /home/user2/bin/test.sh
에서user1
껍데기. 됐다.
`su -c "Your command right here" -s /bin/sh username`
위의 명령어는 올바르지만 Red Hat에서는 selinux가 적용 중인 경우 cron이 다른 사용자로 스크립트를 실행할 수 없습니다.예execl: couldn't exec /bin/sh execl: Permission denied
setroubleshoot 및 setools를 설치하고 이를 허용하기 위해 다음을 실행해야 했습니다.
yum install setroubleshoot setools
sealert -a /var/log/audit/audit.log
grep crond /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.p
언급URL : https://stackoverflow.com/questions/6905697/how-to-run-script-as-another-user-without-password
'programing' 카테고리의 다른 글
WPF에서는 Binding과 마찬가지로 TemplateBinding이 동작하지 않는 이유는 무엇입니까? (0) | 2023.04.11 |
---|---|
SQL Server에서 특정 테이블에 대한 CREATE TABLE 문을 생성하려면 어떻게 해야 합니까? (0) | 2023.04.11 |
Excel - FILTERXML을 사용하여 문자열에서 하위 문자열 추출 (0) | 2023.04.11 |
임시 테이블에 데이터 삽입 (0) | 2023.04.11 |
소수점 두 자리만 표시되도록 플로트 만들기 (0) | 2023.04.11 |