一。Samba 服务器介绍以安装
1.samba-~~.rpm
此包包括主程序包及相关文件
2.samba-common-~~.rpm
此包提供了服务器和客户端都需要的公共文件
3.samba-client-.~~.rpm
此包提供了客户端程序文件
4.system-config-samba
软件包用于提供图形界面管理程序(需要在X图形环境中使用),
5.samba-swat
软件包是一个Web方式的管理工具

二。配置文件介绍
服务脚本:/etc/rc.d/init.d/smb
主配置文件目录 :/etc/samba
主配置文件:  /etc/samba/smb.conf
lmhosts:提供主机名称与IP地址的对应数据,格式:IP netbios名称
smbusers :samba 用户别名,  需要在住配置文件smb.conf文件中的全局配置中加入:username map = /etc/Samba/smbusers
smb.conf 提供了全局配置【global】【home】【printe】【public】等配置:
【global】:全局配置,对整个服务器生效
【home】:用户共享目录,用户进来后在用户家目录中
【printe】打印共享
【public】公共共享,一定要设置好权限哦。
测试查看smb.conf文件
[root@localhost samba]# testparm smb.conf
Load smb config files from smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[lp0]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = MYGROUP
server string = Samba Server
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = No
cups options = raw
[homes]
comment = Home Directories
read only = No
browseable = No
[printers]
comment = All Printers
path = /usr/spool/samba
printable = Yes
browseable = No
[lp0]
comment = xmald_printers
path = /rallel:/dev/lp0
guest ok = Yes
printable = Yes
browseable = Yes
[root@localhost samba]#
三.建立可匿名访问的文件共享
1.主配置文件配置:smb.conf
常见全局配置项的含义
workgroup:所在工作组名称
server string:服务器描述信息
security:安全级别,可用值如下: 
   share: 可匿名访问
   user:由本服务器验证用户名和密码:
   server: 由另一台服务器验证用户名及密码
   domain: 由Windows域控制器验证用户名及密码
log file:日志文件位置,“%m”变量表示客户机地址
max log size:日志文件的最大容量,单KB常见共享目录配置项的含义
comment:对共享目录的注释、说明
path:共享目录在服务器中对应的实际路径
browseable:该共享目录在网上邻居”中是否可见
guest ok:是否允许所有人访问,类似于“public”
writable:是否可写,与read only的作用相反
valid users = lzy,@abc :表示用户lzy和abc组可以访问
write list = lzy,@abc   :表示用户lzy和abc组可以写入

建立可匿名访问的文件共享其他不变:
security  = share
public = yes

四。建立授权访问的文件共享
1.首先建立samba帐户
samba帐户和系统帐户相关联,然后用smbpasswd建立samba帐户即可,帐户保存在/etc/samba/smbpasswd文件中,如果没有看到smbpasswd文件可以通过修改配置文件,将
passdb backend = tdbsam 修改为 smb passwd file = /etc/samba/smbpasswd 即可

[root@localhost ~]# useradd lzy
[root@localhost ~]# smbpasswd -a lzy
New SMB password:
Retype new SMB password:
Added user lzy.
•smbpasswd命令的主要选项
-h:显示smbpasswd命令的帮助信息
-a:添加指定的Samba用户帐号
-d:禁用指定的用户帐号
-e:启用指定的用户
-x:删除指定的用户帐号
不使用任何命令选项时可以用于修改Samba用户的密码
主配置文件smb.conf中的配置[global]
   workgroup = WORKGROUP
   security = user

[public]
path=/tmp/linux
public=yes
[share]
comment = linux share server
path=/tmp/share
public=no
write list=lzy \\允许写入的用户列表

valid users=lzy,wh,@abc \\允许访问的用户列表,组的话要加@符号
invalid users=wh \\拒绝访问的用户列表,优先级比上面高
create mode = 640 \\很有用的参数,用户创建的文件默认权限


五。客户机访问
1.windows:网上邻居,UNC路径
2.linux:smbclient命令。mount挂载
[root@localhost samba]# smbclient -U wh //192.168.1.7/public \\访问samba共享
Password:
Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.23c-2]
smb: \> ls
. D 0 Thu Dec 10 23:05:04 2009
.. D 0 Thu Dec 10 22:49:19 2009
public D 0 Thu Dec 10 23:05:04 2009 57930 blocks of size 131072. 44966 blocks available
smb: \> cd public
smb: \public\>

smbclient -L 192.168.1.7 -U lzy \\查看samba共享
[root@localhost samba]# mount -o username=lzy //192.168.1.7/share /mnt \\挂载
Password:

六。samba服务对客户端IP地址或域名限制
   1.smb.conf文件
       hosts allow配置项: 仅允许特定的客户机,hosts deny :拒绝特定的客户机,如果定义在global全局选项中,针对这个SAMBA服务生效;如果定义在某一个共享目录中,则只对这个共享目录生效
实例1:hosts deny =  ALL
           hosts allow = 192.168.122. 192.168.2. 127.   只允许192.168.122.0/24,192.168.2.0/24和本机进行访问
实例2:hosts deny =  ALL
           hosts allow = 192.168.122.  EXCEPT 192.168.122.10 192.168.122.11   只允许除了192.168.122.10和11之外的192.168.122.0/24访问
      

  
六.Samba WEB管理工具
首先得安装xinetd包
[root@localhost /]# rpm -ivh /mnt/Server/xinetd-2.3.14-10.el5.i386.rpm
[root@localhost /]# rpm -ivh /mnt/Server/xinetd-2.3.14-10.el5.i386.rpm
修改:/etc/xinetd.d/swat文件
service swat
{
disable = no
port = 901 //WEB访问端口号
socket_type = stream
wait = no
only_from = 192.168.1.80 //改成客户机可以访问的IP地址
user = root
server = /usr/sbin/swat
log_on_failure += USERID
}

启动服务:chkconfig swat on
service xinetd restart~
客户机访问:http://192.1168.1.7:901