Как и в заголовке, я хочу получить папку на моем сервере самбы, которая позволит любому (гость, пользователь, неважно) загружать файлы. Файлы должны быть невидимы для всех, кроме хоста. Лучшим вариантом будет запретить пользователям и гостям редактировать, просматривать или удалять файлы, но это не обязательно. Я пробовал несколько способов. Во-первых, как кто-то написал где-то, что я делал так, используя маски и права доступа к файлам, это не работает, любой может делать что угодно с файлами на сервере. Конечно, нас интересует папка "Wgrane": P.
[global]
netbios name = serwer
server string = Samba file and print server
workgroup = Workgroup
security = user
hosts allow = 127. 192.168.0.
interfaces = 127.0.0.1/8 192.168.0.0/24
bind interfaces only = yes
remote announce = 192.168.0.255
remote browse sync = 192.168.0.255
printcap name = cups
load printers = yes
cups options = raw
printing = cups
guest account = smbguest
map to guest = Bad Password
obey pam restrictions = yes
log file = /var/log/samba/samba.log
max log size = 1000
null passwords = yes
username level = 0
password level = 0
encrypt passwords = yes
unix password sync = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = no
domain master = no
preferred master = no
domain logons = no
os level = 33
logon drive = m:
logon home = \\%L\homes\%u
logon path = \\%L\profiles\%u
logon script = %G.bat
time server = no
name resolve order = wins lmhosts bcast
wins support = no
wins proxy = no
dns proxy = no
preserve case = no
client use spnego = no
client signing = no
client schannel = no
server signing = no
server schannel = no
nt pipe support = yes
nt status support = yes
allow trusted domains = no
obey pam restrictions = yes
enable spoolss = yes
client plaintext auth = no
disable netbios = no
follow symlinks = no
update encrypted = yes
pam password change = no
passwd chat timeout = 120
hostname lookups = no
username map = /etc/samba/smbusers
passdb backend = tdbsam
passwd program = /usr/bin/passwd '%u'
passwd chat = *New*password* %n\n *ReType*new*password* %n\n *passwd*changed*\n
add user script = /usr/sbin/useradd -d /dev/null -c 'Samba User Account' -s /dev/null '%u'
add user to group script = /usr/sbin/useradd -d /dev/null -c 'Samba User Account' -s /dev/null -g '%g' '%u'
add group script = /usr/sbin/groupadd '%g'
delete user script = /usr/sbin/userdel '%u'
delete user from group script = /usr/sbin/userdel '%u' '%g'
delete group script = /usr/sbin/groupdel '%g'
add machine script = /usr/sbin/useradd -d /dev/null -g sambamachines -c 'Samba Machine Account' -s /dev/null -M '%u'
machine password timeout = 120
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /dev/null
winbind use default domain = yes
winbind separator = @
winbind cache time = 360
winbind trusted domains only = yes
winbind nested groups = no
winbind nss info = no
winbind refresh tickets = no
winbind offline logon = no
host msdfss = no
usershare allow guests = yes
[krzysztofonly]
path = /home/krzysztof/Publiczny/Serwer
comment = Serwer tylko dla usera krzysztof.
valid users = krzysztof
write list = krzysztof
read only = no
available = yes
browseable = yes
writable = yes
guest ok = no
public = yes
printable = no
locking = no
strict locking = no
[Do pobrania]
path = /home/krzysztof/Publiczny/Do pobrania
comment = Lokalizacja tylko do pobierania plików z serwera.
read only = yes
available = yes
browseable = yes
writable = no
guest ok = yes
public = yes
printable = no
locking = yes
strict locking = yes
[Wgrane]
path = /home/krzysztof/Publiczny/Wgrane
comment = Lokalizacja do wgrywania plików na serwer. Nie mogą one być później edytowane.
force directory mode = 2770
create mask = 660
read only = no
available = yes
browsable = yes
guest ok = yes
public = yes
valid users = @U smbguest
force user = krzysztof
Второй способ, который я пробовал, был примерно таким.
[Wgrane]
path = /home/krzysztof/Publiczny/Wgrane
comment = Lokalizacja do wgrywania plików na serwer. Nie mogą one być później edytowane.
read only = no
available = yes
browsable = yes
guest ok = yes
public = yes
veto files = /*/
delete veto files = no
Просто вето, которое должно скрыть все файлы, и все должно быть в порядке. Или, может быть, я плохо понимаю эту атрибуцию? Справа - файлы скрыты, но нет возможности загрузить файлы. Ошибка: http://i.imgur.com/vWKlloO.png
Стандартная ошибка Windows. «Не удалось найти этот элемент. Он больше не находится ...», НО файл полностью доступен, но не может быть удален на сервер.
Может кто-нибудь посоветовать мне, как исправить ошибку вторым способом, или сказать, почему первый не работает?
@edit Я узнал больше и теперь понимаю, как работают файлы вето. Мне нужно сделать что-то вроде вето, но с разрешенной загрузкой. Это вообще возможно?