mountディレクトリの権限をadmin:adminに変更しますか?

mountディレクトリの権限をadmin:adminに変更しますか?

次のコマンドを使用して、あるCentOSサーバーから別のCentOSサーバーへのSamba共有をマウントします。

mount -t cifs -o blarg,password //10.151.170.170/events /var/blarg/copy-to

これにより、権限が/var/blarg/copy-toadmin:adminに変更されます。権限を使用して削除すると、umount //10.151.170.170/events再び変更されます。他の機能に影響を与えるため、これは起こりたくありません。

権限が管理者に変更されるのを防ぐ方法は?

答え1

これは一般的なUNIXの動作ですが、cifにリモートユーザー情報を無視させることができます。

mount -t cifs -o \
    user=blarg,password=blarg,nounix,uid=0,gid=0 \
    //10.151.170.170/events /var/blarg/copy-to

これにより、すべてのファイルがroot:rootの所有者であるように見えます。生成されたすべてのファイルは、そのファイルをインストールしたユーザー(この場合はBragg)の所有者になります。

nounixユーザー情報を無効にするだけでなく、すべてのposix拡張も無効にします。これがWindowsインストールの場合は欲しいものです。そうでない場合nounixに変更できますforceuid,forcegid

答え2

によるとman mount.cifs

   uid=arg
       sets the uid that will own all files or directories on the mounted
       filesystem when the server does not provide ownership information.
       It may be specified as either a username or a numeric uid. When not
       specified, the default is uid 0. The mount.cifs helper must be at
       version 1.10 or higher to support specifying the uid in non-numeric
       form. See the section on FILE AND DIRECTORY OWNERSHIP AND
       PERMISSIONS below for more information.

uid を期待値に強制するには、uid を使用します。グループ(gid)にも同様に適用されます。

例:

$ mount -t cifs //10.151.170.170/events /var/blarg/copy-to -o blarg,password -o uid=1000,gid=100

uidとgidを見つけるには、次のコマンドを使用できますgetent

$ getent passwd <username>    
usrname:x:1000:1005:username,,,:/home/username:/bin/bash

最初の1000個はuid、1005番目はgidです(順序ではなく値が変更されます)。

関連情報