나는 루트로 실행되는 프로그램을 가지고있다. 이 응용 프로그램은 실행할 다른 프로그램 (processA)을 호출합니다. processA가 실행 중일 때 root가 소유하고 있지만 소유자가 로그온 한 현재 사용자가되고 싶습니다. 그것을하는 방법?Mac/Linux에서 프로세스의 사용자 소유자를 변경 하시겠습니까?
3
A
답변
3
글쎄 그건 좀 까다 롭습니다 ... 데몬 (서비스)이거나이 명령/앱을 실행하는 경우에 따라 다릅니다.
두 번째 경우에는 "su" 명령을 사용할 수 있습니다. 다음은 간단한 예입니다.
1. 나는 내용는 (은 100 초 동안 백그라운드에서 잠을하고 출력 프로세스 목록이 스크립트에 풀어서합니다) 다음과 같이 간단한 스크립트 O를 만들 :
#!/bin/bash
sleep 100 &
ps faux | grep test.sh
2.이 실행 이 같은 "SU"명령 (I 현재 "루트"로 로그인하고있어 내가 "샌드 박스"사용자로이 스크립트를 실행하려면) :
su - sandbox -c ./test.sh
샌드 박스 =이 명령을 실행할 사용자 이름. I가 도움 희망
[email protected]:/web-storage/sandbox# su - sandbox -c ./test.sh
sandbox 18149 0.0 0.0 31284 1196 pts/0 S+ 20:13 0:00 \_ su - sandbox -c ./test.sh
sandbox 18150 0.0 0.0 8944 1160 pts/0 S+ 20:13 0:00 \_ /bin/bash ./test.sh
sandbox 18155 0.0 0.0 3956 644 pts/0 S+ 20:13 0:00 \_ grep test.sh
[email protected]:/web-storage/sandbox#
, : 은 -c ./test.sh =는이 명령을
3. 출력 (제 1 열 =은이 프로세스를 소유하는 사용자)를 실행할 수단 Stefan
@Stefan : 나에게 위대하다. 나는 노력했고 성공했다. 정말 고맙습니다. –
환영합니다! 네가 성공했기 때문에 다행이야! – igniter