Samba
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
第一部分为匿名访问samba服务器,不需要单独创建samba用户。
第二部分为用户形式访问samba服务器,需要创建linux用户并且设置为samba用户以及samba用户的密码。注意修改访问形式为user.
一、安装samba
cd /media/RHEL6.5 x8664 Disc 1/Packages //来到镜像安装包文件夹下
rpm -ivh samba-3.6.9 //此处安装的是3.6.9版本
[root@localhost Packages]# rpm -q samba //查询已经安装的samba
samba-3.6.9-164.el6.x86_64
二、修改配置文件
cd /etc/samba //来到samba 配置文件的目录下
vi smb.conf //打开samba主要配置文件
修改以下内容:
security = share
[public]
comment = Public Stuff
path = /home/myshare
public = yes
writable = yes
; printable = no
; write list = +staff
然后保存退出
:wq
如果此处 使用
security= user
map to guest = bad user
来指定匿名访问
可能会出现不可预料的错误,比如指定的网络名不再可用。
三、关闭防火墙
service iptables stop //临时关闭防火墙
chkconfig iptables off //关闭开机启动iptables
cd /etc/selinux
vi config
selinux=permissive //修改selinux 为允许
然后重启设备使之生效。
shutdown -r now
四、创建共享文件夹并修改权限
cd /home //来到指定目录新建共享文件夹和文件
mkdir myshare
chmod 777 myshare/ //开放该文件夹所有权限
cd myshare
touch abc.txt
注意文件夹名和配置中的路径要一致。
注意要关闭防火墙
注意要开启samba服务 (service smb start)
注意 注意:
centos7中
需要注意samba 版本
在samba4中share 和 server验证方式已被弃用
需将:security = share
改为:
security = user
map to guest = Bad User
控制服务的命令也换成了systemctl [选项]+[服务]
第二部分 用户形式访问samba
一、创建用户
创建linux用户并且添加到samba用户组中。
groupadd sambausers //创建组
useradd -g sambausers sambauser1 //创建用户并添加到组中
passwd sambauser1 //设置用户密码
smbpasswd -a sambauser1 //添加用户成为samba用户,并设置samba用户密码。
二、修改配置文件
vi /etc/samba/smb.conf
security = user //修改访问形式为用户访问
esc
:wq
service smb restart //重启samba服务
修改配置文件,成为用户访问形式。
如果有一些特殊要求,可以再相应的共享下添加参数来进行调控
例如
path = //共享目录路径
validusers = XXX / @GGG //有效的用户/组 组名前需要加@
write list = 允许写入该共享的用户 (优先级大于共享是否可写)
guest ok = yes // 允许匿名访问
public = yes/no // 同上
writable = yes /no //指定该共享是否可写
read only =yes/no //同上
browseable = yes/no //用来指定该共享是否可以浏览(是否在目录中显示)
更多参数可以参考
注意防火墙是否开放了相应端口。
注意修改参数后需要重启smb服务