
newUser를 사용하여 새 사용자를 생성하고 sudo adduser newUser sudo
그에 대한 비밀번호도 설정했습니다. sudo passwd newUser
이제 내가 원하는 것은 이 newUser에서 스크립트를 실행하고 새 폴더를 생성하는 스크립트를 생성했으며 mkdir
또한 다음은 시스템 시작이나 재부팅이 자동으로 실행될 경우 를 사용했기 때문에 @reboot
이 crontab
스크립트를 newUser에서 실행하고 싶고, 비밀번호도 루트 사용자를 사용하여 설정했는데 sudo passwd root
, 기본적으로 이 스크립트는 루트에서 실행되므로 원합니다. newUser로 실행됩니다.
감사해요.
답변1
cron 작업은 crontab을 소유한 사용자로 실행됩니다.
이는 @reboot
crontab에 작업을 추가 해야 함을 의미합니다 newUser
.
이 작업은 두 가지 방법으로 수행할 수 있습니다.
- 루트로 실행하고
crontab -u newUser -e
작업 일정을 crontab에 추가newUser
하거나 - 로그인
newUser
후 실행하여crontab -e
일정을 추가하세요.
일반 일일 사용자로서 첫 번째 작업을 수행할 수 있습니다.
sudo crontab -u newUser -e
또는 두 번째 패스
sudo -u newUser crontab -e
(일반 사용자가 허용된다고 가정 sudo -u newUser
).
답변2
내가 생각할 수 있는 처음 두 가지 방법은 다음과 같습니다.
1] 그냥 사용하면 sudo
다른 사용자로 프로그램이 실행됩니다. 예를 들어, 다음 줄을 루트로 실행합니다. 여기서 "root"는 사용자 "newUser"로 프로그램을 실행합니다.
root@foo $> sudo -u newUser whoami
=> newUser
그런 다음 을 읽어 보십시오 man sudo
.
2] 배포판에는 차이가 있을 수 있지만 제가 사용하는 시스템에서는 각 사용자마다 자신만의 crontab이 있습니다. 따라서 사용자가 newUser
시작 시 무언가를 실행하기를 원하는 경우.
newUser@foo $> crontab -e
그런 다음 @reboot
거기에 와이어를 삽입합니다.