Я хочу создать папку Public, которая имеет полный доступ RW. Проблема с моей конфигурацией состоит в том, что у пользователей Windows нет проблем как у гостей (они могут RW и Удалять), мой клиент 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
Используя следующее местоположение в Немо/Наутилусе w/o смонтированная Доля действительно работает:
smb://192.168.0.5/storage/
Дополнительная информация. Я просто заметил, что, если я копирую файл в долю после монтирования, мой клиент Ubuntu сразу не заставляет "никого" быть владельцем, и группа "никакая группа" читала и пишет со всеми остальными как только для чтения.
Что я делаю неправильно?
CIFS обычно не имеет никакой концепции пользователя и группы, поэтому при монтировании общего ресурса cifs пользователь и группа по умолчанию будут отображаться как «nobody»:
drwxdrwxdrwx. 3 nobody nobody 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 nobody nobody 0 Sep 29 09:00 ..
Поскольку вы не «никто», Linux будет не позволять вам писать в то, что не имеет разрешения 0777, если вы не используете sudo. Чтобы это исправить, добавьте uid = mylogin, gid = mygroup в fstab, и общий ресурс будет выглядеть так, как если бы он был вашим собственным каталогом:
drwxdrwxdrwx. 3 mylogin mygroup 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 mylogin mygroup 0 Sep 29 09:00 ..
Теперь у вас есть полный контроль без необходимости использования sudo. [ 114]
Это на самом деле ничего не меняет на сервере, так как сервер ничего не применяет. Linux говорит, что вы являетесь владельцем и предоставляете вам неограниченный доступ.
У меня была эта проблема, и это было потому, что пользователь ресурса не владел ею. Я исправил это с помощью "sudo chown {username}: {username} / {share} / {path}", после чего я мог перемещать и удалять файлы.
Вы почти там. Откройте 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
*** (это - вся одна длинная линия),
Ctrl-X для закрытия, Y, чтобы сохранить и Войти для заверения печатью договора.
Теперь перезагрузка:
sudo reboot
И необходимо иметь полный контроль над сетевым ресурсом на устройстве Linux!
Оказывается, мне нужно добавить локальный (клиентский) UID к строке монтирования в FSTAB, чтобы это работало. Я пришел к этому с помощью грубой силы:
//192.168.0.5/storage /media/myname/TK-Public/ cifs guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0