슈퍼 유저 권한으로 스크립트 실행하기


1

수퍼 유저 권한이 필요한 일부 데이터를 수정하려면 스크립트를 만들어야합니다. Mac 10에서 쉘 스크립트를 통해이 프로세스를 자동화하는 방법이 있습니까?

샘플 스크립트 :

sed s/Hello/World/g /usr/local/opt/test.xml 

이 스크립트를 실행하려면 사용자에게 슈퍼 유저 권한이 필요합니다. 스크립트에 루트 자격 증명을 제공하고 실행할 수있는 방법이 있습니까?


필요에 따라 실행해야합니까, 아니면 매시간 cron으로 실행할 수 있습니까?
PurplePilot

답변:


1

쉘 스크립트 파일에 대한 사용 권한을 변경하여 루트로 자동 실행되도록 할 수 있습니다.

chmod 맨 페이지에서 :

4000    (the set-user-ID-on-execution bit) Executable files with
        this bit set will run with effective uid set to the uid of
        the file owner.  Directories with the set-user-id bit set
        will force all files and sub-directories created in them to
        be owned by the directory owner and not by the uid of the
        creating process, if the underlying file system supports
        this feature: see chmod(2) and the suiddir option to
        mount(8).

샘플 명령은 다음과 같습니다.

sudo chown root:root file.sh
sudo chmod 4755 file.sh

쉘 스크립트를 통해이를 실행하고 있습니다. 나는 이것을 해결할 것을 기대했다! 감사 :)
Santosh M

나는 set-user-ID-on-execution 비트를 사용하는 것이 쉘 스크립트에서 작동하지 않을 것이라고 생각한다. 그것은 컴파일 된 프로그램이어야합니다.
Gordolio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.