
문맥:로그인한 상태에서(Ubuntu 16.04) 사용자로 명령을 실행하려고 하면 su a -c task
다음 오류 메시지가 나타납니다.dummy
sudo su
root
root@DESKTOP-344ab:/home/dummy# su dummy -c task
[task next] Taskwarrior does not have the correct permissions for '/home/dummy/.task/pending.data'. root@DESKTOP-344ab:/home/dummy#
그리고 처음에 *를 사용하여 root
사용자로 다시 전환한 su dummy
다음 실행 하면 task
정상적으로 작동합니다. * dummy
계정이 로그인되면 사용자가 작업을 수행하기 전에 다음 .bashrc
파일이 자동으로 실행됩니다./home/dummy/.bashrc
sudo -i service cron start
#get root
if [ ! -f /home/a/maintenance/getRootBool ]; then
echo "Getting sudo rights now."
touch /home/a/maintenance/getRootBool
sudo -s
fi
# remove got root boolean for next time you boot up Unix
sudo rm /home/a/maintenance/getRootBool
#Start cron service
#sudo -i service cron start
#Startup taskwarrior
export TASKDDATA=/var/taskd
cd $TASKDDATA
sudo taskd config --data $TASKDDATA
taskdctl start
task sync
그러면 터미널 왼쪽 하단에 다음과 같은 "사용자 설명"이 나타납니다 root@DESKTOP-344ab:~#
. 제가 접속 root
해도 라이센스가 있는 것처럼 보이지만 여전히 가상이라고 나와 있기 때문에 약간 혼란스럽습니다 .cd ~
/home/dummy
root
account
sudo -s
그래서 스크립트가 .bashrc
사용자의 권한을 dummy
루트로 승격시키는 것 같습니다 .
질문:dummy
의 su dummy -c task
사용자로 명령을 실행할 때 계정의 권한을 높이려면 어떻게 해야 합니까 ?dummy
root
노력하다:
su dummy -c sudo task
, 이는sudo
잘못된 사용법을 나타냅니다. 즉, 유효한 구문을 사용하고 있지 않음을 의미합니다.info sudo
이는 여전히 사용자 에 남아 있는 동안 권한 상승 명령으로 나타나므로 스크립트sudo -s
에서 정확한 기능을 확인하십시오 . 물론:.bashrc
dummy
-s, --shell SHELL 환경 변수(설정된 경우)로 지정된 쉘 또는 호출 사용자의 비밀번호 데이터베이스 항목으로 지정된 쉘을 실행합니다. 명령이 지정되면 쉘의 -c 옵션을 통해 실행할 수 있도록 쉘에 전달됩니다. 명령이 지정되지 않으면 대화형 쉘이 실행됩니다.
주로 셸 명령에 영향을 미치는 것 같습니다. 현재로서는 이것이 task
셸 명령인지, 그렇다면 sudo -s
권한을 확대하는 방법이 확실하지 않습니다. 이로 인해 실제로 sudo -s
권한 상승 명령 일 수도 있다는 가정에 의문이 생깁니다 . 나는 이것을 더 조사하고 있습니다.
또한:
아래 의견에 대한 응답으로 .bashrc
이 파일의 출력은 다음과 같습니다.
* Starting periodic command scheduler cron [ OK ]
Getting sudo rights now.
touch: cannot touch '/home/dummy/maintenance/getRootBool': Permission denied
* Starting periodic command scheduler cron [ OK ]
Getting sudo rights now.
* Starting periodic command scheduler cron [ OK ]
Configuration read from /var/taskd/config
Variable Value
------------- --------------------------
ca.cert /var/taskd/ca.cert.pem
client.cert /var/taskd/client.cert.pem
client.key /var/taskd/client.key.pem
confirmation 1
debug.tls 3
extensions /usr/libexec/taskd
ip.log on
log /var/taskd/taskd.log
pid.file /var/taskd/taskd.pid
queue.size 10
request.limit 1048576
root /var/taskd
server 0.0.0.0:53583
server.cert /var/taskd/server.cert.pem
server.crl /var/taskd/server.crl.pem
server.key /var/taskd/server.key.pem
trust strict
verbose 1
/usr/bin/taskdctl start: daemon started
Syncing with myserver.com:53583
Sync successful. No changes.
root@DESKTOP-344ab:/var/taskd# test