私のマシンには2人のユーザーequah
とhoster
がいます。
test1
にsamba共有/home/equah
を作成しました。これはユーザーequah
から問題なくアクセスできます。
また、test2
に共有/smbtest
を作成し、所有権をユーザーequah
に変更しました。これには、equah
からもアクセスできます。
しかし、共有test3
を/home/hoster/sharetest
に作成して接続しようとすると、nautilusはFailed to mount Windows share: Permission denied
でプロンプトを表示します。これが機能したいものです。
ls -l
は、記述されたディレクトリに関する次の詳細を示します。
drwx------ 14 equah equah 4096 Sep 8 20:09 /home/equah
drwxr-xr-x 2 equah equah 4096 Sep 8 20:33 /smbtest
drwxrwxrwx 3 equah equah 4096 Sep 8 20:44 /home/hoster/sharetest
drwx------ 19 hoster hoster 4096 Sep 8 20:20 /home/hoster
また、アクセスコントロールシステムがhoster
ホームディレクトリに権限を適用していることも確認しました。これを削除して、これがエラーかどうかを確認しましたが、成功しませんでした。
現在、samba 4.8.5-1
を使用してArch Linuxの新規インストールを使用しています。
私のsamba構成(/etc/samba/smb.conf
)には以下が含まれます:
[global]
workgroup = EQGROUP
server string = eq-Host samba server
server role = standalone server
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = no
[test1]
comment = test
path = /home/equah
valid users = equah
[test2]
comment = test
path = /smbtest
valid users = equah
[test3] # <== Not Working ?
comment = test
path = /home/hoster/sharetest
valid users = equah
難しいのは、一部の権限設定では、ログインしているsambaユーザーが、親ディレクトリが別のユーザーによって所有されているディレクトリのコンテンツにアクセスできない場合があることです。 /home/hoster/sharetest/test
で共有を作成し、両方の所有権をsharetest/test
からequahに変更するのは難しいですが、test
フォルダーのみを共有することもできません
ここには、古典的な所有権/権限の問題があります。 /home/hoster/sharetest
へのアクセスをequah
にのみ許可するようにSAMBAに指示しましたが、基礎となるファイルシステムの権限はそのユーザー(drwx------ 19 hoster hoster 4096 Sep 8 20:20 /home/hoster
)へのアクセスを拒否します。
ディレクトリへのequah
アクセスを許可します。
chmod a+x /home/hoster
または、equah
によるアクセスをhoster
によって強制的に実行する
# add to smb.conf share definition
force user = hoster
一般に、この種の問題はlog level = 3
を使用して診断でき、SAMBAサーバーのログファイルを確認できます。