Samba
服务的简介
Linux
使用Samba的程序来实现SMB协议。(局域网上共享文件夹的协议)
Samba
服务的安装
rpm �Civh samba-3.0.10-1.4E.i386.rpm
Samba
服务的配置文件
主配置文件/etc/samba/smb.conf
Samba
服务的密码文件
/etc/samba/smbpasswd
服务安装后该文件是不存在的,使用smbpasswd命令为Samba服务添加帐号时,自动创建smbpasswd文件,具体命令如下: smbpasswd �Ca Linux帐户名
如: smbpasswd �Ca tom
/etc/samba/smbusers
控制用户映射的。
Samba
服务的日志文件 默认存放在/var/log/samba
Samba
服务的文件共享
全局参数
设置Samba服务器所属的群组名称或Windows的域名
workgroup = MYGROUP
设置Samba服务器的简要说明
server string = Sabma Server
设置可访问Samba服务器的主机、子网或域
hosts allows = 192.168.1.192.168.2.127.
如:允许主机名为client1的客户端和域名为alarm.com的域访问,同时允许192.168.16.*的所有主机都可以访问(除192.168.16.4外),
hosts allows = client1, alarm.com, 192.168.16. EXCEPT 192.168.16.4
设置Samba服务启动时,将自动加载的打印机配置文件
printcap name = /etc/printcap
设置是否允许打印机配置文件中的所有打印机开机时自动加载
load printers = yes
设置guest帐号名
guset account = pcguest
此处的帐号名必须建立到/etc/passwd文件中,默认会以nobody帐号处理
指定Samba服务器使用的安全等级
security = user
默认是user安全等级,安全等级有以下5类:
share
安全等级:不需要输入帐号和密码,
user
安全等级:需要输入有效的帐号和密码,
server
安全等级:需要输入有效的帐号和密码,但密码的验证需另一台SMB服务器负责,所以需要指定口令服务器,即设置password server选项。
如: Samba服务器的安全等级为server,口令服务器为SMB2,另一个有效的密码文件为smbpasswd_smb2,存放在/etc/samba目录下:
security = server
password server = SMB2
smb passwd file = /etc/samba/smbpasswd_smb2
domain
安全等级:Samba服务器加入到Windows NT域中后,帐号和密码的验证交由域控制器负责
ads
安全等级:Samba服务器加入到Windows活动目录后使用,也需要指定口令服务器。
有多个网卡的Samba服务器设置需要监听的网卡
interfaces =
网卡IP地址或网络接口
如:Samba服务器有两个网卡,分别为ehto 是192.168.16.177和eht1是202.96.128.68 监听网卡是ehto,具体设置方法有两中:
使用网络接口: interfaces = ehto
使用IP地址: interfaces = 192.168.16.177
interfaces = 192.168.16.177/24
interfaces = 192.168.16.177/255.255.255.0
设置WINS服务器的IP地址
wins server = w.x.y.z
如:网络中有一台WINS 服务器,IP地址是192.168.16.178。Samba使用该WINS服务器提供WINS服务 wins server = 192.168.16.178
可以使用testparm命令检查smb.conf配置文件内是否有语法错误。
用户映射
用户映射是在Windows和Linux主机之间进行,使用映射后,就可以直接用Windows帐号访问Linux共享资源
全局参数 username map 就是用来控制用户映射的,默认情况下/etc/samba/smbusers是映射文件
起格式为:单独的Linux帐号 = 要映射的Windows帐号列表。
如:Linux用户 tom 与Windows中的用户alarm和back之间建立映射,
tom = alarm back
使用加密口令
全局参数 encrypt password 可以指定用户的密码是否以加密的方式发送,
encrypt password = yes
或 no
共享目录
设置用户个人的主目录
默认个人的主目录在/home目录下,每个Linux用户有一个独立的子目录
[homes]
comment = Home Directories
目录说明
browseable = no
是否允许用户浏览所有人目录
writable = yes
是否允写入个人目录
设置一个共享目录
如:设置共享目录share,本机路径是/hoem/share,只有share组的用户可以读写该目录,tom只能读取,步骤如下:
以root登陆系统,使用groupadd share 建立share组,并利用命令usermod �CG share ygj
将ygj用户添加到share组。
使用命令 mkdir /home/share 在/home目录下建立子目录share
使用命令chown :share /home/share 设置share目录所属的组为share
使用命令chmod �Cc g+wxr /home/share 设置share组对该目录具有读写和执行的权限
在smb.conf配置文件末尾添加:
[share]
comment = Samba’s share Directory
read list = tom
设置只读用户
write list = @share
设置可读写用户组
path = /home/share
共享目录的本机路径
(如果所有用户的读写权限相同,可以使用 “writable = yes 或 no”)
启动Samba服务: /etc/rc.d/init.d/smb start
Linux
客户端访问
利用主机名访问共享资源:可以通过/etc/samba/lmhosts文件来实现。格式为:
IP
地址 主机名(NetBOIS名称)
如: 192.168.16.2 ygj_alarm
利用smbclient访问共享资源:
rpm �Civh samba-client-3.0.10-1.4E.i386.rpm
列出目标主机共享资源列表:
smbclinet �CL //
共享名或IP地址 �CU 登陆用户名
使用共享资源: smbclient //主机名或IP地址/共享目录名 �CU 登陆用户名
如:使用“RHEL4”主机上的“tom”用户,列出“RHEL4”上的共享资源列表:
smbclient �CL //RHEL4 �CU tom
使用“RHL4”主机上的share2共享文件夹:
smbclient //RHL4/share2 �Cu tom
在Linux服务器或客户端上,可以利用smbmount命令将共享资源加载到本机中,其格式为:
smbmount
共享资源地址 加载点 �Co 参数(username=登陆用户名)
smbumount
加载点
如:使用alarm主机上的“back”用户,将alarm上的“share“共享目录加载到本地/mnt/doc目录
smbmount //alarm/share /mnt/doc �Co username=back