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=139/tcp --permanent
- firewall-cmd --zone=public -add-port=389/tcp --permanent
- firewall-cmd --zone=public -add-port=445/tcp --permanent
- firewall-cmd --zone=public -add-port=901/tcp --permanent
- firewall-cmd --reload
- # 查看已经放开的端口号
- firewall-cmd --list-all
4. 配置 Samba 服务
配置匿名访问, 任何人都可以访问的共享目录
创建共享目录
- mkdir /opt/shares
- # 因为需要设置匿名用户可以上传下载文件, 所以需要给 shares 目录授予 nobody 权限
- chown -R nobody:nobody /opt/shares
修改 / 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 表示是否有写权限
修改完配置文件之后重启 samba 服务
systemctl restart smb.service
测试 smb.conf 配置是否正确
- # 使用 testparm 命令
- testparm
至此就配置完成, 可以从 Windows 下访问 samba 的共享目录.
配置指定用户可以访问的共享目录
设置共享目录, 只允许指定用户组的用户访问
添加工作组 cnki 和用户 share
- groupadd cnki
- # useradd -g 组名 用户名
- useradd -g cnki share
- # 设置用户 share 的密码
- passwd share
- # 删除用户
userdel -r 用户名
把要访问的账户添加到 samba 的账户中
光添加系统账户还不够, 需要把已经存在的系统账户添加到 samba 中才可以访问共享目录
- # smbpasswd 参数: -a: 添加 -x: 删除 -d: 禁用 -e: 启用
- smbpasswd -a share
创建共享目录
- mkdir /opt/shares1
- # chown -R 用户名: 组名 目录
- chown -R share:cnki /opt/shares1
设置 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
重启 smb 服务
- systemctl restart smb.service
- # 检查 smb.conf 文件是否配置正确
- testparm
至此配置完成, 可以在 Windows 平台下通过用户名 share/share 来访问共享目录了.
来源: https://www.cnblogs.com/ldm1989/p/9229921.html