RHEL 平台基于 Samba 服务配置文件共享

基于 Samba 服务实现远程文件共享

本文参考刘遄老师的 Linux 就该这么学撰写.

Samba 服务

FTP 是一种跨平台的文件传输解决方案, 还有一种解决方案是通过 Samba 服务来实现跨平台的文件共享.

SMB (Server Message Block) 协议是微软公司和英特尔公司共同制定的协议, 可以完成局域网内文件或打印机等资源的共享. Tridgwell 为了解决 Linux 系统的文件共享, 基于 SMB 协议开发了 SMBServer 服务程序, 起名为 Samba, 是一种舞蹈的名字.

安装 Samba 服务

yum install samba

配置 Samba 服务

Samba 的主配置文件位于 /etc/samba/smb.conf 中. 详细的配置文件的介绍帮助可以使用 man 5 smb.conf 来查看. 完整的 Samba 配置参数非常多, 完整的帮助文档的下载地址, 我们不一定能够都用到, 我们可能只会用到其中的一部分.

Iptables 配置

SMB 协议需要使用到 139 和 445 端口, 我们需要把这两个端口打开:

iptables -I INPUT -p tcp -dport 139 -j ACCEPT
iptables -I INPUT -p tcp -dport 445 -j ACCEPT

service iptables save

SELinux 配置

在配置之前, 我们需要先进行 SELinux 的配置:

# 允许 Samba 服务使用 useradd 和 groupadd
setsebool -P samba_domain_controller on

# 如果想要分享 home 目录, 需要开启 samba_enable_home_dirs
setsebool -P samba_enable_home_dirs on

# 如果你新建了一个目录, 你需要将其安全上下文设置为 samba_share_t, 不要对系统目录做这个操作, 因为系统目录已经有了这个上下文

# 使用 Boolean 值 samba_export_all_ro 或 samba_export_all_rw 来共享系统目录.
# 只读
setsebool -P samba_export_all_ro on
# 可写
setsebool -P samba_export_all_rw on

配置文件结构

配置文件是分块的, 每一块以一个中括号包裹的唯一标识符来确定, 默认配置文件包括 [global], [homes] 以及 [printers].

global 配置

网络相关

# Windows 的域名称或者工作组名称
# workgroup = MYGROUP

# 描述字段
server string= Samba Server Version %v

# 指定一个绑定到主机的服务器名称
# netbios name = MYSERVER

# 用于指定 Samba 去监听哪个网卡, 注意不要忘记写 localhost interface(lo)
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24

日志选项

log file = /var/log/samba/log.%m
# max size of the log file, 50KB
max log size = 50

安全选项

这一部分可能配置选项很多的, Samba 的配置文档可以写一本书来详细说明, 这里只介绍我所了解的常用的配置方法.

# Samba 的安全模式, share 和 server 在文档中说明不再使用, 现在使用 user
security = user
# 存储用户信息的方式, 现在使用的主要有 tdbsam 和 ldapsam 两种.
passdb backend = tdbsam

共享文件夹

接下来我们创建一个共享文件夹的配置区域, 这一部分的参数都很好理解.

[myshare]
    comment = My share
    # 共享文件夹的路径
    path = /shared_folder
    # 非公开
    pubic = no
    # 可写入
    writable = yes

创建用户

首先我们要创建一个系统用户, 用于持有 Samba 的文件.

useradd smbuser

然后使用 pdbedit 命令来设定 Samba 账户

[root@localhost /]# pdbedit -a -u smbuser
new password:
retype new password:
Unix username:        smbuser
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2183877677-2742592103-2159681561-1000
Primary Group SID:    S-1-5-21-2183877677-2742592103-2159681561-513
Full Name:
Home Directory:       \\localhost\smbuser
HomeDir Drive:
Logon Script:
Profile Path:         \\localhost\smbuser\profile
Domain:               LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 10:06:39 EST
Kickoff time:         Wed, 06 Feb 2036 10:06:39 EST
Password last set:    Sat, 27 Oct 2018 08:50:26 EDT
Password can change:  Sat, 27 Oct 2018 08:50:26 EDT
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

修改目录权限

刚才创建的共享目录是属于 root 的, 所以挂载之后是没有权限写的:

[root@localhost /]# ls -ld shared_folder/
drwxr-xr-x. 2 root root 6 Oct 27 08:47 shared_folder/

我们需要修改其所属:

chown -R smbuser:smbuser /shared_folder

修改 SELinux 设置:

semanage -a -t samba_share_t /shared_folder
restorecon -Rv /shared_folder

重启 Samba 服务

systemctl restart smb
systemctl enable smb

测试 Samba 服务

以下是基于 MAC 系统进行测试:

打开 Finder, 快捷键 cmd+k, 打开连接服务器窗口, 按照下面的形式输入服务器地址.

image-20181027222811300

点击连接之后, 会跳出登录界面:

image-20181027222922766

输入正确的用户名和密码, 就可以登录到服务器中了.

登陆后, 可以测试一下能否修改文件, 上传文件等操作, 以检测权限是否配置正确, 如果发现不能, 可以检查 SELinux 设置和文件目录权限配置.

总结

到此, SMB 服务的简单配置就完成了, SMB 是一个非常方便的文件共享服务, 可以轻松的部署在局域网中, 非常的方便.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 有一种孤独叫做,突然回头,你会发现自己一直都在往前走。我不知道是什么带给我勇气,在面对挫折和历经一次又一...
    默子江阅读 199评论 0 0
  • 偶有情趣,晚饭时,我和坐在餐桌对面的爷俩开玩笑:“说实话,你俩谁怕我?” 儿子不假思索,脱口而出:“我,我很怕你!...
    春听夏荷阅读 1,591评论 25 31
  • 烟雨 不过江南 你撑着油纸伞走在寂寥幽深的长巷,我坐在木船头手划着碧波轻荡漾。夕阳西下,渔舟正唱晚。 是夜,你举盏...
    小高原阅读 374评论 0 1
  • 这场姗姗来迟的冬雪 又是一场雪,铺天盖地,静静地笼罩这个凄美的冬夜。泛着红的夜空,使我觉得内心空荡无所适从,使我回...
    赫曦丶阅读 786评论 15 14