ルートはファイルの権限または所有権を変更できません


8

私のディレクトリはルートです:

pwd 
/

次のディレクトリがあります:

drwxrwxrwx   4 root   root     81920 Jun  4 09:25 imr_report_repo

注: imr_report_repoはNFS共有です。

ここにfstabリストがありimr_report_repoます:

netapp1:/imr_report_repos_stage  /imr_report_repo  nfs   rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1    1
d imr_report_repo

マウント内のファイル:

$ ls -al
-rw-r--r--  1 502     502      1273 Mar 21  2013 imr1_test.txt

UID 502は存在しません。そのUID / GIDをローカルに追加する場合:

$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy

それが表示されます:

$ ls -al
-rw-r--r--  1 jimmy     jimmy      1273 Mar 21  2013 imr1_test.txt

次にルートに変更します。

$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of `imr1_test.txt': Operation not permitted

NFSサーバーはNetAppですか?それへの管理アクセス権がありますか?
Mark Plotnick 2014年

はい、ネットアップです。私は管理者権限を持っています
ストリンガー

回答:


10

通常root、NFS共有に対する特別な権限はありません。それどころかroot、通常のユーザーにマップされます(つまり、rootファイルへの「通常の」読み取りおよび書き込みアクセス権もありません)。

chownNFSサーバーで実行する必要があります。


4

通常、NFSクライアントのローカルrootユーザーは、NFSマウントされた共有でこれらのタイプのアクティビティを実行できないようになっています。NetAppは次のようにこれに少しひねりを加えているようです:

  • デフォルトでは、anonオプションは65534のUIDを指定します。つまり、リソースにrootおよびanonオプションを使用しない場合、すべてのホストのrootユーザーはUID 65534を使用してリソースにアクセスします。
  • anonオプションで65535のUIDを指定すると、ルートアクセスが無効になります。
  • anonオプションでUIDに0を指定すると、ルートアクセスがすべてのホストに許可されます。
  • UIDの代わりに名前が指定された場合、その名前は、/etc/nsswitch.confファイルで指定された順序に従って検索され、anonオプションによって割り当てられる対応するUIDが決定されます。

その外観から、NetApp NFS共有にはデフォルトのオプション#1があります。これを確認するには、NFS共有のファイルをrootとしてタッチし、これを実行した結果のIDを確認します。

mount -vNFSクライアントでを使用して、NFS共有のエクスポートされたオプションを表示できるはずです。

$ mount -v
...
mulder:/export/raid1/home/sam on /home/sam type nfs (rw,intr,tcp,nfsvers=3,rsize=16384,wsize=16384,addr=192.168.1.1)

参考文献


2

NetApp NFSサーバーはデフォルトで、クライアントのrootユーザーの資格情報をサーバーのuid 65534に変更するため、などの操作chownは失敗します。これを変更するには、ファイラーのエクスポートリストを編集して、ファイルシステムの行にパラメーターが含まれるようにしますroot=clientid。ここで、clientidは、そのファイルシステムへのrootアクセスを許可するクライアントのIPアドレスまたはホスト名です。次にexportfs -a、ファイラーでコマンドラインインターフェイスを使用している場合に実行します。


0

上記のslmコメントが言ったように、

これは通常、NFSクライアントのローカルrootユーザーが、NFSマウントされた共有でこれらのタイプのアクティビティを実行できないようにするケースです。

使用される機能は、腐敗スカッシュと呼ばれています。詳細はこちら。私の場合、唯一の方法は、ログインしてこの特定のサーバーのルートスカッシュを無効にし、後で再び有効にすることでした。

dockerコンテナーをボリュームで使用し、コンテナーが非特権ユーザー(などUSER apache)で実行される場合に発生する同様の状況。NFSマウントポイントのアイデアがするので、r/ wだけでownerはなく、でroot一般的なセキュリティ慣行です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.