「root」から「dummy」にコマンドを実行するときに、「dummy」アカウントの権限を上げますか?

「root」から「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ユーザーの権限をdummyrootに昇格させるようです。

質問: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

ベストアンサー1

おすすめ記事