Plesk ユーザーの Sudo コマンドが見つかりません。

Plesk ユーザーの Sudo コマンドが見つかりません。

ユーザーをsudoersに追加した後は、sudoを実行する権限がありません。

問題が何であるかは本当に混乱しています。ところで、PleskがインストールされているCentOs 7.9を実行しています。

wheelデフォルトのPlesk加入者をグループに追加し、次の行のコメントを削除しました/etc/sudoers

## Allows people in group wheel to run all commands
wheel   ALL=(ALL)       ALL

sudoersを保存し、suルートからユーザーまで、次から始まるすべてのコマンドを保存しますsudo

sudo: command not found

$PATHの内容はsudoers次のとおりです。

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

私も次のことを試しましたが、役に立ちませんでした。

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/opt/plesk/php/7.4/bin:/root/bin

crontabcronジョブは特定のユーザーの下で実行する必要があり、Pleskインターフェイスでは実行できないため、問題のユーザーにsudoアクセスを許可してアクセスできるようにします。

現在のユーザーはただ入手できますcrontab: command not found。実際、ほとんどすべてのコマンドが見つかりません(これらのコマンドはsudoユーザーのみが使用できるためかどうかはわかりません)。

このユーザーに対してsudoを実行するために正確に何をすべきかを提案できる人はいますか?よろしくお願いします。

答え1

これを行う必要はありません。目標がそのユーザーとしてcronjobを実行することであれば、/etc/crontabファイルには通常のユーザー固有のcrontabにはない追加のフィールドがあり、ここでコマンドを実行するユーザーを定義できます。

# m h dom mon dow user  command
0 * * * *   plesk    command_to_be_run

これはcommand_to_be_run毎時間ユーザーによって実行されますplesk


に示すように、システムユーザーとしてplesk正しいログインシェルがなく、インタラクティブな使用に設定されていない/etc/passwdため、正しい変数などがないため、アプローチは機能しません。その結果、ユーザーは実行可能ファイルへのパスを含まないため、実行できません。いずれにせよ、cronジョブは簡単に実行できないため、パスワードなしで実行するように設定する必要がありますが、上記のようにすべてが必須ではありません。$HOME/.profilePATHPATHsudosudo

最後に、PATH質問に表示されるのは実際のユーザーのパスではありませんplesksu pleskユーザーの起動ファイルを読み取れないため、su - pleskFrom man su

   -, -l, --login
       Start the shell as a login shell with an environment similar to a
       real login:

       •   clears all the environment variables except TERM and variables
           specified by --whitelist-environment

       •   initializes the environment variables HOME, SHELL, USER,
           LOGNAME, and PATH

       •   changes to the target user’s home directory

       •   sets argv[0] of the shell to '-' in order to make the shell a
           login shell

関連情報