web-dev-qa-db-ja.com

Sudoers.dのアクセス許可が拒否されました

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-
2
Ken Sandoval

まず、指示に基づいて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
2

/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コマンドが台無しになるのを防ぎます。

2
Byte Commander

Rootに昇格して問題を解決し、root @ root#chmod 755/root/etc/sudoersおよびsudoers.dを実行しました。コンピューターを使用するのは私だけなので、ugoに対してアクセス許可を設定することはあまり気にしません。

0
Ken Sandoval