
私のディレクトリはルートです。
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
これでrootに変更します。
$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of `imr1_test.txt': Operation not permitted
答え1
通常、root
NFS共有には特別な権限はありません。逆に:root
通常のユーザーにマップされます(つまり、root
ファイルへの「一般」読み取りおよび書き込みアクセスではありません)。
chown
NFSサーバーで実行する必要があります。
答え2
通常、NFSクライアントのローカルrootユーザーは、NFSマウント共有でこのタイプのアクティビティを実行できません。 NetAppはこれについて以下のようにいくつかの変更を加えたようです。
- デフォルトでは、anonオプションで指定されるUIDは65534です。つまり、リソースに対して root オプションと anon オプションを使用しない場合、すべてのホストの root ユーザーは UID 65534 を使用してリソースにアクセスします。
- anon オプションで UID 65535 を指定すると、root アクセスは無効になります。
- anon オプションで UID 0 を指定すると、root アクセスがすべてのホストに付与されます。
- UIDの代わりに名前を指定すると、ファイルに指定された順序で名前を照会して、
/etc/nsswitch.conf
anonオプションによって割り当てられた対応するUIDを決定します。
したがって、表面的にNetApp NFS共有にはデフォルトのオプション#1があります。 NFS共有のファイルをrootにタッチし、生成されたIDを表示して確認できます。
mount -v
NFSクライアントで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 ユーザーが共有ファイルシステム上のすべてのファイルを変更でき、他のユーザーが誤って実行するようにトロイの木馬に感染したアプリケーションを残すことができます。