명령을 실행한 후 권한을 즉시 제거(예: 일반 사용자로 돌아가기)하는 대신 su root -c "$some_command"
사용자로 로그인을 실행하고 유지할 수 있습니까 ?root
즉, 명령을 으로 실행 하고 까지 권한을 root
유지하고 싶습니다 .su
exit
예를 들어, 현재 다음 작업만 수행하면 됩니다.
1. 실행 su
2. 메시지가 표시되면
비밀번호를 입력합니다. 3. 실행(root
Password:
$some_command
또는예: source ./.bashrc
).
4. 상승된 권한을 유지하고 다음이 될 때까지 다른 작업을 수행합니다...
5. exit
.
그리고 를 사용하면 -c
다른 작업을 수행할 시간을 주지 않고 첫 번째 명령만 실행하고 종료됩니다. 그렇지 않다면 세상의 종말은 아니고 다른 방법으로 대처할 수 있는 방법도 있겠지만 이렇게라도 할 수 있으면 좋을 것 같습니다.
참고: 물론 su root -l -c "$some_command"
이것이 해결책이라고 생각합니다. 그러나
a. 디렉토리 로 변경됩니다 /root
(실제로 문제는 아닙니다).
b. -l
실행 되면 -c
첫 번째 명령을 실행하고 종료됩니다.
답변1
다른 셸을 시작할 수 있습니다.
su root -c "${some_command}; bash"
bash
필요한 경우 원하는 케이스로 교체하세요.