Samba文件共享服务

Posted xrg-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Samba文件共享服务相关的知识,希望对你有一定的参考价值。

Samba文件共享服务

Samba服务能够实现 Linux 系统与 Windows 系统之间的文件共享工作。

一. 通过yum软件仓库安装Samba服务程序

yum install samba

二. 创建用于访问共享资源的账户信息,pdbedit命令用于管理SMB服务程序的账户信息数据库。

[root@linuxprobe ~]# id linuxprobe 
uid=1000(linuxprobe)gid=1000(linuxprobe)groups=1000(linuxprobe) 
[root@linuxprobe ~]# pdbedit -a -u linuxprobe 
new password:此处输入该账户在 **Samba** 服务数据库中的密码
retype new password:再次输入密码进行确认

三. 创建用于共享资源的文件目录,在创建时,不仅要考虑到文件读写权限的问题,而且由于/home 目录是系统中普通用户的家目录,因此还需要考虑应用于该目录的 SELinux 安全上下文所带来的限制。修改完毕后执行 restorecon 命令,让应用于目录的新 SELinux 安全上下文立即生效。

[root@linuxprobe ~]# mkdir /home/database 
[root@linuxprobe ~]#chown -Rf linuxprobe:linuxprobe /home/database 
[root@linuxprobe ~]# semanage fcontext -a -t samba_share_t /home/database 
[root@linuxprobe ~]# restorecon -Rv /home/database 
restorecon reset /home/database context unconfined_u:object_r:home_root_t:s0->
unconfined_u:object_r:samba_share_t:s0 

四. 设置 SELinux 服务与策略,使其允许通过 Samba 服务程序访问普通用户家目录。执行 getsebool 命令,筛选出所有与 Samba 服务程序相关的 SELinux 域策略,根据策略的名称(和经验)选择出正确的策略条目进行开启即可:

[root@linuxprobe ~]# getsebool -a | grep samba 
samba_create_home_dirs --> off 
samba_domain_controller --> off 
  samba_enable_home_dirs --> off
samba_export_all_ro --> off 
samba_export_all_rw --> off 
samba_portmapper --> off 
samba_run_unconfined --> off 
samba_share_fusefs --> off 
samba_share_nfs --> off 
sanlock_use_samba --> off 
use_samba_home_dirs --> off 
[root@linuxprobe ~]# setsebool -P samba_enable_home_dirs on 

五. Samba 服务程序的配置工作基本完毕。接下来重启 smb 服务(Samba 服务程序在 Linux 系统中的名字为 smb)并清空 iptables 防火墙,然后就可以检验配置效果了。

[root@linuxprobe ~]# systemctl restart smb 
[root@linuxprobe ~]# systemctl enable smb 
ln -s ‘/usr/lib/systemd/system/smb.service‘ ‘/etc/systemd/system/multi-user. 
target.wants/smb.service‘ 
[root@linuxprobe ~]# iptables -F 
[root@linuxprobe ~]# service iptables save 
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] 

六. 要在 Windows 系统中访问共享资源,只需在 Windows 的“运行”命令框中输入两个反斜杠,然后再加服务器的 IP 地址即可,如: \192.168.10.11

如果已经清空了 Linux 系统上 iptables 防火墙的默认策略(即执行 iptables -F 命令),现在就应该能看到 Samba 共享服务的登录界面了。正确输入 账户名以及使用 pdbedit 命令设置的密码后,就可以登录到共享界面中了.

以上是关于Samba文件共享服务的主要内容,如果未能解决你的问题,请参考以下文章

Linux之SAMBA文件共享服务器

关于samba共享的问题

samba文件共享服务笔记

samba文件共享服务笔记

linux下实现文件共享:搭建samba服务器

Samba文件共享服务