一、Samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。
二、关闭SELinux和防火墙
a、临时关闭(不用重启机器):
b、修改配置文件需要重启机器:
将SELINUX=enforcing 改为SELINUX=disabled(需重启机器)
c、可自己做策略开放相应端口,这里我直接关闭:
三、安装Samba服务
①直接yum安装
②启动并查看Samba
四、配置Samba服务
①配置
=================== Global Settings[全局选项] ==============================
[global]
workgroup = WORKGROUP
server string = Samba Server Version %
v
netbios name = zhi
map to guest = bad user
log
file
=
/var/log/samba/log
.%m
max log size = 50
security = share
passdb backend = tdbsam
[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
[public]
comment = Public Stuff
path =
/home/samba
public =
yes
writable =
yes
printable = no
write list = +staff
注:
+ =====》 只在本机的密码文件组中查找
& =====》只在nis服务中查找
@ =====》先通过NIS服务器查找,nis找不到再到本机查找
②测试语法
③建立共享目录
五、测试
①在windows下输入\\192.168.10.128访问
②在Linux下输入smbclient //192.168.10.128/public访问
③配置只允许个别用户访问
a、配置smb.conf,添加如下
[
time
]
comment = Ashes Of Time
path =
/share/time
valid
users
= zhi
write list = zhi
printable = no
create mask = 0755
directory mask = 0755
b、建立共享目录、添加相应用户和组
注: 可使用命令smbpasswd -a + 用户名为该用户添加Samba密码,但用户必须是系统用户。
c、验证
windows客户端验证:
在"这台电脑"右键,"映射网络驱动器"
提示输入用户名密码
输入后
并会在这台电脑上显示
错误:输入用户名、密码后弹出如下内容:
“指定的网络文件夹目前是以其他用户名和密码进行映射的。要用其他用户名和密码进行连接,首先请断开所有现有的连接到网络共享的映射。”
解决:使用命令net use查看
然后使用命令net use * /delete结束所有连接,即可连接。
Linux客户端验证:
$ smbclient -L 192.168.10.128 -U zhi
$ smbclient
//192
.168.10.128
/time
-U zhi
问题:能下载不能上传
解决:
已经可以上传了
Linux进行挂载
$
sudo
apt-get
install
cifs-utils
$
sudo
mkdir
/mnt/samba
$
sudo
mount
-t cifs
//192
.168.10.128
/time
/mnt/samba
-o username=zhi
Linux实现自动挂载
$
sudo
vi
/etc/fstab
//192
.168.10.128
/time
/mnt/samba
cifs credentials=
/etc/samba/zhi
.
passwd
0 0
$
sudo
vi
/etc/samba/zhi
.
passwd
username=zhi
password=abcdef
$
sudo
chmod
og=---
/etc/samba/zhi
.
passwd
$
sudo
umount
/mnt/samba
$
sudo
mount
-a
$
ls
/mnt/samba/
附:Ubuntu下安装配置Samba的wiki:
http://wiki.ubuntu.org.cn/Samba