나는 Whittail을 사용하여 사용자가 로그인한 후 자동으로 시작하려는 가상 머신 구성 스크립트를 생성하고 있습니다. 문제는 사용자가 루트가 되는 것을 원하지 않지만 호스트 이름, IP 주소를 변경하고 디렉터리를 추가하는 등의 작업을 수행하려면 사용자가 루트가 되어야 하기 때문입니다. 스크립트가 실제로 작업을 수행하려면 sudo 권한이 필요합니다.
지금까지 내가 한 일은 Whittail 쉘 스크립트를 사용하는 사용자를 만드는 것입니다:
adduser -M -s /scripts/whiptail_config.sh user1
나는 또한 user1
다음을 사용하여 추가했습니다 sudoers
.visudo
user1 ALL=(root) NOPASSWD: /scripts/whiptail3_config.sh
/etc/init/tty1.conf
이 사용자를 자동으로 로그인하도록 변경했습니다 .
exec /sbin/getty -8 38400 tty1 -a user1
지금까지 내 whiptail_config.sh
쉘 스크립트는 시작 및 강제 로그인 후에 정상적으로 로드되었습니다. 그러나 실제로 sudo 액세스가 필요한 스크립트의 모든 항목은 오류 및 메시지를 발생시킵니다 Permission denied...
.
내가 하고 싶은 일이 가능한 일인가? 고려하지 않았지만 고려해야 하는 대안이 있습니까? 감사해요!
답변1
만약 /scripts/whiptail3_config.sh
없다면하다a sudo
이면 권한이 없습니다. 스크립트 확인을 할 수 있습니다UID그것은 그 아래에서 실행되고 sudos 자체를 실행합니다.
그것은 마치
#!/bin/bash
[ $UID != 0 ] && exec sudo $0 "$@"
# the rest of the script...