安装:
[root@bogon ~]# yum install samba …… Installing : samba-winbind-clients-3.5.5-68.fc14.1.i686 1/3 Installing : samba-common-3.5.5-68.fc14.1.i686 2/3 Installing : samba-3.5.5-68.fc14.1.i686 3/3 Installed: samba.i686 0:3.5.5-68.fc14.1 Dependency Installed: samba-common.i686 0:3.5.5-68.fc14.1 samba-winbind-clients.i686 0:3.5.5-68.fc14.1 Complete!
smaba通过两个服务来控制 :
nmbd:这个进程主要用来管理工作组,NETBIOS解析,主要用udp137,138端口来解析业务
smbd:这个进程主要用来管理主机的文件共享 ,主要利用tcp协议来传输数据
example:
1、配置服务
[global] workgroup = MYGROUP #工作组 server string = Samba Server Version %v #服务器简要说明 #hosts allow = 127. 192.168.12. 192.168.13. #指定可以访问的网段 # log files split per-machine: log file = /var/log/samba/log.%m #日志文件存放位置 # maximum size of 50KB per log file, then rotate: max log size = 50 #日志文件达到50KB时,循环创建下一个日志文件 security = user #验证模式,user表示需要输入验证用户名和密码,这里有三个选项,share表示不需要密码验证,domain 使用外部服务器的密码,亦即 SAMBA 是客户端之意,如果设定这个项目, 你还得要提供『password server = IP』的设定值才行; passdb backend = tdbsam # the following login script name is determined by the machine name # (%m): # the following login script name is determined by the UNIX user used: # use an empty path to disable profile support: # various scripts can be used on a domain controller or a stand-alone # machine to add or delete corresponding UNIX accounts: load printers = yes cups options = raw # obtain a list of printers automatically on UNIX System V systems: [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes [httpd_www] #在客户端显示的共享名 comment = Public Stuff #目录说明 path = /var/www #共享的目录路径 public = yes browseable = yes #可以浏览目录内的文件 writable = yes #有写权限 create mode = 766 #用户创建的文件的默认权限 directory mode = 777 #用户创建的目录的默认权限
2、开启服务并添加用户
[root@j071 ~]# /etc/init.d/smb start Starting SMB services: [ OK ] [root@j071 ~]# /etc/init.d/nmb start Starting NMB services: [ OK ] [root@j071 ~]# 添加用户 [root@j071 ~]# smbpasswd -a test1 New SMB password: Retype new SMB password: Added user test1. 查看添加是否有帐户信息 [root@j071 ~]# pdbedit -L test1:503: [root@j071 ~]#3、调试selinux
[root@j071 ~]# getsebool -a | grep -E "sam"
samba_create_home_dirs --> on
samba_domain_controller --> on
samba_enable_home_dirs --> on
samba_export_all_ro --> on
samba_export_all_rw --> on
samba_run_unconfined --> on
samba_share_fusefs --> on
samba_share_nfs --> on
use_samba_home_dirs --> on
virt_use_samba --> on
[root@j071 ~]#
4,OK ,用windows访问服务器IP地址,已经可以用test1用户访问到目录了
linux 客户端连接
[root@bogon ~]# smbclient //192.168.73.173/httpd_www -U test1 Enter test1's password: Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.5-68.fc14] smb: > dir . D 0 Mon Apr 23 18:15:40 2012 .. D 0 Wed Mar 28 23:02:10 2012 cgi-bin D 0 Thu Jul 7 03:28:49 2011 testfileb.txt A 0 Mon Apr 23 18:15:34 2012 html D 0 Mon Apr 23 18:00:44 2012 icons D 0 Wed Mar 28 21:54:57 2012 testfile.txt A 0 Mon Apr 23 18:11:08 2012 error D 0 Wed Mar 28 21:54:57 2012 61025 blocks of size 524288. 27879 blocks available smb: >
mount 挂载
[root@bogon ~]# mount //192.168.73.173/httpd_www /mnt/j071www -o username=test1,password=test1 挂载成功 [root@bogon ~]# mount | grep httpd //192.168.73.173/httpd_www on /mnt/j071www type cifs (rw,username=test1,password=test1) [root@bogon ~]#
写到 fstab 表
//192.168.73.173/httpd_www /mnt/j071www cifs defaults,soft,intr,username=test1,password=test1 0 0
使用cifs文件系统
写上用户名和密码是为了不用每次开机都输入一次用户名和密码
samba服务共享目录不能做扫描
其它工具
smbpasswd -a user 添加用户
smbpasswd -x user 删除用户
testparm 检测samba语法
smbclient linux客户端工具
smbclient -L 192.168.73.173 -U username 使用指定用户,查看主机共享的目录