우분투 실행 사용자 명령?

우분투 실행 사용자 명령?

특정 사용자로 명령을 실행해야 하는 bash 스크립트를 만들고 있습니다. 결과적으로 다음 명령을 사용합니다.

runuser

이 스크립트를 테스트했는데 Ubuntu Server 14.10에서 완벽하게 작동합니다. 그러나 14.04 및 12에서 테스트할 때 다음 오류가 발생했습니다.

runuser: command not found

이는 runuser 명령이 사용될 때마다 발생합니다.

새 사용자를 생성하려면 다음 명령을 사용합니다.

adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"

새 사용자를 생성할 때 구체적으로 지정해야 하는 사항이 있나요? 특정 종속성이 누락되었나요?

질문 편집:

echo $PATH 출력

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc‌​al/games

ls -l /sbin/runuser의 출력

ls: cannot access /sbin/runuser: No such file or directory

내가 runuser와 su를 사용하려는 이유는 다음과 같습니다.

runuser를 사용하면 다음 명령을 실행할 수 있습니다.

runuser user -c 'cd'
runuser user -c 'wget http://file.com'

그리고 su를 사용하여 다음과 같이 명령을 연결해야 합니다.

su user -c 'cd; wget http://file.com'

답변1

runuser가장 최근 명령이며 다음에 나타납니다.유틸리티Linux 2.23. 우분투 14.04 출시유틸리티Linux 2.20, 아직 이 명령이 없습니다.

runuser그다지 유용하지 않습니다. 그냥 su대신 사용하세요. 이 명령은 runuser user -c 'cd'실제로 아무 것도 수행하지 않습니다. 범위는 cd다음 호출까지 확장되지 않습니다 runuser. 어쨌든 이 명령을 사용해야 합니다 runuser user -c 'cd && wget http://file.com'. 대신 사용하십시오 su user -c 'cd && wget http://file.com'.

관련 정보