Как поделиться принтером с сервера Ubuntu с помощью Samba? [Дубликат]

Проблемы с печатью самбы. У меня есть принтер CUPS, установленный на сервере Ubuntu 11.04, и он прекрасно работает.

Когда я пытаюсь настроить samba, чтобы разрешить машине XP использовать принтер, при печати происходит сбой. Я могу установить драйверы принтера для XP с сервера, и принтер появится на панелях управления принтера XP. Когда я пытаюсь распечатать тестовую страницу с компьютера с XP, я получаю эту ошибку в журнале системных событий:

Jun 27 20:33:29 FatController smbd[3571]: [2012/06/27 20:33:29,  0] rpc_server/srv_netlog_nt.c:603(_netr_ServerAuthenticate3)
Jun 27 20:33:29 FatController smbd[3571]:   _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting auth request from client JAMES machine account JAMES$

Вот мой файл smb.conf:

[global]
server string = %h (Server)
workgroup = SODOR
encrypt passwords = true
security = user
os level = 255
preferred master = yes
domain master = yes
local master = yes
logon path = \\%L\profile\%U
logon drive = S:
logon home = \\%L\home\%U
domain logons = yes
map to guest = Never
guest ok = no
dns proxy = no
time server = yes
logon script = logon.bat
load printers = yes
printing = cups
printcap name = cups
nt acl support = no
interfaces = eth1 lo
bind interfaces only = yes
smb ports = 445

[netlogon]
comment = Net Log On
path = /home/samba/netlogon
guest ok = no
read only = yes
browseable = no

[profile]
comment = User Profiles
path = /home/samba/profiles
read only = no
create mask = 0600
directory mask = 0700
browseable = no
store dos attributes = yes

[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = no
printable = yes

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
guest ok = no
read only = yes
write list = root, skizz

Кто угодно знаете, в чем проблема и как ее исправить?

В дополнение к вышесказанному я также получаю эту ошибку:

Jun 27 21:56:35 FatController smbd[3571]: [2012/06/27 21:56:35,  0] printing/print_cups.c:1027(cups_job_submit)
Jun 27 21:56:35 FatController smbd[3571]:   Unable to print file to `Edward' - client-error-not-authorized

, которая, на мой взгляд, более актуальна.

4
задан 28 June 2012 в 01:58

20 ответов

  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 25 July 2018 в 15:02
  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 1 August 2018 в 21:42
  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 4 August 2018 в 13:26
  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 5 August 2018 в 21:37
  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 7 August 2018 в 14:53
  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 10 August 2018 в 04:24
  • Если вы не слишком привязаны к использованию Samba, вы можете использовать принтер совместно, используя IPP : предпочтительный способ подключения клиента Windows к серверу печати Linux - использование IPP. Это стандартный протокол принтера, основанный на HTTP, который позволяет вам получать прибыль от переадресации портов, туннелирования и т. Д. Настройка очень проста и менее подвержена ошибкам, чем использование Samba. IPP изначально поддерживается Windows начиная с Windows 2000. Чтобы настроить серверную часть, необходимо включить просмотр в /etc/cups/cupsd.conf, добавив строку «BrowesAllow all»:
     Browsing On
     BrowseOrder allow,deny
     BrowseAllow @LOCAL
     BrowseAllow all
    
    На компьютере Windows перейдите на панель управления принтера и выберите «Добавить новый принтер». Затем выберите дать URL. В качестве URL-адреса введите местоположение принтера: http://host_ip_address:631/printers/printer_name (где host_ip_address - это IP-адрес сервера GNU / Linux, а printer_name - это имя подключаемого принтера). После этого установите собственные драйверы принтера для вашего принтера на компьютере Windows. Если сервер CUPS настроен на использование своих собственных драйверов принтера, вы можете просто выбрать общий принтер PostScript для клиента Windows (например, «HP Color LaserJet 8500 PS» или «Xerox DocuTech 135 PS2»). Затем проверьте настройку печати, напечатав тестовую страницу.
  • Если вы хотите использовать Samba для совместного использования, вы можете добавить список записи в smb.conf:
    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = yes
    guest ok = no
    printable = yes
    create mode=0700
    write list=@adm root <username>
    

Всю вышеуказанную информацию я нашел в этой вики, которая содержит больше информации, чем то, что я включил здесь. Надеюсь, это поможет!

5
ответ дан 15 August 2018 в 15:42
  • 1
    Я не привязан к самбе. Просто он у меня уже есть (для общего сетевого ресурса Windows), и я прочитал, что он может взаимодействовать с CUPS для общего доступа к принтерам. Сначала я попробую ваше обновление самбы, и если это не сработает, я попробую IPP. Я так понимаю, что при использовании IPP задания на печать могут быть аутентифицированы пользователем? – Skizz 28 June 2012 в 12:15
  • 2
    Вы можете требовать аутентификацию в cupsd.conf, установив AuthType Basic и Require user в соответствующих разделах, которые вы хотите аутентифицировать. Я не нуждался в аутентифицированной печати на окнах, поэтому я еще не пробовал. – jpetersen 29 June 2012 в 03:55
  • 3
    Самба не работала. Но метод IPP сработал. Благодарю. – Skizz 3 July 2012 в 13:45

У меня также была эта проблема с принтером, подключенным к компьютеру под управлением Ubuntu 12.04 и пытающимся печатать с компьютера под управлением Windows XP. Я обнаружил, что в samba есть известная ошибка.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

А потом мне пришлось восстановить базу данных samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

И тогда это сработало. У меня есть контракт поддержки с каноническим, и они помогли это исправить.

2
ответ дан 25 July 2018 в 15:02

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 25 July 2018 в 15:02

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 1 August 2018 в 21:42

У меня также была эта проблема с принтером, подключенным к компьютеру под управлением Ubuntu 12.04 и пытающимся печатать с компьютера под управлением Windows XP. Я обнаружил, что в samba есть известная ошибка.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

А потом мне пришлось восстановить базу данных samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

И тогда это сработало. У меня есть контракт поддержки с каноническим, и они помогли это исправить.

2
ответ дан 1 August 2018 в 21:42

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 4 August 2018 в 13:26

У меня также была эта проблема с принтером, подключенным к компьютеру под управлением Ubuntu 12.04 и пытающимся печатать с компьютера под управлением Windows XP. Я обнаружил, что в samba есть известная ошибка.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

А потом мне пришлось восстановить базу данных samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

И тогда это сработало. У меня есть контракт поддержки с каноническим, и они помогли это исправить.

2
ответ дан 4 August 2018 в 13:26

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 5 August 2018 в 21:37

У меня также была эта проблема с принтером, подключенным к компьютеру под управлением Ubuntu 12.04 и пытающимся печатать с компьютера под управлением Windows XP. Я обнаружил, что в samba есть известная ошибка.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

А потом мне пришлось восстановить базу данных samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

И тогда это сработало. У меня есть контракт поддержки с каноническим, и они помогли это исправить.

2
ответ дан 5 August 2018 в 21:37

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 7 August 2018 в 14:53

У меня также была эта проблема с принтером, подключенным к компьютеру под управлением Ubuntu 12.04 и пытающимся печатать с компьютера под управлением Windows XP. Я обнаружил, что в samba есть известная ошибка.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

А потом мне нужно было восстановить базу данных samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

И тогда это сработало. У меня есть контракт поддержки с каноническим, и они помогли это исправить.

2
ответ дан 7 August 2018 в 14:53

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 10 August 2018 в 04:24

У меня также была эта проблема с принтером, подключенным к компьютеру под управлением Ubuntu 12.04 и пытающимся печатать с компьютера под управлением Windows XP. Я обнаружил, что в samba есть известная ошибка.

sudo add-apt-repository ppa:louis-bouchard/samba-lp967410
sudo apt-get update
sudo apt-get upgrade

А потом мне пришлось восстановить базу данных samba.

sudo rm -f /var/lib/samba/registry.tdb
sudo rm -f /var/cache/samba/printing/*
sudo restart smbd
sudo restart mnbd

И тогда это сработало. У меня есть контракт поддержки с каноническим, и они помогли это исправить.

2
ответ дан 10 August 2018 в 04:24

Во всех руководствах говорится, что под опциями общего доступа у вас может быть read only = yes. Мне оказалось, что возможность записи требуется (баг самбы?). Это то, что jpetersen обозначается как write list=@adm root <username>.

Когда у меня нет прав на запись, файлы нулевого размера появляются под /var/spool/samba. Когда я отображаю общие ресурсы как root - у меня все получается.

Наконец-то я заставил это работать, добавив в раздел [printers]:

read only = no

У меня также есть следующее, чтобы упростить вещи и упростить отладку и устранение неполадок:

[global]
max protocol=NT1
smb ports=139
1
ответ дан 15 August 2018 в 15:42

Другие вопросы по тегам:

Похожие вопросы: