Samba实验
实验人员:杨玉然
实验的目的与要求:实现与Windows系统兼容的文件和打印服务以及集中的用户管理,具体技术要求如下:
l 每个Linux用户的主目录共享出来,但只有对应的用户可以访问
l 由Samba服务器充当域控制器,实现用户的集中管理,并实现用户配置文件的漫游
l 共享/Samba目录,并允许所有用户上传文件
l 共享访问时,能在Linux和Windows系统下正常显示中文文件名
1、配置Samba服务器
samba的主要配置文件是smb.conf,默认存放在/etc/samba目录中。它分为两大部分:全局配置和共享定义。其中全局配置部分包括一系列的参数,用于定义整个Samba 服务器的工作规则,共享定义部分包括目录共享和打印机共享,分多个小节,每一节定义一个共享项目。
全局配置示例:
#===================Global Settings ==============================
[global]
workgroup = yyr
server string = Sambahhhhhhkkkkkyyyyyyuuuuuurrrrrrrrrrr
printcap name = /etc/printcap
load printers = yes
log file = /var/log/samba/%m.log
log file = /var/log/samba/smbd.log
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local master = yes
os level = 33
domain master = yes
preferred master = yes
domain logons = yes
logon home = \\192.168.0.96\%U
logon path = \\192.168.0.96\Profiles\%U
logon drive = h:
add machine script = /usr/sbin/useradd -n -d /dev/null -g machines -s /bin/false -M %u
wins support = yes
重要参数说明:
workgroup
定义samba服务器所在的工作组或域
server string
定义计算机的描述,通过网上邻居访问时可以在备注信息中看到这个信息
printcap name
该参数用来覆盖系统默认载入的printcap文件
load printers
是否自动加载打印机列表
log file
指定日志文件
max log size
定义日志文件的最大尺寸,单位是KB
security
定义samba服务器的安全级别,这里设为“user”即可
encrypt password
指定是否加密密码
smb passwd file
指定存放samba用户密码的文件
socket options
定义网络方面的一些参数,能实现更好的文件传输,能实现更好的文件传输效率。
local master
该参数可以允许mnbd守护进程成为局域网的主浏览器
os level
该参数设置samba服务器参加主浏览器选举的优先级
domain master
将Samba设为域中(NT网域)的主控PDC
preferred master
domain logons
为域中的Windows客户机提供域登录服务,即成为域中的域控
logon home
logon path
logon drive
登录的目录路径和驱动器
add machine script
向域中自动添加机器账户
wins support
使Samba服务器成为网络中的WINS服务器
共享定义示例:
#======================= Share Definitions =======================
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /bin/false
username map = /etc/samba/smbusers
password server = None
winbind use default domain = no
[homes]
comment = Home Directories
browseable = yes
writeable = yes
[netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
public = yes
browseable= yes
writable = yes
create mask = yes
[Profiles]
path = /home/profiles
writeable = yes
create mask = 0600
directory mask =0700
[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = yes
writeable = yes
printable = yes
public = yes
[samba]
comment = samba
path = /samba
guest ok = yes
writeable = yes
参数说明
homes
定义用户主目录
netlogon
定义网络登录
profiles
定义共享登录文件
printers
定义打印共享
tmp
定义/tmp共享
samba
定义/samba共享出来
上述共享定义中,netlogon用来支持用户的域登录;profiles则用来存放用户的配置文件,从而实现用户配置文件的漫游。
添加打印机
为实现网络中的打印服务,首先需要在Linux服务器上配置打印机。Red Hat Enterprise Linux使用CUPS(通用Unix打印系统)支持打印功能,可以使用system-config-printer-tui工具进行本地打印配置。具体方法如下:
1) 运行命令:system-config-printer-tui,打开图1所示界面。
2) 在图1所示界面上选择“新建”按钮,可以看到图2所示界面。输入打印的“共享名”、“打印机的类型”,在这里我们选择“Windows打印机队列”。
图2 建立打印队列
3) 在图2中选择“下一步”按钮后,可以看到图3所示界面。输入打印机的共享名、主机ip、工作组、用户名和口令,并选择“下一步”按钮。
图3 Windows打印机(SMB)
4) 为打印机选择正确的驱动程序,选择“下一步”,然后在图4所示界面中选则“结束”按钮。
图4 打印队列建立完成
5) 最后在图5所示界面中选择退出,结束打印机的安装。
图5 打印机配置完成
3、服务器端其他设置
1) 修改计算机的名字,便于计算机的查找。
使用vi编辑器打开文件/etc/sysconfig/network,并作如下修改:
HOSTNAME=www.yyr.com
hostname www.yyr.com
2) 4、建立相关的目录并赋于相应的权限:
[root@www ~]# mkdir -m 0775 /home/netlogon
[root@www ~]# mkdir -m 1777 /home/ profiles
[root@www ~]# mkdir -m 0777 /samba
3) 重新启动smb服务,使smb.conf文件的新设置生效。
[root@www /]# service smb restart
4) 手工添加计算机帐户(非必需)
先建立下列各组以及创建两个必要目录,并设置正确的所有权。
[root@www ~]#groupadd machines
添加组群machines。
[root@www ~]# smbpasswd -a root
将root加入到smb帐户中,只有root才有权力加入计算机到域。
[root@www ~]# useradd -n -g machines -d /dev/null -s /bin/false -M student01$
添加计算机账户student01并将student01计算机加入到machines组中。
[root@www ~]# passwd -L student01$
锁住studend01帐户,让系统更安全
[root@www ~]# smbpasswd -a -m student01
smbpasswd命令用于添加删除Samba账户以及管理Samba账户的密码,上述命令中使用-m选项则用来添加计算机账户。
至此,服务器端的设置告一段落。
4、客户端设置
为了便于客户机查找域控制器,建议配置DNS服务器或者WINS服务器。如果使用WINS的话,Samba服务器本身可以充当WINS,只需要在客户机端将WINS指向Samba服务器的IP地址即可
为了将Windows客户计算机加入到已经建立的Samba域中,执行以下操作。
1) 打开“计算机属性”对话框,选择“网络标识”选项卡,如图6所示。
图6 系统属性对话框
2) 单击“更改”按钮,在图7所示对话框中输入要加入的域名。
图7 加入到域中
3) 输入可以批准加入该域的账户名和密码(root)。
图8 输入账户名和密码
加入域成功的话,会出现欢迎加入某域的信息。最后,需要重新启动计算机才能生效。重新启动后,使用Samba中的账户在客户机上向域中登录,考察登录过程,并验证漫游配置文件。