Я установил обычно работающий сервер Samba на машине с Linux следующим образом:
useradd -g users netshareuser
passwd netshareuser
smbpasswd -a netshareuser
(пароли одинаковые)
mkdir /net/share
chown -R root:users /net/share
chmod -R g+rwxs /net/share
setfacl -R -m default:user::rwx,default:group::rwx,default:mask::rwx,default:other::--- /net/share
/etc/samba/smb.conf:
[global]
workgroup = workgroup
server string = server
security = user
hosts allow = 192.168. 127.
load printers = no
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
unix extensions = no
follow symlinks = yes
wide links = yes
[share]
comment = Directory containing shared files
path = /net/share
valid users = netshareuser
read only = yes
rc.d restart samba
С компьютера с Windows (7) "netshareuser" может получить доступ к этой папке, читать файлы и каталоги. Однако, если я создаю символическую ссылку ln -s /some/directory/ /net/share/nameOfSymlink
, тот же компьютер Windows даже не отобразит ее.
Вопросы:
Что мне нужно сделать, чтобы заставить Linux-ссылки в этой папке работать на компьютерах с Windows, и возможно ли это? ОБНОВЛЕНИЕ: на этот вопрос ответил ультрасоволок! Проблема была в неправильных разрешениях на
/some/directory
Есть ли какой-нибудь способ обмена файлами с samba, который не требует изменения прав доступа к файлам? Я имею в виду способ, где вы можете поделиться любым файлом в вашей системе Linux с любым пользователем в вашей сети, но без изменения прав доступа к этому файлу. Я хочу: пометить файл как общий для "netshareuser", не меняя прав доступа к этому файлу.
Спасибо заранее за любые предложения!