
samba服务器可使用户在异构网络操作系统之间进行文件系统共享;samba服务器提供了在Windows环境下共享Linux中用户目录的一个工具;linux中安装samba后,只需在windows中做一些登陆即可访问。Windows系统采用TCP/IP作为底层协议,发送NetBOIS请求,而在NetBOIS的上层,则采用SMB(server message block)协议作为高级接口,实现windows网络环境中的文件与打印等资源共享;SMB使用NetBOIS的应用程序接口API,端口一般为139,445;CIFS(common Internet File system)是增强版的SMB协议。samba服务器由smbd和nmbd两个守护进程组成,每个进程可单独启动,也可使用/etc/rc.d/init.d/smb启动;smbd:为windows用户提供文件与打印共享服务; nmbd:进行NetBIOS名解析,把windows SMB请求中信息中的NetBIOS名字映射为Linux中的IP地址。

以下在centos上操作:
linux系统的安装光盘放入光驱,并创建:mkdir /mnt/cdrommount /dev/cdrom /mnt/cdrom/etc/yum.repos.d/cdrom.repo:[cdrom]
name = cdrom
baseurl = file:///mnt/cdrom
gpgcheck = 0
enabled = 1以下在centos上操作(我使用这个方法):
.iso上传到linux上的root下,比如CentOS-7-x86_64-Everything-2003.iso;

iso目录,并将映射文件挂在到该目录下:mkdir /mnt/iso
mount -o loop /root/CentOS-7-x86_64-Everything-2003.iso /mnt/iso源文件/etc/yum.repos.d/iso.repo:[iso]
name = iso
baseurl = file:///mnt/iso
gpgcheck = 0
enabled = 1yum -y install sambarpm -qa | grep sambasamba服务:systemctl start smb.servicesystemctl stop smb.servicesamba服务:systemctl restart smb.servicesamba服务:systemctl reload smb.service
samba服务:systemctl enable smb.service
# 查看是否开机自启
systemctl list-unit-files | grep smb
samba服务:systemctl disable smb.servicesamba服务状态:systemctl status smb.service
/etc/samba下:


① 开头主要是介绍samba的作用; ② # : 为注释; ③ ;: 格式范例;
global主要是全局变量;[global]
workgroup = SAMBA # 设置samba的工作组
security = user
passdb backend = tdbsam
printing = cups
printcap name = cups
load printers = yes
cups options = raw字段 | 方法 | 说明 |
|---|---|---|
| workgroup=<工作组> | 设置 |
| server string=<说明> | 设置 |
| host allow= | 限制允许链接到 |
| security=<等级> | 设置访问的安全级别 |
| password level=<位数> | 密码长度 |
| username level=<位数> | 用户名长度 |
| encrypt passwords=<yes/no> | 设定是否对 |
| smd password file=<密码文件> | 设定 |
home、printer、自定义共享名;samba默认开启home、printer共享;[共享名]
字段 = 设置值
......字段 | 说明 |
|---|---|
| 注释说明 |
| 共享资源的完整路径 |
| 设置浏览资源时是否显示共享目录 |
| 设置是否允许匿名访问 |
| 是否以只读方式访问共享资源 |
| 是否允许用户写操作 |
| 设置指定用户 |
| 允许写操作的用户或组 |
/var/log/samba# smb.conf
log file = /var/log/samba/log.%m
max log size = 50
/etc/samba/smbpasswdsamba中添加账号命令为:smbpasswd -a 用户名smbclient命令:smbclient -L 目标IP地址或主机名 -U 登陆用户名%密码mount命令:mount -t cifs //目标IP地址或主机名/共享目录名 挂载点 -o username=用户名,password=密码linux的共享目录即可;linux的共享目录也可以;共享文件服务器,文件名为workgroup;目录为/mnt/public;共享名为public;允许所有人反问。
mkdir /mnt/public
touch /mnt/public/test1.txt /mnt/public/test2.txt 
smb.conf文件:[public]
comment = Public
path = /mnt/public
public = yes
browseable = yes
guest ok = yes
samba服务通过(应用程序-杂项-防火墙);Selinux设置成Permissive:getenforce
setenforce 0
getenforce
linux访问:smbclient //192.168.0.190/public -U root
root加入加入到samba账户中:smbpasswd -a root
windows访问,如果出现访问不了,需要开启SMB文件共享支持:



原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。