一、Samba linux
Samba服务 vim
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通讯协议,它为局域网内的不一样计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机经过该协议能够访问服务 器上的共享文件系统、打印机及其余资源。经过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。windows
做用:共享目录(smb协议)缓存
软件:samba 服务端, samba-client 客户端 服务器
配置文件:/etc/samba/smb.conf 网络
服务:smb, nmb tcp
端口:smb ---> 139/tcp, 445/tcp 提供文件共享功能ide
nmb ---> 137/udp, 138/udp 提供解析计算机名称测试
配置文件:/etc/samba/smb.confspa
全局配置
[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, 防火墙
[root@file-server ~]# setenforce 0
[root@file-server ~]# getenforce
Permissive
[root@file-server ~]# vim /etc/sysconfig/selinux
[root@file-server ~]# systemctl stop firewalld.service
[root@file-server ~]# systemctl disable firewalld.service
2) 安装软件
[root@file-server ~]# yum install -y samba samba-client
3) 编辑配置文件,共享/caiwu目录
[root@file-server ~]# mkdir /caiwu
[root@file-server ~]# touch /caiwu/{1..5}.mp3
[root@file-server ~]# vim /etc/samba/smb.conf
[caiwu]
comment = It is a test
path = /caiwu
browseable = yes
4) 建立共享用户
[root@file-server ~]# useradd martin
[root@file-server ~]# smbpasswd -a martin
New SMB password:
Retype new SMB password:
Added user martin.
[root@file-server ~]# pdbedit -L>>> 查看共享用户
martin:1001:
[root@file-server ~]#
5) 启动服务
[root@file-server ~]# systemctl start smb
[root@file-server ~]# systemctl enable smb
[root@file-server ~]# 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
取消用户宿主目录的共享
[root@file-server ~]# vim /etc/samba/smb.conf
#[homes]
# comment = Home Directories
# browseable = no
# writable = yes
[root@file-server ~]# systemctl restart smb
Linux客户端:
[root@client ~]# yum install -y samba-client
[root@client ~]# smbclient //192.168.122.105/caiwu -U martin
配置容许martin用户可上传文件
1) 编辑配置文件
[root@file-server ~]# vim /etc/samba/smb.conf
[caiwu]
...
writable = yes
[root@file-server ~]# systemctl restart smb
2) 设置目录的本地权限
[root@file-server ~]# setfacl -m u:martin:rwx /caiwu/
示例:
经过samba软件将本地的/shichang目录共享,容许martin用户下载文件,容许admin用户上传文件
1) 建立目录,建立共享用户
[root@file-server ~]# mkdir /shichang
[root@file-server ~]# touch /shichang/{1..5}.jpg
[root@file-server ~]#
[root@file-server ~]# useradd admin
[root@file-server ~]# smbpasswd -a admin
New SMB password:
Retype new SMB password:
Added user admin.
[root@file-server ~]#
[root@file-server ~]# pdbedit -L
martin:1001:
admin:1002:
[root@file-server ~]#
2) 编辑配置文件
[root@file-server ~]# vim /etc/samba/smb.conf
[shichang]
path = /shichang
browseable = yes
write list = admin
[root@file-server ~]# systemctl restart smb
[root@file-server ~]# chown admin /shichang/
[root@file-server ~]# ls -ldh /shichang/
drwxr-xr-x. 2 admin root 66 2月 21 12:00 /shichang/
[root@file-server ~]#
3) 测试访问
清除windows的共享缓存
net use * /del
windows设置网络映射驱动器访问共享