Windows 10クライアント用のSambaを使用したLinuxサーバー(Ubuntu)でのファイル共有のセットアップ。もともとこの環境は7年前にFedoraサーバーでセットアップされていましたが、ベストプラクティスのやり方でそれを行ったかどうかはわかりません。私の質問は次のとおりです:Linuxサーバー上の共有ディレクトリの場合、サブディレクトリとファイルを作成(所有)しているかどうかに関係なく、複数のユーザーがその共有に対する完全なアクセス許可を与えて、サブディレクトリとファイルを編集/削除するにはどうすればよいですか?たとえば、グループにアクセスする複数の異なるユーザーグループがあり、それらのディレクトリの完全なアクセス許可でディレクトリを共有します。私の古いサーバーでは、より良い方法が必要であると確信していることを回避しました.......各グループ共有への完全な許可を持つ汎用Linux/Sambaユーザーを作成し、Windowsクライアントのログインスクリプトを使用してそれらをマップしましたそれらが一般ユーザーであるかのようにその共有に追加されます(例:public_userはパブリック共有にアクセスします)。動作しますが、すべてが汎用ユーザーによって所有されているため、変更の追跡や新しく作成されたファイルやディレクトリに関する説明責任はありません。これが私の最初の質問です。どんな助けも大歓迎です。
Samba構成ファイルを編集します。
Sudo nano /etc/samba/smb.conf
これをファイルの最後に追加します。
[Public Directory]
comment = Contents are read/write by all.
path = /home/user/directory-to-be-shared
read only = no
guest ok = yes
create mask = 0666
force create mode = 0666
directory mask = 0777
force directory mode = 0777
次に、sambaを再起動します。
Sudo service smbd restart
ノート:
Public Directory
)は、他のシステムから共有フォルダーにアクセスしたときにユーザーに表示されるものです。/home/user/directory-to-be-shared
内に作成する各ファイルとディレクトリにそれぞれ666と777のアクセス許可があることを確認してください。サーバーでファイアウォールを有効にしている場合は、tcp用にポート445を開く必要があります。たとえば、ufw
(複雑でないファイアウォール)を使用してファイアウォールを構成する場合:
Sudo ufw allow in 445/tcp
Sudo ufw reload
Sudo ufw status verbose
共有をすべてのユーザーがアクセスできるようにするか、クライアントユーザーのグループのみがアクセスできるようにするかは明確ではないため、これは後者のテンプレートです。
注:これは、システムのデフォルトのumaskが0002の場合にのみ説明どおりに機能するため、Ubuntu Desktop 17/18では機能しませんが、Xubuntuでは機能しますデスクトップおよびUbuntuサーバー。
このテンプレートでは、アクセスするすべてのユーザーが「users」グループのメンバーになる必要があります。共有ディレクトリおよび将来のサブディレクトリにsetgidビットを割り当てます。これにより、すべてのnewが追加され、その親フォルダのグループが継承されます。
Sudo mkdir /path
Sudo chown root:users /path
Sudo chmod 2775 /path
共有は次のようになります。
[UsersShare]
path = /path
valid users = @users
force group = users
read only = no
create mask = 0664
force directory mode = 2775
Bob-「users」グループのメンバーになったユーザーが、sambaユーザー名/パスワードでログインし、[UsersShare]共有にファイルを追加すると、owner = bob、group = users、mode = 664 files/2775になります。フォルダー。
サインインするユーザーグループのメンバーである他のすべてのクライアントユーザーは、bobが行ったすべての操作にフルアクセスできます。
ユーザーグループのメンバーでもあるファイルを追加または変更するローカルユーザー(サーバー自体のユーザー)はすべて同じ能力を持ち、新しく作成されたファイル/フォルダーは同じ664/2775モードを持ち、すべてがグループとして持ちます。 「ユーザー」。これに対する唯一の例外はルートです-Sudoを使用する場合のように-デフォルトのumaskは通常のユーザーとは異なり022であるため、ファイルは「users」グループを継承しますが、モードは644です。
全員がアクセスできる純粋なパブリック共有が本当に必要な場合は、「valid users = @users」を「guest ok = yes」に置き換えます。これをサーバー上でローカルに機能させるには、それらのユーザーを「ユーザー」グループに追加する必要があります。