CentOS 5システムで次のコマンドを実行します。
$ sudo cp file1 file2
私には、次のエラーが発生します。
申し訳ありません。 my_username ユーザーは site_name.com から root として「/bin/cp file1 file2」を実行できません。
ルート権限だけでは十分ではないのはなぜですか?
答え1
sudoersファイルはどのように設定されていますか?このコマンドは、rootがcpを使用できないという意味ではありませんが、cpをrootとして使用することはできません。
あなたは以下を持っている必要があります:my_username ALL=(ALL) ALL
sudoersファイルに
答え2
を実行すると、ローカル設定に従って持っている権限のリストが表示されますsudo -l
。sudo
たとえば、次のようになります。私のMacbookでは、次のようになります。
: cez@rhk; sudo -l
Password:
Matching Defaults entries for cez on this host:
env_reset, env_keep+=BLOCKSIZE, env_keep+="COLORFGBG COLORTERM", env_keep+=__CF_USER_TEXT_ENCODING,
env_keep+="CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE", env_keep+="LC_MESSAGES LC_MONETARY LC_NUMERIC
LC_TIME", env_keep+="LINES COLUMNS", env_keep+=LSCOLORS, env_keep+=SSH_AUTH_SOCK, env_keep+=TZ,
env_keep+="DISPLAY XAUTHORIZATION XAUTHORITY", env_keep+="EDITOR VISUAL"
User cez may run the following commands on this host:
(ALL) ALL
: cez@rhk;
これは、(ALL) ALL
私のユーザーがすべてのユーザー(AFAICS)としてすべてのコマンドを実行できることを意味します。
答え3
sudoは暗黙的にrootアクセスを許可しません。
/etc/sudoersを見てみましょう。