なぜルートであってもアクセスが拒否されるのでしょうか?

なぜルートであってもアクセスが拒否されるのでしょうか?

root:root が所有するディレクトリ 'dir1' があります。統計情報:

Access: (0750/drwxr-x---)  Uid: (    0/    root)   Gid: (    0/    root)

そして、root としてログインすると、次のidように表示されます:

uid=0(root) gid=0(root) groups=0(root)

cdしかし、そのディレクトリにアクセスしようとすると、次のメッセージが表示されます。

-bash: cd: dir1/: Permission denied

なぜこのようなことが起こるのか、またそれをどのように解決すればよいのか、何かアイデアはありますか?

答え1

たぶんSELinuxでしょうか?

確認してみてください

ls -ladZ dir1

またはSELinuxを一時的に無効にしてみてください

setenforce 0
# To emable "setenforce 1"

答え2

問題のディレクトリは NFS でホストされていますか? その場合、root:root がサーバー上のより安全なユーザー (例: nobody:guest) にマップされている可能性があります。

サーバーへのアクセス権があり、リモート ユーザーに root 権限を与えたい場合は、no_root_squashの関連するエクスポートにオプションを追加する必要があります/etc/exports。これを行う前に、ドキュメントを読むことを強くお勧めします。

答え3

ディレクトリには、その内容の一覧表示と入力を制御する実行権限がありません。まずchmod +xcdディレクトリに入力してください。

もう 1 つの可能性は、ACL の使用です。奇妙なエラーが発生する場合があります。試してみてcat /etc/fstab | grep acl、エラーがある場合は試してくださいgetfacl dir1

関連情報