SMB(server message block)
CIFS(common internet file system)
可以跨平台 (windows/unix/unix like)
与NFS的相同点与不同点
相同点: 都可以做文件共享使用,都通过网络进行共享
不同点: samba有完备的验证方式,可以跨平台,nfs对用户验证方式少,不能跨平台
samba客户端挂载是使用的文件系统类型是cifs
nfs客户端挂载是使用的文件系统类型是nfs
NFS与samba同属NAS(网络附加存储)阵营
部署
# yum install samba samba-client samba-common -y
配置文件目录
/etc/samba
主配置文件
/etc/samba/smb.conf
74 workgroup = MYGROUP 工作组 (windows下可以在网上邻居看到同组的成员)
75 server string = Samba Server Version %v 服务器描述信息 %v版本号
89 log file = /var/log/samba/log.%m 日志的位置,%m代表主机名或IP地址
91 max log size = 50 单体日志文件大小
101 security = user 验证模式(share/user/server/domain/ads)
share 共享模式,不需要输入用户名密码
user 使用用户验证,这个用户必须是本地用户,但是密码是重新指定的
server 由其他服务器验证
domain 由windows域控制器来验证
ads 指定windows的活动目录来验证
248 [homes] 用户家目录共享参数
249 comment = Home Directories
250 browseable = no
251 writable = yes
252 ; valid users = %S
253 ; valid users = MYDOMAIN\%S
255 [printers] 共享打印机相关
282 ; [public] 自定义模板
283 ; comment = Public Stuff
284 ; path = /home/samba
285 ; public = yes
286 ; writable = yes
287 ; printable = no
288 ; write list = +staff
通过自定义模板先做一个共享的目录
#vi /etc/samba/smb.conf
---------------------------------------
101 security = share
289 [share] 共享目录名
290 comment = share directory 注释
291 path = /carson 本地共享目录路径
292 public = yes 允许匿名访问
293 writable = yes 可以写入
---------------------------------------
#mkdir /carson
#chmod o+w /carson
# service smb start
----windows----
使用windows访问\\IP
进行上传,下载的操作
----Linux----
#yum install samba-client -y
# smbclient -L 172.16.254.201 查看samba服务的共享目录
Enter root's password: 无密码直接按回车
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]
Sharename Type Comment
--------- ---- -------
share Disk share directory
IPC$ IPC IPC Service (Samba Server Version 3.6.9-151.el6)
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]
Server Comment
--------- -------
Workgroup Master
--------- -------
# smbclient //172.16.254.201/share 直接连接samba服务器
Enter root's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6]
Server not using user level security and no password supplied.
可以使用ls命令查看当前目录,使用put,get上传,下载文件
客户端安装mount.cifs命令
# yum install cifs-utils-4.8.1-18.el6.x86_64 -y
通过挂载使用samba共享目录
# mount -t cifs //172.16.254.201/share /mnt/cifs
password: 直接按回车
保证开机自动挂载时编写如下内容
#vi /etc/fstab
---------------------------
//172.16.254.201/share /mnt/cifs cifs defaults,password="" 0 0
---------------------------
将目录的模式从share改为user
----------------------------
101 security = user
292 ;public = yes 将允许匿名访问注释掉
----------------------------
#service smb restart
#useradd smb1
#echo 123456 | passwd smb1 --stdin
# smbpasswd -a smb1 给系统用户添加samba登录时的密码
New SMB password: 654321
Retype new SMB password: 654321
Added user smb1.
------------------
smbpasswd
-a 添加一个用户
-d 禁止一个用户
-e 解锁一个用户
-x 删除一个用户
------------------
使用windows/linux登录时要输入smbpasswd设置的密码
# smbclient -L 172.16.254.201 -U smb1 查看samba服务器共享了哪些目录
# smbclient //172.16.254.201/share -U smb1 指定用户,进入共享目录
# smbclient //172.16.254.201/smb1 -U smb1 指定用户,进入用户家目录
# mount //172.16.254.201/share /mnt/cifs -o user=smb1,password=654321 带有用户名,密码的挂载
#vi /etc/fstab
-----------------------------------
//172.16.254.201/share /mnt/cifs cifs defaults,user=smb1,password=654321 0 0
-----------------------------------
访问控制
share默认是没有访问控制的
user基于用户 可以对用户/组进行限制(读/写/浏览)
读:
read only = yes 只读
read list = 用户名 指定谁能读
写
writable = yes 可写
write list = 用户名 指定谁能写
有效用户
valid users = 用户名 或 @组名
public = yes 允许匿名用户访问
browseable = yes 能够在查看时显示这个共享目录
smb1只读,其他用户可以读写
writable = yes
read list = smb1
smb3可以读写,其他人只读
read only = yes
write list = smb3
smb0组成员有读写权限,其他人没有任何权限
writable = yes
valid users = @smb0
指定服务的监听端口
interfaces = lo eth0
设置网络访问控制网段
hosts allow = 127. 172.16.254.0/16 192.168.254.202
#netstat -antulp | grep :445
-------------------------
netstat
-a 显示所有链接
-n 以数字方式显示端口信息
-t tcp
-u udp
-l 显示listen状态的连接
-p 显示pid和进程名
-------------------------
http | http://IP (/var/www/html)
tcp/udp 80/ https(443)
ftp | ftp://IP (/var/ftp) ftp://user:password@IP(user's homeDir)
tcp/udp 20/21
nfs | IP:/dir(/dir 只有nfs使用绝对路径)
tcp/udp 2049 other port: /etc/sysconfig/nfs
samba | //IP/shareName(/etc/samba/smb.conf[shareName-->绝对路径的目录])
tcp/udp nmb: 137/138
tcp/udp smb: 139/445