시작할 때 실행해야하는 응용 프로그램이 있습니다.
나는 그 응용 프로그램에 대한 시스템 사용자를 useradd -r serviceUser
만들고 그를 응용 프로그램 디렉토리의 소유자로 만들었습니다.
그런 다음 시작 스크립트를 작성하고 자동 시작에 추가합니다.update-rc myserver.sh defaults
내 스크립트 /etc/init.d/myserver.sh
#!/bin/sh
start() {
cd "/my_server_dir/"
su -c "./myServer" serviceUser
}
if [ "x$1" = "xstart" ]
then
start
exit 0
fi
내 실제 로그인 사용자에서 실행할 때 /etc/init.d/myserver.sh start
promt는 나에게 암호를 묻습니다. 하지만 암호를 설정하지 않았습니다.
나는 어딘가에서 틀렸다고 생각합니다.
예상 한 바가 확실 su
하지 않은 경우, 메시지를 표시하지 않고 모든 작업을 수행하는 루트로 실행하거나 대신 사용자 암호를 묻는 sudo를 사용하여 실행하지 않는 한 호출 은 항상 암호를 요구합니다.
따라서 su -c와 함께 sudo 권한없이 해당 serviceUser를 사용하려면 sudo passwd serviceUser
암호를 실행 하고 설정하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다