一、什么是Samba?

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
实现Windows主机与Linux服务器之间的资源共享。

 

二、安装samba

检查是否安装samba

> rpm -qa|grpe samba

如果存在则卸载重新安装

> rpm -evh --nodeps samba-common-XXX
> rpm -evh --nodeps samba-client-XXX

安装samba

> yum install samba samba-client samba-common

samba的配置文件

/etc/samba/smb.conf

samba服务的组成
1、SMB 核心启动服务,实现文件的共享
2、NMB 负责解析用,类似DNS实现的功能

samba的启动,关闭,重启

> systemctl start/stop/restart smb.service

 

三、samba的配置文件

> cd /etc/samba

备份配置文件

> cp smb.conf smb.conf.bak
> vi smb.conf
#全局配置
[global]
#用来定义工作组
workgroup = test
#用来定义Windows中显示出来的计算机名称
netbios name = test
#samba服务器的说明信息
server string = my test samba server
#日志文件
log file = /var/log/samba/%m.log
#定义数据共享的方式(user,share,server,domain)
#user表示需要密码验证后才能共享数据
#share表示可以直接共享数据
security = user
map to guest = Bad User
#设定Windows中显示出来的共享目录名称
[test]
#共享目录
path = /data/test
#是否可写
writeable = yes
#是否可以在Windows工作组下看到共享文件夹
browseable = yes
#定义匿名用名是否可以登录
guest ok = yes

我们建立共享目录

> mkdir /data/test

因为需要匿名用户可以上传下载,所以设置nobody

> chown -R nobody.nobody /data/test

重启smb服务

> systemctl restart smb.service

  

四、通过samba客户端工具

查看samba服务器的共享资料

> smbclient -L //服务器IP -U 用户名

创建samba用户(用户必须先是系统用户)

> useradd test
> pdbedit -a test

删除samba用户

> pdbedit -x test

查看共享资料

> smbclient -L //192.168.116.222/test -U test

登陆samba服务器

> smbclient //192.168.116.222/test -U test

  

五、配置授权登录samba服务的用户

1、添加一个系统用户

> useradd -d /data/smb1 -s /sbin/nonlogin smb1

2、创建samba登录用户(smbpasswd是通过读取/etc/passwd中存在的用户名,来设置密码)

> smbpasswd -a smb1

3、然后输入密码,确认密码等
4、配置smb.conf文件

[global]
workgroup = test
netbios name = test
server string = my test samba server
log file = /var/log/samba/%m.log
#日志大小
max log size = 50
security = user
#设定用户密码是否加密
encrypt passwords = yes
#samba的密码文件
smb passwd file = /etc/samba/smbpasswd
[smb1]
path = /data/smb1
#注释说明
comment = this is smb1
#可访问的用户
valid users = smb1
#客户端创建文件的默认权限
create mask = 664
#客户端创建目录的默认权限
directory mask = 775
writeable = yes
browseable = yes

5、重启samba服务器

6、在Windows上通过\\192.168.1.222\smb1来进行访问,输入用户名smb1和密码。

7、如果已经在上面用windows登陆过samba服务器,如果用户改变了,需要我们重新登入。
进入cmd,然后输入net use查看现有连接,执行net use * /del删除所有连接。

8、如果访问samba服务器,出现您可能没有权限使用网络资源,可以暂时关掉selinux

> setenforce 0

  

posted on 2017-04-22 16:40  怀素真  阅读(956)  评论(0编辑  收藏  举报