Linux Debianを使用して自分で作成したNASがあり、Sambaを介してこのパスを共有しました。
drwxrwxrwx 5 nobody nogroup 4096 Jan 22 12:57 shared
私の目標は、次のレイアウトを持つことです。
└── shared
├── private
└── public
└── upload
└── ...other stuff...
私は次の条件が欲しい:
- 「共有」とすべてのサブディレクトリが匿名アクセスと制限なしにローカルLANの共有Sambaリソースになることを望みます(どのデバイスもSambaを使用してローカルLANの外部からアクセスできません)。
- 私は「公開」が私に所属するすべてのユーザーのためのSFTP chroot刑務所になることを望みます。sftpuser'グループはすべて/ homeディレクトリを持っていませんが、/ publicで始まります。このディレクトリとそのサブディレクトリはsftpを介してユーザーだけが読み取ることができるようにしたいが、前述のようにSambaの無料アクセスを維持します。
- sftpユーザーがコンテンツを作成してアップロードし、時々自分が所有するファイルを削除できる(アップロードしたため)、「公開」で「アップロード」が唯一の例外になることを願っています。また、Sambaを介してこの「アップロード」ディレクトリに無料でアクセスしたいと思います。
現在、次のディレクトリを作成しています。
drwxr-xr-x 2 nobody nogroup 4096 Jan 14 12:35 private
drwxr-xr-x 3 nobody nogroup 4096 Jan 16 16:44 public
ご覧のとおり、私は「nobody」ユーザーと「nogroup」グループのすべての「共有」サブディレクトリ属性を作成しました。これはSambaのデフォルト値であることがわかっているからです。しかし、これが私の要件ではありません。
私のSamba構成は次のとおりです
[global]
log file = /var/log/samba/log.%m
logging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
server role = standalone server
unix password sync = Yes
usershare allow guests = Yes
workgroup = ARCADIA
idmap config * : backend = tdb
hosts allow = 192.168.0.
[shared]
create mask = 0777
directory mask = 0777
guest ok = Yes
path = /mnt/nas/shared
read only = No
[printers]
browseable = No
comment = All Printers
create mask = 0700
path = /var/spool/samba
printable = Yes
次に、次の行を使用してラップトップに Samba リソースをインストールします。
//192.168.0.249/shared /mnt/corelli cifs rw,guest,uid=1000,gid=1000,noauto,x-systemd.automount,_netdev,user 0 0
まだSFTPサーバーの使用を開始していませんが、「パブリック」と「プライベート」への書き込みを許可していないため、Samba権限に苦労しています。また、sftpユーザーが「公開」からアクセスを制限し、SambaユーザーがローカルLANの「共有」から無制限にアクセスできるように、ファイル/ディレクトリにどの権限とデフォルトの所有者グループを適用する必要があるのかわかりません。