linux文件服务之Samba

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux文件服务之Samba相关的知识,希望对你有一定的参考价值。

1、Samba   

         

Samba服务 

          Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务          器上的共享文件系统、打印机及其他资源。通过设置“NetBios over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。


作用:共享目录(smb协议)

软件:samba 服务端, samba-client 客户端 

配置文件:/etc/samba/smb.conf 

服务:smb, nmb 

端口:smb ---> 139/tcp,  445/tcp    提供文件共享功能

 nmb ---> 137/udp,  138/udp 提供解析计算机名称

配置文件:/etc/samba/smb.conf


全局配置


[global]

        workgroup = MYGROUP>>>设置工作组名称

        server string = Samba Server Version %v>>>显示samba软件版本信息


interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24>>>samba服务监听的IP地址


hosts allow = 127. 192.168.12. 192.168.13.>>>设置仅允许哪些主机可访问

hosts deny = 192.168.12.  192.168.1.1/24>>>拒绝哪些主机可访问

security = user>>> 基于用户认证的访问 

share>>> 匿名访问

共享目录配置


[共享名称]

comment = >>> 描述信息

path = /bj>>> 指定目录名称

browseable = yes >>> 可下载文件

writable = yes >>> 可上传文件

public = yes >>> 允许所有用户访问 

write list = user1>>> 仅允许user1可上传文件 


示例: 


环境描述:

Linux    192.168.122.105Centos 7.2 文件共享服务器

Windows/Linux 客户端 

需求:

通过samba软件将本地的/caiwu目录共享, 客户端可通过martin用户访问,仅允许其下载文件  

1) 关闭SELinux, 防火墙 


[[email protected] ~]# setenforce 0

[[email protected] ~]# getenforce 

Permissive

[[email protected] ~]# vim /etc/sysconfig/selinux 


[[email protected] ~]# systemctl stop firewalld.service 

[[email protected] ~]# systemctl disable firewalld.service 

2) 安装软件  


[[email protected] ~]# yum install -y samba samba-client

3) 编辑配置文件,共享/caiwu目录


[[email protected] ~]# mkdir /caiwu

[[email protected] ~]# touch /caiwu/{1..5}.mp3

[[email protected] ~]# vim /etc/samba/smb.conf 

        [caiwu]

        comment = It is a test

        path = /caiwu

        browseable = yes


4) 创建共享用户 


[[email protected] ~]# useradd martin

[[email protected] ~]# smbpasswd -a martin

New SMB password:

Retype new SMB password:

Added user martin.


[[email protected] ~]# pdbedit -L>>> 查看共享用户

martin:1001:

[[email protected] ~]# 



5) 启动服务 


[[email protected] ~]# systemctl start smb

[[email protected] ~]# systemctl enable smb

 

[[email protected] ~]# ss -antp | grep smbd

LISTEN     0      50           *:139                      *:*                   users:(("smbd",pid=2804,fd=38))

LISTEN     0      50           *:445                      *:*                   users:(("smbd",pid=2804,fd=37))

LISTEN     0      50          :::139                     :::*                   users:(("smbd",pid=2804,fd=36))

LISTEN     0      50          :::445                     :::*                   users:(("smbd",pid=2804,fd=35))

6) 测试访问 


Windows客户端: 


\\192.168.122.105


取消用户宿主目录的共享

[[email protected] ~]# vim /etc/samba/smb.conf 


#[homes]

#       comment = Home Directories

#       browseable = no

#       writable = yes


[[email protected] ~]# systemctl restart smb

Linux客户端:


[[email protected] ~]# yum install -y samba-client


[[email protected] ~]# smbclient //192.168.122.105/caiwu -U martin

配置允许martin用户可上传文件  


1) 编辑配置文件 


[[email protected] ~]# vim /etc/samba/smb.conf 

[caiwu]

...

writable = yes 

[[email protected] ~]# systemctl restart smb


2) 设置目录的本地权限  


[[email protected] ~]# setfacl -m u:martin:rwx /caiwu/

示例: 


通过samba软件将本地的/shichang目录共享,允许martin用户下载文件,允许admin用户上传文件  

1) 创建目录,创建共享用户 


[[email protected] ~]# mkdir /shichang

[[email protected] ~]# touch /shichang/{1..5}.jpg

[[email protected] ~]# 

[[email protected] ~]# useradd admin

[[email protected] ~]# smbpasswd -a admin

New SMB password:

Retype new SMB password:

Added user admin.

[[email protected] ~]# 

[[email protected] ~]# pdbedit -L

martin:1001:

admin:1002:

[[email protected] ~]# 



2) 编辑配置文件


[[email protected] ~]# vim /etc/samba/smb.conf 


[shichang]

    path = /shichang

    browseable = yes

    write list = admin


[[email protected] ~]# systemctl restart smb


[[email protected] ~]# chown admin /shichang/

[[email protected] ~]# ls -ldh /shichang/

drwxr-xr-x. 2 admin root 66 2月  21 12:00 /shichang/

[[email protected] ~]# 

3) 测试访问 


清除windows的共享缓存 

net use * /del 

windows设置网络映射驱动器访问共享  


本文出自 “lyw666” 博客,请务必保留此出处http://lyw666.blog.51cto.com/12823216/1957466

以上是关于linux文件服务之Samba的主要内容,如果未能解决你的问题,请参考以下文章

Linux之Samba文件共享

Linux文件共享之Samba服务器的配置

Linux网络文件共享服务之SAMBA 服务

Linux 服务器搭建之Samba服务

samba之linux作为服务端提供文件共享服务

Linux网络文件共享服务之smaba