1. 安装Samba服务

yum -y install samba
# 查看yum源中Samba版本
yum list | grep samba
# 查看samba的安装情况
rpm -qa | grep samba

Samba服务器安装完之后, 会生成配置文件目录/etc/samba, /etc/samba/smb.conf是samba的核心配置文件.

2. 启动Samba服务

Samba服务安装完成之后有两种方法启动:

service smb start/stop/restart/status
# 或者
systemctl start/stop/restart/status smb.service # 设置smb服务开机启动
systemctl enable smb.service

3. 开放Samba服务使用到的端口号

Samba服务会用到如下的一些端口号:

  • 137(UDP): NetBIOS名字服务
  • 138(UDP): NetBIOS数据报服务
  • 139(TCP): 文件和打印共享
  • 389(TCP): 用于LDAP
  • 445(TCP): NetBIOS服务在windows 2000及以后使用此端口
  • 901(TCP): 用于SWAT, 网页管理Samba

如果不想关闭防火墙的话, 就要在CentOS中放开Samba使用到的TCP端口号

firewall-cmd --zone=public -add-port=/tcp --permanent
firewall-cmd --zone=public -add-port=/tcp --permanent
firewall-cmd --zone=public -add-port=/tcp --permanent
firewall-cmd --zone=public -add-port=/tcp --permanent firewall-cmd --reload # 查看已经放开的端口号
firewall-cmd --list-all

4. 配置Samba服务

配置匿名访问, 任何人都可以访问的共享目录

  1. 创建共享目录
mkdir /opt/shares

# 因为需要设置匿名用户可以上传下载文件, 所以需要给shares目录授予nobody权限
chown -R nobody:nobody /opt/shares
  1. 修改/etc/samba/smb.conf文件
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi /etc/samba/smb.conf

修改配置如下:

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it. [global]
workgroup = SAMBA
security = user
map to guest = Bad User
log file = /var/log/samba/log.%m [public]
comment = Public Stuff
path = /opt/shares
public = yes
read only = No

其中 path就是上边设置的共享目录, read only 表示是否有写权限

  1. 修改完配置文件之后重启samba服务
systemctl restart smb.service
  1. 测试smb.conf配置是否正确
# 使用testparm命令
testparm
  1. 至此就配置完成, 可以从Windows下访问samba的共享目录.

配置指定用户可以访问的共享目录

设置共享目录, 只允许指定用户组的用户访问

  1. 添加工作组cnki和用户share
groupadd cnki
# useradd -g 组名 用户名
useradd -g cnki share
# 设置用户share的密码
passwd share #删除用户
userdel -r 用户名
  1. 把要访问的账户添加到samba的账户中

光添加系统账户还不够, 需要把已经存在的系统账户添加到samba中才可以访问共享目录

# smbpasswd 参数: -a: 添加 -x: 删除 -d: 禁用 -e: 启用
smbpasswd -a share
  1. 创建共享目录
mkdir /opt/shares1

# chown -R 用户名:组名 目录
chown -R share:cnki /opt/shares1
  1. 设置samba服务

修改配置文件/etc/samba/smb.conf如下

# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it. [global]
workgroup = SAMBA
security = user
map to guest = Bad User
log file = /var/log/samba/log.%m [shares]
comment = CNKI
path = /opt/shares1
# 表示用户组
valid users = @cnki
read only = No
  1. 重启smb服务
systemctl restart smb.service
# 检查smb.conf文件是否配置正确
testparm
  1. 至此配置完成, 可以在Windows平台下通过用户名share/share来访问共享目录了.

最新文章

  1. CSS预处理器Sass、LESS 和 Stylus
  2. [Unity2D]精灵
  3. 【转载】跟我一起云计算(6)——openAPI
  4. hdu 4267
  5. html a标签
  6. Writing your first Django app, part 1(转)
  7. 201521123027 <java程序设计>第11周学习总结
  8. 解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HO问题
  9. MySQL相关的书籍
  10. Mybatis源码解析 - mapper代理对象的生成,你有想过吗
  11. Go 基础 坑
  12. windows 2012 r2企业版没有界面
  13. activiti报错ProcessEngines.getDefaultProcessEngine()为null
  14. Qt浅谈之一:内存泄露(总结)
  15. SQL Server深入理解“锁”机制
  16. ProDinner
  17. 20155229——实验五《 Java网络编程及安全》
  18. (转载)PHP环境搭建-记录
  19. (转)jquery仿天猫商城左侧导航菜单
  20. gets()scanf()有害------c++程序设计原理与实践(进阶篇)

热门文章

  1. MSF 内网渗透笔记
  2. CentOS7安装ipython
  3. C语言实现字符串IP与整数型IP的相互转换
  4. java高级---->Thread之单例模式的使用
  5. web基础----->jersey整合jetty开发restful应用(一)
  6. tar解压包的时候出现错误 gzip: stdin: not in gzip format
  7. C# mongohelper的初始化及账户密码设置
  8. JVM学习--内存分配策略(持续更新)
  9. POJ 1117 Pairs of Integers
  10. .NET 高性能WEB架构-比较容易改造方式 - .NET架构