与smaba服务器相关的协议:
CIFS:Common Internet File System(通用互联网文件系统)
SMB:Server Message Block(服务信息块)
NETBIOS:Network Basic Input Output System(网络基本输入输出系统,主要用于在windows上解析主机名)
windows中通过UNC (Universal Naming Convention,通用命名规则),访问服务器共享文件,格式为:
\\IP\sharefile_name
在服务器端如果想要共享多个文件,需要使用不同的共享名称
smaba使用的端口号:
137/udp,138/udp,139/tcp主要用于netbios服务(nmbd)
445/tcp主要用于共享文件(smbd)
samba受selinux控制,因此运行此服务时,最好先将selinux关闭
samba server 配置为需要验证账号和密码时,账号是系统上的用户,密码是将该用户加入samba用户列表中时设定的密码
文件共享权限:取决于共享权限和文件系统权限
samba配置和安装
yum install samba3x-client samba3x-common samba3x sambax-swat
samba3x-client:客户端工具
samba3x-common:客户端和服务器端通用软件
samba3x:服务器端
samba3x-swat:可通过浏览器图形界面配置samba
服务启动脚本
/etc/rc.d/init.d/smb 该脚本控制nmbd smbd两个服务
/etc/samba/smb.conf smaba主配置文件
/etc/samba/smbusers:将linux上用户映射为windows用户
共享文件时,在配置文件中添加以下内容即可:
[shared_name] 共享名称
comment = 注释
path = 共享文件路径
browseable = 是否可以被浏览
public = 是否允许匿名访问(相当于guest ok)
read only | writable = 是否只读
write list = user1, user2,@group, +group允许具有写权限的用户或组
valid users = 白名单
invalid users = 黑名单
testparm 测试配置文件是否有错误
service smb start 启动服务
smbpasswd
-a 添加系统用户为smaba上的用户
-x 删除smaba上的用户
-d 禁用smaba上的用户
-e 启用smaba上禁用的用户
smbpasswd -a hadoop添加系统账号为samba账号
setfacl -m u:hadoop:rwx /share/test 设定hadoop用户对共享文件具有读写可执行权限
客户端命令
smbclient
-L NetBIOS_Name 指定访问的主机
-U username指定用户名
用法示例:
smbclient -L 192.168.0.6 匿名访问192.168.0.6主机上的共享文件
smbclient -L 192.168.0.6 -U hadoop 以hadoop用户的身份访问共享文件
smbclient //192.168.0.66/test -U usrname
lcd 切换到本地目录(!cd)
pwd:显示共享文件路径
!pwd:显示本地路径
将共享文件挂载到本地
mount -t cifs //192.168.0.66/tools /mnt -o username=hadoop
-t指定文件系统 -o指定用户
开机自动挂载
编辑/etc/fstab,添加一项内容
//192.168.0.66/tools /mnt cifs credentials=/etc/samba/passwd 0 0
创建文件/etc/samba/passwd,写入用户名和密码,如下所示
username=hadoop
password=redhat
修改文件权限
chmod og=--- /etc/samba/cred.passwd
即可实现自动挂载
samba的访问控制
基于iptables的访问控制
根据实际需要开放或关闭137、138、139、445端口即可
修改samba配置文件,实现访问控制
hosts allow =
samba-swat 基于web的图形配置界面
守护进程:
standalone独立守护进程
transient,短暂(瞬时守护进程
xinetd 超级守护进程
启用swat服务(配置文件/etc/xinetd.d/swat):
chconfig swat on
service xinetd restart
配置文件/etc/xinetd.d/swat
等过浏览器登录 http://IP:901即可实现图形界面配置samba