完全なRWアクセス権を持つパブリックフォルダーを作成したい。私の構成の問題は、Windowsユーザーがゲスト(RWおよびDeleteが可能)として問題がないことです。私のUbuntuクライアントは同じことができません。書き込みと読み取りのみが可能ですが、作成と削除はできません。
サーバーからのsmb.confは次のとおりです。
[global]
workgroup = WORKGROUP
netbios name = FILESERVER
server string = TurnKey FileServer
os level = 20
security = user
map to guest = Bad Password
passdb backend = tdbsam
null passwords = yes
admin users = root
encrypt passwords = true
obey pam restrictions = yes
pam password change = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
add user script = /usr/sbin/useradd -m '%u' -g users -G users
delete user script = /usr/sbin/userdel -r '%u'
add group script = /usr/sbin/groupadd '%g'
delete group script = /usr/sbin/groupdel '%g'
add user to group script = /usr/sbin/usermod -G '%g' '%u'
guest account = nobody
syslog = 0
log file = /var/log/samba/samba.log
max log size = 1000
wins support = yes
dns proxy = no
socket options = TCP_NODELAY
panic action = /usr/share/samba/panic-action %d
[homes]
comment = Home Directory
browseable = no
read only = no
valid users = %S
[storage]
create mask = 0777
directory mask = 0777
browseable = yes
comment = Public Share
writeable = yes
public = yes
path = /srv/storage
次のFSTABエントリは、共有への完全なR/Wアクセスを生成しません。
//192.168.0.5/storage /media/myname/TK-Public/ cifs rw 0 0
これも機能しません
//192.168.0.5/storage /media/myname/TK-Public/ cifs rw,guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
Nemo/Nautilusで次の場所を使用すると、マウントされている共有は機能しません。
smb://192.168.0.5/storage/
追加情報。マウント後にファイルを共有にコピーすると、Ubuntuクライアントはすぐに「nobody」を所有者にし、「no group」グループは読み取りと書き込みを行い、他のすべてのユーザーは読み取り専用になります。
何が間違っていますか?
これを機能させるには、FSTABのマウント行にローカル(クライアント)UIDを追加する必要があることがわかりました。私は全くのブルートフォースでこれに到達しました:
//192.168.0.5/storage /media/myname/TK-Public/ cifs guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
CIFSには一般にユーザーとグループの概念がないため、cifs共有をマウントすると、デフォルトでユーザーとグループが「nobody」として表示されます。
drwxdrwxdrwx. 3 nobody nobody 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 nobody nobody 0 Sep 29 09:00 ..
あなたは 'nobody'ではないので、Linuxは、Sudoを使用しない限り、0777の許可がないものには書き込みを許可しません。これを修正するには、uid = mylogin、gid = mygroupをfstabに追加すると、共有が自分のディレクトリのように表示されます。
drwxdrwxdrwx. 3 mylogin mygroup 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 mylogin mygroup 0 Sep 29 09:00 ..
これで、Sudoを使用せずに完全に制御できます。
サーバーは何も強制していないため、これは実際にはサーバー上の何も変更していません。あなたが所有者であるふりをして、無制限のアクセスを許可するようにLinuxに指示しています。
あなたはほとんどそこにいます。次を使用してFSTABを開きます。
Sudo nano /etc/fstab
最後の行(または最後の行の上)の場所:
//192.168.0.5/storage /media/myname/TK-Public/ cifs username=YOURUSERNAME,password=YOURPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777
***(これはすべて1つの長い行です)
Ctrl-X 閉じます Y 保存してEnterキーを押して取引を完了します。
次の方法で再起動します。
Sudo reboot
また、Linuxデバイス上のネットワーク共有を完全に制御する必要があります。
この問題が発生したのは、共有のユーザーが所有していないためです。 「Sudo chown {username}:{username}/{share}/{path}」で修正した後、ファイルを移動および削除できました。