Samba服务概述
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源
文章目录
Samba服务配置
安装 samba 服务
[root@localhost /]# yum -y install samba
作为依赖被安装:
pyldb.x86_64 0:1.5.4-1.el7 python-tdb.x86_64 0:1.3.18-1.el7
更新完毕:
samba.x86_64 0:4.10.4-11.el7_8
作为依赖被升级:
libldb.x86_64 0:1.5.4-1.el7
libsmbclient.x86_64 0:4.10.4-11.el7_8
libtalloc.x86_64 0:2.1.16-1.el7
libtdb.x86_64 0:1.3.18-1.el7
libtevent.x86_64 0:0.9.39-1.el7
libwbclient.x86_64 0:4.10.4-11.el7_8
pytalloc.x86_64 0:2.1.16-1.el7
samba-client.x86_64 0:4.10.4-11.el7_8
samba-client-libs.x86_64 0:4.10.4-11.el7_8
samba-common.noarch 0:4.10.4-11.el7_8
samba-common-libs.x86_64 0:4.10.4-11.el7_8
samba-common-tools.x86_64 0:4.10.4-11.el7_8
samba-libs.x86_64 0:4.10.4-11.el7_8
备份配置文件
[root@localhost /]# cd /etc/samba
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.example
[root@localhost samba]# cp -p smb.conf smb.conf.bak
匿名登录配置
编辑配置文件
[global] ##全局配置
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
map to guest = Bad User ##添加此项,开启匿名用户访问
[myshare] ##添加的share文件
path=/mulu/share1 ##路径
public=yes ##公共访问
browseable=yes ##能够访问
writable=yes ##允许有写的权限
create mask=0644 ##设置权限
directory mask=0755
[root@localhost samba]# cd /mulu/
[root@localhost mulu]# chmod 777 share1/
测试登录
[root@localhost mulu]# cd share1/
[root@localhost share1]# ll
总用量 0
-rw-r--r--. 1 nobody nobody 0 7月 19 12:14 win7ceshi.txt
可以看到属主和属组都是nobody
身份验证smb登录
配置文件
[root@localhost share1]# mkdir /mulu/share2
[root@localhost share1]# vim /etc/samba/smb.conf
# map to guest = Bad User
[share2]
path=/mulu/share2
# public=yes 这行注释掉
browseable=yes
create mask=0644
directory mask=0755
valid users=tom,jerry #允许访问的用户
write list=jerry #允许写入的用户
[root@localhost share1]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.
[root@localhost share1]# useradd jerry
[root@localhost share1]# smbpasswd -a jerry
New SMB password:
Retype new SMB password:
Added user jerry.
[root@localhost share1]# chmod 777 /mulu/share2
测试登录
使用tom登录,发现没有写入权限
而使用jerry登录,就一切正常
注:win7下若要切换用户,记得 cmd下输入 net use * /d
账户别名登录
配置文件
[root@localhost share1]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts smb.com.bak smb.conf smb.conf.example
[root@localhost samba]# touch smbbm #创建一个等会读取别名的文件
[root@localhost samba]# vim smbbm
jerry = bm01 bm02
再配置主配置文件
[root@localhost samba]# vim smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw
# map to guest = Bad User
username map = /etc/samba/smbbm #指向刚刚创建的文件
测试登录
访问控制列表
编辑配置文件
[share2]
path=/mulu/share2
# public=yes
browseable=yes
create mask=0644
directory mask=0755
valid users=tom,jerry
write list=jerry
hosts deny = 20.0.0.12 #加入这行,禁止win7的IP登录
#也可以输入网段,比如 20.0.0.
[root@localhost samba]# systemctl reload smb
测试登录
CenOS访问Win7的samba
创建文件夹
创建一个文件夹,取名 samnet
在文件夹中创建一个txt文件,且输入内容
开启win7的guest用户
编辑本地策略
注意这两条的用户权限
进行文件夹共享
从centos访问
[root@localhost /]# smbclient -L 20.0.0.12
Enter SAMBA\root's password:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk 远程管理
C$ Disk 默认共享
D$ Disk 默认共享
F$ Disk 默认共享
IPC$ IPC 远程 IPC
samnet Disk
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 20.0.0.12 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
[root@localhost /]# mount.cifs //20.0.0.12/samnet /gz
Password for root@//20.0.0.12/samnet:
[root@localhost /]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 50G 6.9G 44G 14% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 181M 834M 18% /boot
/dev/mapper/centos-home xfs 245G 33M 245G 1% /home
tmpfs tmpfs 378M 4.0K 378M 1% /run/user/42
tmpfs tmpfs 378M 48K 378M 1% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
//20.0.0.12/samnet cifs 200G 96M 200G 1% /gz
挂载成功
[root@localhost /]# cd gz
[root@localhost gz]# ls
shangchuan.txt
[root@localhost gz]# cat shangchuan.txt
֢oˇwindows 7 µŎļþ #编码原因
[root@localhost gz]#