最新バージョンのDebianをインストールしましたが、次のコマンドを使用するとファイルにアクセスできませんsudo
。
ls
->私のホームディレクトリにあるファイルを見るsudo ls
->権限が拒否されました
私のユーザーはsudoersグループの一部であり、ファイルには次のエントリがあります/etc/sudoers
。
user1 ALL=(ALL:ALL) ALL
Ubuntuを使用する前に、この問題は発生しませんでした。
私のホームディレクトリはNFSv4ファイルシステムにあります。
答え1
このディレクトリは NFS マウントファイルシステムにあります。おそらく、NFSサーバーはroot_squash
このオプション(ほとんどのシステムではデフォルト)を使用してファイルをエクスポートしました。これは、ファイルシステムにアクセスするためにユーザーがそのroot
ユーザーにマップされるため、そのユーザーnobody
に対する「その他」権限が適用されることを意味します。礼拝の規則。
考えられるアクション:
このディレクトリへのアクセスには使用しないでください
root
。たとえば、sudo
ルートから始めて、各ユーザーのホームディレクトリを順番に確認しながら、ユーザーのホームディレクトリを検索するスクリプトを作成する場合:for user in `getent passwd | grep ':/home' | cut -d : -f1` do sudo -u "$user" \ "$process_directory" "`getent passwd $user | cut -d : -f6`" done
(オプションとコマンドを区別するために行を分割しました
sudo
)- ユーザーが読み取りおよび検索できるように、ディレクトリの権限を変更します
nobody
(例chmod go+rx
:)。これを受け入れることもそうでない場合もあります。機密ファイル(~/.ssh/
キャッシュディレクトリなど)を読み取れないようにすることもできます。 このオプションを削除するには、サーバーからエクスポートを変更してください
root_squash
。 Debian では、これはオプションのリストに/etc/exports
追加するために編集することを意味します:no_root_squash
srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check,no_root_squash)
これにより、
root
ファイルシステムがローカルであるかのように、権限に関係なく、そのファイルシステム内のすべてのファイルへのアクセスが許可されます。