新しく作成されたファイル/フォルダが親フォルダのユーザーとグループの所有者であることを確認してください。

新しく作成されたファイル/フォルダが親フォルダのユーザーとグループの所有者であることを確認してください。

他の質問を見た後、次のことを行いました。

chmod g+s MEDIA 
setfacl -R -d -m g::rwx MEDIA 
setfacl -R -d -m o::rwx MEDIA 

注:MEDIAは、追加されたすべてのファイル/フォルダが親フォルダと同じユーザー/グループを持つように設定したいフォルダです。

この例では、MEDIAはBobユーザーとグループが所有していますSharedFiles。目的は、新しく作成されたファイル/フォルダにこの所有権を維持させることです(BobおよびSharedFiles

MEDIA Bob SharedFiles
MEDIA/NewFolder Bob Bob   <BAD
MEDIA/NewFolder Bob SharedFiles   <GOOD

ユーザー「Bob」としてログインしている間にサブフォルダを作成すると、そのフォルダは期待どおりに[rwxrwxrwx]権限を持つBob:SharedFilesの所有になります。問題ない!

Sueとしてログインすると、新しいフォルダは[rwxr-xr-x]を使用してSue:Sueの一部になります。

KDEにインストールされているドライブ(ユーザーSue)を介して別のコンピュータにログインすると、フォルダは[rwxr-xr-x]を使用してBob:Bobの一部になります。

BobとSueは両方ともSharedFilesの一部です。私はどこで間違っていますか? SharedFilesグループのすべてのユーザーにRWX権限があり、SharedFilesグループのユーザーが作成したすべてのファイル/フォルダが親フォルダと同じユーザー/グループを持つことを望みます。なぜこれはコンピュータ自体の所有者にのみ発生するのですか?体。

getfacl MEDIA/

返品

# file: MEDIA/
# owner: Bob
# group: SharedFiles
# flags: -s-
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

samba.conf には以下が含まれます。

[MEDIA]
 read only = no
 locking = yes
 path = /mnt/local/int001/MEDIA
 guest ok = yes
 create mask = 0775
 directory mask = 0775

ベストアンサー1

Samba は、(階層的) NTFS 権限のスタイルをより類似して模倣するために、ファイルに独自の権限と所有権の概念を適用する傾向があります。

force userおよびディレクティブを含めるようにSamba定義を拡張すると、force groupSambaを介して共有に生成されたすべてのファイルに指定された所有者とグループを含めることができます。

[MEDIA]
  read only = no
  locking = yes
  path = /mnt/local/int001/MEDIA
  guest ok = yes
  create mask = 0664
  directory mask = 0775
  force user = Bob
  force group = SharedFiles

ただし、ユーザーが他の人が所有するファイルを作成することは不可能であるため、ローカルユーザーと直接同じ操作を実行することはできません。ここinotifywaitに役立つかもしれません。ディレクトリ階層を監視し、新しく作成されたファイルの所有権を変更するには、起動時に設定します。

cd /mnt/local/int001/MEDIA || exit
inotifywait --monitor --recursive --event create --format '%w%f' . |
    while IFS= read -r file
    do
        if [[ -f "$file" || -d "$file" ]] && [[ ! -h "$file" ]]
        then
            chown Bob:SharedFiles "$file"
            chmod u+rw,go=u,o-w "$file"
        fi
    done

このinotifywaitソリューションでは、ファイルシステムACLは必要ありません。

個人的には、ファイルの所有権を実際に変更する必要はないと思います。指定したACL(およびforce groupSambaの対応するコンテンツ)は、ディレクトリツリー内のすべてのユーザーが。一般ユーザーは正当な理由で拒否されますchown

おすすめ記事