Samba

samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。

samba和NFS一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。samba的主配置文件:/etc/samba/smb.conf

samba监听端口

TCP : 139,445
UDP : 137,138

samba对应进程

nmbd :netbios
smbd :cifs
winbindd + ldap :Windows AD活动目录

samba用户

系统用户/etc/passwd : Samba服务自有密码文件通过smbpasswd -a USERNAME命令设置

smbpasswd命令:

-a Sys_User     //添加系统用户为samba用户并为其设置密码
-d              //禁用用户帐号
-e              //启用用户帐号
-x              //删除用户帐号

[root@localhost ~]# yum -y install samba-*
[root@localhost ~]# useradd tom
[root@localhost ~]# smbpasswd -a bts
New SMB password:
Retype new SMB password:
Added user bts.

samba安全级别

samba三个安全级别:user,server,domain
user:基于本地验证
server:由另一台指定的服务器对用户身份进行认证
domain:由域控进行身份验证

以前的samba版本支持的安全级别有四个,分别是share,user,server,domain
share是用来设置匿名访问的,但现在的版本已经不支持share了,但是还是可以实现匿名访问的
只是配置方式变了

samba主配置文件的三大组成

[global]:全局配置,此处的设置项对整个samba服务器都有效
[homes]:宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中
[printers]:打印机共享设置

安装配置:

配置匿名访问

服务端

//配置selinux
[root@master ~]# getsebool -a |grep samba
[root@master ~]# setsebool -P samba_enable_home_dirs on

//配置防火墙
[root@master ~]# firewall-cmd --permanent --add-rich-rule=“rule family=ipv4 source address=192.168.161.0/24 service name=samba accept”
[root@master ~]# firewall-cmd --permanent --add-rich-rule=“rule family=ipv4 source address=192.168.161.0/24 service name=samba-client accept”
[root@master ~]# firewall-cmd --reload

//下载服务
[root@master ~]# yum install samba -y
//编辑配置文件
[root@master ~]# vim /etc/samba/smb.conf
[global]
map to guest = Bad User
[chen]
comment = this is chen
path = /share/
browseable = yes
public = yes
writable = yes
guest ok = yes
创建共享目录:
[root@master ~]# mkdir /share
[root@master ~]# chmod 777 /share/
//加入开机自启动并重启服务
[root@master ~]# systemctl enable smb nmb
[root@master ~]# systemctl restart smb nmb

客户端

//查看共享了哪些目录
[root@slave ~]# smbclient -L 192.168.161.15 -U ‘Bad User’
Enter SAMBA\Bad User’s password:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
chen Disk this is chen
//创建挂载目录
[root@slave ~]# mkdir /smb
[root@slave ~]# mount -t cifs //192.168.161.15/shuai /smb -o username=‘Bad User’
[root@slave ~]# df -h
//192.168.161.15/chen 17G 2.6G 15G 16% /smb
[root@slave ~]# cd /smb/
[root@slave smb]# touch haha
[root@slave smb]# ls
haha
服务端验证:
[root@master ~]# cd /share/
[root@master share]# ls
haha

配置用户认证访问
服务端

[root@master ~]# useradd cat
//为cat用户创建smb共享密码
[root@master ~]# smbpasswd -a cat
New SMB password:
Retype new SMB password:
Added user cat.
//编辑配置文件
[root@master ~]# vim /etc/samba/smb.conf
[global]
username map = /etc/samba/smbusers
[cat]
comment = this is cat
path = /cat
browseable = yes
guest ok = yes
writable = yes
write list = ceshi
public = yes
//假设这里映射cat用户为ceshi用户,那么就要在/etc/samba/smbusers(这个文件自己创建,取名随意)文件中添加如下内容:
[root@master ~]# echo ‘cat = ceshi’ > /etc/samba/smbusers
//创建共享目录
[root@master ~]# mkdir /cat
[root@master ~]# chown -R cat.cat /cat/
//加入开机自启动并重启服务
[root@master ~]# systemctl enable smb nmb
[root@master ~]# systemctl restart smb nmb

客户端

//查看共享了哪些目录
[root@slave ~]# smbclient -L 192.168.161.15 -U ceshi
Enter SAMBA\ceshi’s password: (这里密码输入前面设置的cat密码)
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
cat Disk this is cat
//创建挂载目录
[root@slave ~]# mkdir /smb2
[root@slave ~]# mount -t cifs //192.168.161.15/cat /smb2/ -o username=ceshi,password=1
[root@slave ~]# df -h
//192.168.161.15/cat 17G 2.6G 15G 16% /smb2
[root@slave ~]# cd /smb2/
[root@slave smb2]# touch lala
[root@slave smb2]# ls
lala
服务端验证:
[root@master ~]# cd /cat/
[root@master cat]# ls
lala

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值