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

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

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

pwd 
/

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

drwxrwxrwx   4 root   root     81920 Jun  4 09:25 imr_report_repo

メモ: imr_report_repoNFS共有です。

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

これでrootに変更します。

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

答え1

通常、rootNFS共有には特別な権限はありません。逆に:root通常のユーザーにマップされます(つまり、rootファイルへの「一般」読み取りおよび書き込みアクセスではありません)。

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

答え2

通常、NFSクライアントのローカルrootユーザーは、NFSマウント共有でこのタイプのアクティビティを実行できません。 NetAppはこれについて以下のようにいくつかの変更を加えたようです。

  • デフォルトでは、anonオプションで指定されるUIDは65534です。つまり、リソースに対して root オプションと anon オプションを使用しない場合、すべてのホストの root ユーザーは UID 65534 を使用してリソースにアクセスします。
  • anon オプションで UID 65535 を指定すると、root アクセスは無効になります。
  • anon オプションで UID 0 を指定すると、root アクセスがすべてのホストに付与されます。
  • UIDの代わりに名前を指定すると、ファイルに指定された順序で名前を照会して、/etc/nsswitch.confanonオプションによって割り当てられた対応する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)

引用する

答え3

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

答え4

nfsホスト上

nano /etc/exports

/share       ip_of_client(rw,no_root_squash)

出口

exportfs -a

mount -t nfs host:/folder <mnt location>

~からRHEL

デフォルトでは、NFS共有はrootユーザーを権限のないユーザーアカウントであるnfsnobodyユーザーに変更します。これにより、ルートで生成されたすべてのファイルの所有者がnfsnobodyに変更され、setuidビットが設定されたプログラムはアップロードされません。

no_root_squash を使用すると、リモート root ユーザーが共有ファイルシステム上のすべてのファイルを変更でき、他のユーザーが誤って実行するようにトロイの木馬に感染したアプリケーションを残すことができます。

関連情報