"루트"에서 "dummy"로 명령을 실행할 때 "dummy" 계정의 권한을 높이시겠습니까?

"루트"에서 "dummy"로 명령을 실행할 때 "dummy" 계정의 권한을 높이시겠습니까?

문맥:로그인한 상태에서(Ubuntu 16.04) 사용자로 명령을 실행하려고 하면 su a -c task다음 오류 메시지가 나타납니다.dummysudo suroot

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/dummyrootaccount

sudo -s그래서 스크립트가 .bashrc사용자의 권한을 dummy루트로 승격시키는 것 같습니다 .

질문:dummysu dummy -c task사용자로 명령을 실행할 때 계정의 권한을 높이려면 어떻게 해야 합니까 ?dummyroot

노력하다:

  1. su dummy -c sudo task, 이는 sudo잘못된 사용법을 나타냅니다. 즉, 유효한 구문을 사용하고 있지 않음을 의미합니다.
  2. info sudo이는 여전히 사용자 에 남아 있는 동안 권한 상승 명령으로 나타나므로 스크립트 sudo -s에서 정확한 기능을 확인하십시오 . 물론:.bashrcdummy

-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

관련 정보