DardDriveでubuntu 14.04を実行しています。ここにあるSudo
のセットアップと実行の手順を実行していました http://snag.gy/JAGgt.jpg 。しかし、ユーザー[$]としてSudo "whatever"
と入力するたびに、次のメッセージが表示されます。
Sudo: unable to stat /etc/sudoers.d/README: Permission denied
Sudo: unable to stat /etc/sudoers.d/ken: Permission denied.
そのため、ルートとしてレベルアップし、ls -l | grep sud
を実行しました。以下を参照してください。
root@ken-:/etc# ls -l | grep sud
-rw-r----- 1 root root 745 mar 19 12:11 sudoers
drwxr----- 2 root root 4096 mar 19 14:53 sudoers.d
Sudo
の構成方法の指示に基づいて、sudoers.d
ディレクトリにユーザー名と同じ名前のディレクトリを作成し、そのファイルでユーザー名にALL(ALL)LL
と入力する必要があります。しかし、私はそのファイルに対してchmod 440
を行ったため、次のようになります。
root@ken-Inspiron-5558:/etc/sudoers.d# ls -l
total 8
-r--r----- 1 root root 22 mar 19 14:53 ken
-r--r----- 1 root root 958 mar 19 12:16 README
この時点でSudo su ken
を使用してレベルダウンし、sudoers.dにアクセスしたい場合、アクセス許可拒否ステートメントを取得し続けます。
ユーザーとしてsudoers.dにアクセスすることさえできません。これを参照してください。
ken@ken-Inspiron-5558:/etc$ cd /etc/sudoers.d/
bash: cd: /etc/sudoers.d/: Permission denied-
まず、指示に基づいてALL=(ALL) ALL
であるため、混乱が1つあります。
第二に、指示はと言います。システムにまだSudoがセットアップされ有効になっていない場合、あなたはreally残りを行う前にチェックする必要があります。
第三に、そのken
ファイルを削除するだけです。ユーザー名は、インストール中にSudo
グループに自動的に追加されます(インストール中に選択したユーザー名で、手動で作成されたものではない場合)。
最後に、/etc/sudoers.d
パーミッションを見てください:
root@ken-:/etc# ls -l | grep sud
-rw-r----- 1 root root 745 mar 19 12:11 sudoers
drwxr----- 2 root root 4096 mar 19 14:53 sudoers.d
ディレクトリに移動するには、ディレクトリに実行許可ビットを設定する必要があります。ディレクトリに移動できないのは、所有者(root)のみにxが設定されているためです( serverfaultの関連投稿 は、十分に)。したがって、/etc/sudoers.d
の問題へのナビゲーションには、nothingがあり、Sudo
と関係がありますが、フォルダー許可ビットは関係します。
しかし、まだ納得できない場合は、ユーザーが所有するディレクトリのデモをホームフォルダーに置いてください。
$ ls -ld testdir
drwxrwxr-x 2 xieerqi xieerqi 4096 Mar 17 16:34 testdir/
$ chmod -x testdir
$ cd testdir
/bin/mksh: cd: /home/xieerqi/testdir: Permission denied
/etc/sudoers.d/
には何も追加していないはずです!
これは単純に不必要で危険です(ご覧の通り)。すべての管理ユーザー(インストール中に作成されるデフォルトのユーザーアカウントを含む)は、Sudo
を使用してroot権限でコマンドを実行することを既に許可されています。
ファイル/etc/sudoers.d/ken
を再度削除し、/etc/sudoers.d
に対して行ったすべての変更を元に戻します。pkexec
を一時的に置き換えてSudo
を使用すると、問題が解決しない場合でも問題を解決できます。
pkexec rm /etc/sudoers.d/ken
Ubuntuの管理ユーザーは、Sudo
(以前のadmin
)グループのグループメンバーシップによって定義されます。
Unity Control Center GUIを介して新しい管理ユーザーを追加すると、それらのグループメンバーシップが自動的に処理されます。
Sudo adduser USERNAME
を使用して端末から新しいユーザーを追加すると、そのユーザーは追加グループのメンバーにはなりません。この場合、これらの2つのグループを手動で追加して、アカウントをSudo
の使用を許可された管理者にする必要があります。
Sudo adduser USERNAME Sudo
そして、まれに/etc/sudoers
または/etc/sudoers.d/
のファイルを編集する必要がある場合、neverは手動で行いますが、**常にSudo visudo
を使用して編集しますそれ!このコマンドは、変更を適用する前にファイルを検証してエラーをチェックし、Sudo
コマンドが台無しになるのを防ぎます。
Rootに昇格して問題を解決し、root @ root#chmod 755/root/etc/sudoersおよびsudoers.dを実行しました。コンピューターを使用するのは私だけなので、ugoに対してアクセス許可を設定することはあまり気にしません。