Samba
Исходные данные:
Контора на ~50 пользователей. Надо было сделать на линухах файлообменник, расшаренный каталог для 1С-ных баз и отдельную шару для фин-отдела, которая была бы доступна только с определенных машин (по IP-адресам).
Сервер работает под OpenSuse обновленной до 13.1, а начиналось все еще с 11 версии...
Я человек ленивый как и положено быть админу. Поэтому подготовку сдалал быстренько натыкав мышью пару параметров в Yast'е
Там я выбрал режим запуска "вместе с системой" и поставил галку "открыть порт в брандмауэре". Остальное делалось руками в конфигах.
Открываем /etc/samba/smb.conf и редактируем раздел Global, чтоб было так::
[global]
workgroup = ;Ибо нафиг не нужна
passdb backend = tdbsam ;Самба сама у себя хранит пароли
printing = cups ;печатать на расшаренные принтеры используя CUPS
printcap name = cups
printcap cache time = 750 ;кэш для печати
cups options = raw
map to guest = Bad User ;Незванный гость хуже всех :-)
logon path = \\%L\profiles\.msprofile ; Мы не планируем пока организовывать PDC на самбе, поэтому тут все по дефолту
logon home = \\%L\%U\.9xprofile ;Тут тоже
logon drive = P: ;и тут
usershare allow guests = No ; Пользовательские шары только для пользователей! Никаких гостей!
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$ ; путь к скрипту добавляющему машину в домен. Нам не надо....
domain logons = No
domain master = No
security = user ;Уровень проверки пользователя. User - значит будем желать ввода пароля
wins support = No ;Нафиг нам WINS тут не нужен...
usershare max shares = 100 ; Не более 100 шар на 1 пользователя
idmap gid = 100-20000 ;допустимые значения GroupID
idmap uid = 100-20000 ;допустимые значения UserID
wins server = ;Тут тоже ничего не понадобится
Вобщем основные правила работы Самбы мы задали. Теперь делаем сами шары.
[Base] ;Имя отображаемое у удаленного пользователя. Может НЕ совпадать с реальным именем каталога
path = /home/user/Base ;Путь к папке
read only = No ; НЕтолько для чтения
browseable = yes ;Просматривать можно
writable = yes ;Запись разрешена
[Exchange]
path = /home/user/Exchange
read only = No
browseable = yes
writable = yes
[fes]
path = /home/user/fes
read only = No
hosts allow = 192.168.0.X ;IP-адреса с которых можно сюда ходить. Указывать через проблел
browseable = yes
writable = yes
Соответственно каталоги должны быть уже созданы по указанным адресам. Иногда так бывает, что вроде все создано и настроено, но почему-то вылезают грабли с правами. У меня например было такое: с виндовой машины не могу УЖЕ попав в нужную шару скопировать ни один файл. Ругается на то, что диск переполнен или защищен от записи. Оказалось проблема не в виндах. Надо было просто в разделы шар добавить
directory mask = 0755
create mask = 0755
Тогда новые элементы в шаре будут создаваться уже с выставленными правами.
И еще, не помню зачем, но в /etc/samba/smbusers сделал так:
root = administrator
user = user
Если вспомню - напишу. Но сильно не надейтесь ибо настраивал это около 3 лет назад...
UPD:
Еще что вспомнил! В Suse есть графическая управлялка самбой (в YAST'е), а еще можно правой кнопкой по папке щелкнуть и в свойствах найти "общий доступ" Но все это ГУЁ-вое ниГУЯ не работает!!! Я тогда давным-давно очень много времени потратил тыкаясь мышью и матеясь на тему "Чего ей надо?! Галки правильные стоят, все вроде норм!". Вобщем не теряйте время - валите в консоль и там рулите.
UPD2:
Samba в описанной конфигурации хранит логины\пароли в своей базе. Ну это Вы и так должны были понять из каментов секции General. Так вот чтобы добавить Samba-пользователя надо в консоли выполнить smbpasswd -a Имя_пользователя и затем ввести 2 раза его (пользователя) пароль. Об этом написано в блоге некоего Сайбера тут
И не забывайте после внесения изменений в конфиг делать service smb restart
А еще полезно бывает глянуть на service smb status. Там вы узнаете не только состояние самбы (работает или нет), но и нет ли ошибок в конфиге.