Samba中涉及打印共享的参数主要有以下几个
1. 在[global]字段中涉及共享打印机的主要字段
printcap name =/etc/printercap
#这是指定打印机配置文件的位置。打印守护进程读取printcap文件中的配置信息,监视打印机的工作情况。
load printers
#指定是否要加载打印机(使打印机可以共享)。默认值为yes。
.
#如果用户想要自动载入打印机列表,而不是个别地安装,则必须在此指定以上两项
printing =cups
# 指定打印系统类型。只有在你的打印系统不是标准的情况下,才必须指定,否则不必指定。指定打印系统类型将影响到smb.conf文件中与打印机相关的命令 (如print,lpq,lppause,lpresune)的执行方式。默认的打印系统类型为bsd,其他的类型还有 sysv,plp,lprng,hpux,qnx,cups。
4.4.2 配置共享打印机
1.在Linux Samba 服务器上配置本地打印机
2.获得 Adobe Postscript Driver
按下列步骤进行
(1)到http://www.adobe.com/下载简体中文版Adobe Postscript Driver,文件名为Winstchs.exe。
(2)在Windows 环境(如Windows 2000 Professional)下安装。
(3)进入Windows 计算机C:WINNTsystem32spooldrivers目录,从子目录w32x86和WIN40中挑选出表4-1所示的8个文件,并且将文件名字母全部改为大写。
表4-1
ADFONTS.MFM |
ADOBEPS4.HLP |
ADOBEPSU.DLL |
DEFPRTR.PRO |
ADOBEPS4.DRV |
ADOBEPS5.DLL |
ADOBEPSU.HLP |
ICONLIB.DLL |
(4) 在Linux 计算机上创建/usr/share/cups/目录, 表4-1所示的8个文复制到此目录下。
3.设置smb.conf的打印共享配置
[global]
…………
#按上文将有关共享打印机的几个主要配置参数写到此处。
[printers]
#这部分用于配置打印机共享,所有用户都可以共享打印机。
comment = All Printers
#注释文字
path = /var/spool/samba
#设置打印机队列的位置,用户必须自行创建该目录,存放打印的临时文件
browseable = no
#不允许浏览共享打印机
# Set public = yes to allow user ’guest account’ to print
guest ok = no
#必须用帐号和密码才可以访问共享打印机
writable = no
#共享打印机,writable必须设置为no
printable = yes
#允许用户更改打印机队列中的文件
[fredsprn]
#该共享的打印机只允许fred私人使用
comment = Fred’s Printer
valid users = fred
path = /home/fred
#打印机队列是fred的用户目录,要主义fred必须有权访问该目录。
printer = freds_printer
#设置共享打印机的名称,此参数又可以写成“printer name=”,该参数如果放在[global]字段,所有打印服务用到的打印机名都将是一样的
public = no
writable = no
printable = yes
4.为Windows 客户机准备打印驱动
为了给Windows 客户机准备打印驱动,可以运行cupsaddsmb命令。执行如下的操作将打印机驱动程序放置在/etc/samba/drivers目录下。
创建/etc/samba/drivers目录
[root@smb_sever root] #mkdir /etc/samba/drivers
运行cupsaddsmb命令,以root身份执行该命令,共享所有打印机
[root@smb_sever root]# cupsaddsmb -a -U root
5.从Windows 客户机访问Samba 共享打印机
当配置好Samba 共享打印机之后,合法用户就可以在Windows 的网上邻居看到被共享的打印机。双击共享的打印机,在弹出的窗口中确认安装此打印机驱动即可。
在Linux平台客户机上使用Windows 计算机提供的共享资源或Linux Samba 服务器提供的共享资源,通常有两种方法。分别是使用smbclient命令和使用smbmount命令。
现在以使用Windows 计算机提供的共享资源为例分别介绍这两种方法。先在Windows 中设置共享的文件夹,Windows 计算机NetBios名为win,IP地址为192.168.0.3,共享的文件夹共享名为share_dir。Linux计算机名为lin,且安装了smb组件。
4.5.1 使用smbclient命令
在Linux计算机上,执行以下命令
[root@lin root] # smbclient -L win
或者
[root@lin root] # smbclient -L 192.168.0.3
结果在Linux计算机上列表显示出win所提供的所有共享信息。
在Linux计算机上,执行以下命令
[root@lin root] # smbclient //win(或IP地址)/share_dir -U tom
其中tom是Windows 计算机上的用户。系统提示输入tom的密码,输入正确后,系统提示
smb:>
此时,就可以向使用FTP客户的方法使用smbclient。
4.5.2 使用smbmount命令
知道某台主机所共享的资源后,执行smbmonut命令将远程共享挂载到本地。
[root@lin root] # mkdir –p /mnt/smb/win_share_dir
先创建挂载点目录
[root@lin root] #smbmount //win/share_dir /mnt/smb/win_share_dir
将远程共享//win/share_dir//win/share_dir挂载到本地目录/mnt/smb/win_share_dir
这样就可以象访问本机目录一样操作此挂载的目录了。若要卸载已挂载的目录,则执行umount命令即可。
[root@lin root]#umount /mnt/smb/win_share_dir