Доброго времени суток!
Столкнулся с проблемой получения доступа на запись с виндовых клиентов в папки, расшаренные под Debian
Конкретнее: не могу записывать в папку print$
в samba
[global]
security = share
[print$]
comment = Driver for Printers
browseable = yes
read only = no
path - /usr/share/cups/drivers
guest ok = yes
writeable = yes
Для понимания картины опишу ситуацию: есть большая корпоративная сеть, клиенты которой работают исключительно под виндами и находятся в домене. Включение в домен невиндовой машины запрещено политикой компании.
Под моим надзором находится небольшая часть этой сети в виде 5и этажного офиса, на каждом этаже которого находится по 2-3 сетевых принтера. В силу хронического неумения и нежелания пользователей читать мануал по установке сетевого принтера или включать мозг при чтении этого мануала, дабы определить какой из принтеров находится ближе всего к пользователю, было решено поднять принт-сервер. Это было незамедлительно выполнено на старой (за неимением новой) машине под 2003 виндами, но винды стали зависать, выпадать в бсод, спонтанно перезагружаться и выдавать кучу ошибок и предупреждений. После нескольких дней установки патчей, курения форумов, экспериментов с конфигурациями, плясок с бубном и применением тёмной магии, работа сервера стала более стабильной, но под действием сил более могущественных, чем логическое мышление, машина продолжила свои таинственные отказы работать, хоть и с меньшей периодичностью. В итоге я плюнул на это неблагодарное занятие и оставил все как было до моего прихода на эту работу: принтеры приходилось ставит вручную, приходя на рабочее место пользователя или призывая пользователя принести свой лэптоп ко мне.
На днях попался мне под руки дистрибутив Debian и некоторое количество свободного времени. Памятуя о рассказах о стабильности линукса, я решился поставить принт сервер под Debian. Учитывая то, что линукс я видел впервые (не смейтесь, такое тоже бывает), у меня заняло 2 дня понять, что мне нужны Samba и Cups, поставить их и хоть как-то настроить. В итоге: у меня есть тестовый принт-сервер, который работает уже дня четыре и ни разу не завис!!! = ) Последний штрих, это сделать так, что бы виндовые машины соединяясь к принтеру могли автоматом цеплять нужные драйвера и не заставлять ползователя нажимать на ненавистные и непонятные ему кнопки.
Пока плохо представляю себе как это реализовать, но одно я понял железно: что бы закинуть драйвера хотя бы для одного принтера в директорию print$ нужно, что бы какая-нибудь виндовая машина могла записывать в эту директорию, тогда дрова будут инициализироваться другими клиентами именно как драйвера, а не как куча бесполезных файликов. Бьюсь над тем, как заставить её это делать, а точнее, как заставить Samba дать доступ на запись в папку, с самого утра, но так ничего и не добился. Перечитал кучу информации в интернете, настраиваю, по моему, так, как надо. Не совсем понял альтернативные варианты закидывания дров, а точнее совсем не понгял, и не стал заморачиваться, если честно.
В общем, вопрос: подскажите, как дать доступ на запись виндовым клиентам в шару Дэбиана?
Если еще подскажите, как заставить виндовых клиентов цеплять драйвера автоматом, то буду безмерно благодарен. = )
PS в процессе понимания предмета мне очень помогла эта статья http://www.sbin.org/doc/samba/Samba-HOWTO-Collection/printing.html но местами для новичка в линуксе она мутновата.
PPS спасибо за то, что хотя бы прочли все эти "многа букаф" = )
Доступ на запись из Винды
Поставьте корректные права на папки в файловой системе. Этого должно хватить.
Если можно, поподробнее о том, как выставлять права на папки в файловой системе. Потому что для меня, как для виндового пользователя, это нажать правой кнопкой на папку и зайти во вкладку "Security" ну и на крайний случай, для более тонких настроек, зайти в "Advanced" = ) А вот в как это делается в линуксе для меня пока секрет.
Если я прав, то в Вашем случае можно ограничится командой chmod. Смотрите man chmod
Спасибо за совет, но не помогло, или я не так сделал
Ввожу:
chmod a+r /usr/share/cups/drivers -v
Возвращает:
mode of '/usr/share/cups/drivers' retained as 0755 ( rwxr-xr-x)
А доступа на запись с виндовой машины по прежнему нет
Спасибо за совет, но не помогло, или я не так сделал
Ввожу:
chmod a+r /usr/share/cups/drivers -v
Возвращает:
mode of '/usr/share/cups/drivers' retained as 0755 ( rwxr-xr-x)
А доступа на запись с виндовой машины по прежнему нет
Вы даёте права только на чтение, надо было w использовать тоже.
Войдите под root через su.
И
# chmod -R a+rw /usr/share/cups/drivers
или, если выше не поможет
# chmod -R 0777 /usr/share/cups/drivers
Пакажите Ваш конфиг
Господа, конфигурация Samba была такая (все закомментированное я убрал):
[global]
workgroup = workgroupname
# Debugging/Accounting #
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
# Authentication#
security = share
#=== Share Definitions ===
[homes]
comment = Home Directories
browseable = no
read only = yes
create mask = 0700
directory mask = 0700
valid users = %S
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = no
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /usr/share/cups/drivers
browseable = yes
read only = no
guest ok = yes
помогло вручную прописать строку: create mask=0777, (не знаю почему она не появилась после использования
chmod -R a+rw /usr/share/cups/drivers
теперь я могу записывать в папку print$, но как внедрить в print$ дрова так, что бы винда понимала, что это её дрова - я так и не понял, если есть идеи - подскажите smile
теперь я могу записывать в папку print$, но как внедрить в print$ дрова так, что бы винда понимала, что это её дрова - я так и не понял, если есть идеи - подскажите smile
Может винде надо указать дополнительный каталог, где искать такие файлы (драйвера). Возможно есть переменные окружения или что-то подобное.
Винду очень смутно помню...