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/cdrom
mount /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 = 1
yum -y install samba
rpm -qa | grep samba
samba
服务:systemctl start smb.service
systemctl stop smb.service
samba
服务:systemctl restart smb.service
samba
服务:systemctl reload smb.service
samba
服务:systemctl enable smb.service
# 查看是否开机自启
systemctl list-unit-files | grep smb
samba
服务:systemctl disable smb.service
samba
服务状态: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/smbpasswd
samba
中添加账号命令为: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 删除。