前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux文件共享 samba_文件共享服务

linux文件共享 samba_文件共享服务

作者头像
全栈程序员站长
发布2022-11-09 21:25:34
3.7K0
发布2022-11-09 21:25:34
举报

大家好,又见面了,我是你们的朋友全栈君。

Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件 , 由服务器及客户端程序构成 ; SMB (Server Messages Block , 信息服务块) 是一种在局域网上共享文件和打印机的一种通信协议 , 它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务 ; SMB 协议是 客户机/服务器 型协议 , 客户机通过该协议可以访问服务器上的共享文件系统 , 打印机及其他资源 ; 通过设置 NetBIOS over TCP/IP 使得 Samba 不但能与局域网络主机分享资源 , 还能与全世界的电脑分享资源 ;

1. 安装 Samba

代码语言:javascript
复制
# yum install samba

2. 修改配置

Samba 的配置文件是在 /etc/samba/smb.conf

代码语言:javascript
复制
[global]
    workgroup = SAMBA   #samba的工作组 , 设置成 Windows 的工作组
    security = user   #安全选项 , 可以是 share , user , server , domain 安全级别递增
    passdb backend = tdbsam
    printing = cups
    printcap name = cups
    load printers = yes
    cups options = raw

[homes]   #共享默认会将用户的主目录共享 , 这是不安全的 , 可以将其注释
    comment = Home Directories
    valid users = %S, %D%w%S
    browseable = No
    read only = No
    inherit acls = Yes

[printers]   #打印机共享
    comment = All Printers
    path = /var/tmp
    printable = Yes
    create mask = 0600
    browseable = No

[print$]
    comment = Printer Drivers
    path = /var/lib/samba/drivers
    write list = root
    create mask = 0664
    directory mask = 0775

[rootdir]   #自定义的共享文件夹
    comment = LinuxRoot
    path = /   #共享的路径
    read only = No

修改时去掉 # 后面的备注

3. 添加 Samba 用户

代码语言:javascript
复制
# smbpasswd -a root

然后根据提示设置相应的密码 , 注意这里的用户必须是系统的已存在的用户

smbpasswd 命令是用于维护 Samba 服务器的用户帐号的 , 具体如下 :

代码语言:javascript
复制
// 添加 Samba 用户帐号 :
# smbpasswd -a sambauser 
// 禁用 Samba 用户帐号 :
# smbpasswd -d sambauser
// 启用 Samba 用户帐号 :
# smbpasswd -e sambauser
// 删除 Samba 用户帐号 :
# smbpasswd -x sambauser

4. 启动 Samba 服务

代码语言:javascript
复制
# service smb start

相关命令 :

代码语言:javascript
复制
// 停止 Samba 服务器的服务
# service smb stop
// 显示 Samba 服务器目前的状态
# service smb status
// 重新启动 Samba 服务器
# service smb restart

5. Windows 访问共享目录

直接 Windows + R , 在运行界面输入 \\192.168.0.150 , 也就是你的 Linux 主机地址 , 会弹出用户名密码输入界面 , 输入刚刚设置的用户名密码就可以访问

6. 其他命令

测试 smb.conf 文件的内容是否正确

代码语言:javascript
复制
# testparm

命令是配置文件测试工具,可以对smb.conf配置文件的语法进行检测,并显示当前配置的清单

7. 常见问题

如果 Windows 下访问 Linux 下共享目录 , 提示没有权限

  • 确保 Linux 下防火墙关闭或者是开放共享目录权限
  • 确保 Samba 服务器配置文件 smb.conf 设置没有问题
  • setlinux 关闭 , 可以用 # setenforce 0 命令执行 ; 默认 SELinux 禁止网络上对 Samba 服务器上的共享目录进行写操作 , 即使你在smb.conf中允许了这项操作 , /usr/bin/setenforce 修改SELinux的实时运行模式 , setenforce 1 设置SELinux 成为enforcing模式 , setenforce 0 设置SELinux 成为permissive模式 , 永久生效修改 /etc/selinux/config , 将 SELINUX=enforcing 改为 SELINUX=disabled

Samb 还需要开放下面四个端口

代码语言:javascript
复制
UDP 137 , UDP 138 , TCP 139 , TCP 445

个人网站: Github , 欢迎点击给星

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190025.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月24日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装 Samba
  • 2. 修改配置
  • 3. 添加 Samba 用户
  • 4. 启动 Samba 服务
  • 5. Windows 访问共享目录
  • 6. 其他命令
  • 7. 常见问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档