다른 하위 스크립트를 실행하는 쉘 스크립트가 있다고 가정 해 보겠습니다. 루트로 실행해야하는 첫 번째 하위 스크립트가 있기 때문에 내 스크립트를 루트로 실행해야한다고 결정했습니다. 그러나 루트로 실행할 수없는 수퍼 스크립트에 의해 실행되는 두 개의 하위 스크립트가 있습니다. 내 스크립트가 루트로 실행되었다고 가정하면, 마지막 두 개의 하위 스크립트를 위해 어떻게 해지해야합니까? 이것은 가능한가?루트로 실행되는 쉘 스크립트의 중간에서 루트가 아닌 방법은 어떻게됩니까? 가능한?
답변
su
을 사용하여 다른 사용자로 실행하려는 명령을 실행하십시오.
su nobody ls /tmp
하위 스크립트를 실행할 수있는 특정 루트가 아닌 사용자가 필요합니다. 해당 사용자의 전화 번호는 fred
입니다. 그런 다음 루트 권한으로 스크립트는 단순히 nobody
의 전체 포인트는 아무것도에 쓰기 권한을 가지고 있기 때문에 당신은 아마,이에 대한 nobody
을 사용할 수 없습니다
su fred /path/to/subscript-A
su fred /path/to/subscript-B
콘트라 nsayer의 답변을 할 수 있습니다. 때로는 그게 정확히 당신이 원하는,하지만 하위 스크립트를 파일 시스템에 쓸 필요가 내기 해요 ...
Zack이 얻고있는 요점은 사용자가 유용 할 수있는 셸을 가진 '인간'사용자 여야한다는 것입니다. 예를 들어'nobody' 또는'www-data'가 작동하지 않습니다. 좋은 지적이지만 매번'su fred (어떤 명령) '을 할 필요는 없습니다.'su fred' 만하고, 다른 명령으로 fred로 명령을 내린 다음'exit' 명령을 내리십시오. –
@no : 대화 형 셸이있는 경우에만 작동합니다. 스크립트 내에서'su fred' 명령을 주어야합니다. 물론 서브 스크립트에 많은 명령을 넣고'su'에 넘겨 줄 수는 있지만, OP가 이미 그랬던 것처럼 들립니다. 또한'fred'가'/ etc/passwd'에 쉘을 가지고 있지 않더라도 fyi,'su -s/bin/sh fred - -c exec/path/to/subscript'는' fred' 그 방법은 그 계정이 스크립트 (아마 좋은 생각입니다)에서 사용되는 경우 – zwol
잭, 그거 지워 줘서 고마워 :) –
- 1. 루트가 아닌 프로세스에서 jailkit 실행
- 2. 다른 (루트가 아닌) 사용자로 PHP에서 쉘 스크립트를 실행하는 중
- 3. 디렉토리 (루트가 아닌)
- 4. 루트가 아닌 디렉토리의 crossdomain.xml
- 5. 쉘 스크립트의 줄 오류
- 6. python 스크립트에서 루트로 실행되는 인증
- 7. 쉘 스크립트의 프로세스 표시
- 8. 집계 루트가 아닌 엔티티에 액세스
- 9. 쉘 스크립트의 재귀 논리
- 10. 쉘 스크립트의 산술 문제
- 11. 쉘 스크립트의 전역 환경 변수
- 12. 쉘 스크립트의 변수로 명령 경로
- 13. 쉘 스크립트의 변수에서 명령 실행
- 14. Unix 쉘 스크립트의 변수 문제
- 15. Outlook 규칙에서 실행되는 스크립트의 UserForm
- 16. 루트가 아닌 사용자 이름을 사용하는 wget
- 17. 사이트 루트가 아닌 Django를 지원하도록 Apache를 구성하는 방법은 무엇입니까?
- 18. 허드슨이 쉘 스크립트의 이스케이프 부분을 멈추게하려면 어떻게해야합니까?
- 19. Commandline의 Control Netbeans : 쉘 스크립트의 디버거를 연결하십시오.
- 20. 쉘 스크립트의 임시 디렉토리에서 임시 작업
- 21. 우분투 : 루트가 아닌 사용자가 사용자를 생성하고 가장 할 수있게 허용
- 22. 다른 쉘 스크립트에서 호출 된 쉘 스크립트의 출력을 캡쳐합니다.
- 23. 는 inittab 파일에서 파이썬 스크립트를 실행하지 루트로
- 24. "/"루트를 상대 루트가 아닌 글로벌 루트로 다시 작성하려고합니다. .htaccess를 사용 하시겠습니까? 의 내가 웹 페이지가 있다고 가정 해 봅시다
- 25. 셸 스크립트에서 루트로 실행되지 않도록하려면 가장 쉬운 방법은 무엇입니까?
- 26. 쉘 스크립팅. 내 스크립트의 명령 대체 문제
- 27. powershell 스크립트의 인수를 사용하여 쉘 명령을 실행하십시오.
- 28. 쉘 스크립트의 파일명 앞에 날짜를 붙입니다.
- 29. -z 옵션이 쉘 스크립트의 조건 일 경우
- 30. bash 쉘 스크립트의 .profile을 다시로드하십시오 (유닉스에서)?
이것은 반드시 잘못된 것은 아니지만 확률은 하위 스크립트가 파일을 작성해야한다는 것입니다 어떤 시점에서 (AIUI) 사람은 아무도 사용해서는 안됩니다. – zwol
그는 그렇게 구체적인 것은 아니 었습니다. 그는 루트가 아닌 사용자로 스크립트를 실행하는 방법을 물었습니다. 나는 대답했다. 나는 그 예를 제시했다. 쳇. – nsayer
나는 약을 의미하지는 않지만, 아무도 잘못 사용하면 보안상의 허점이 생겨 "아무도 사용하지 않는"예제를 사용합니다. – zwol