使用 Samba 实现 Linux 与 Windows 文件共享实践

2015-07-13 13:15


前言

一直以来都以为FTP和NFS是局域网文件共享的常用方式,但是在最近接触Samba之后,了解到一些用户需要简化访问学习成本,满足基础的权限控制管理,并支持实时编辑和保存文件,我才明白这些需求使用之前的方法都是很难满足的,而Samba却可以完美的支持上述需求,虽然在开始接触时花了一些时间学习,但把配置和语法梳理清楚之后就很简单了。

Unix与Windows文件共享的最佳方式之一

安装samba

各个平台的安装都蛮简单的,略过

配置samba

建议合理规划目录和用户权限,可以利用用户组来简化授权管理,参见扩展阅读

创建目录(举例)

mkdir -p /data2/sm
chmod -R 777 /data2/sm

添加用户(举例)

groupadd dengling
useradd -g dengling -s /sbin/nologin dengling
smbpasswd -a dengling

备份smb配置文件并编辑

cd /etc/samba
cp smb.conf smb.conf.bak
vi smb.conf
#全局参数
[global]
    security = share
    lanman auth = Yes
    log file = /var/log/samba/log.%m
    idmap config * : backend = tdb
    guest ok = Yes
    hosts allow = 127., 172., 192.168.1., 192.168.3.
    cups options = raw

#共享参数

#常用选项
#[shared_name]
#    path =                              # 文件系统路径
#    browseable = {yes|no}               # 是否可以被查看到
#    public = {yes|no}                   # 是否可被所有人读
#    guest ok = {yes|no}                 # 与 public 相同
#    read only = yes                     # 是否只读
#    writeable = yes                     # 是否可写
#    write list = user1, user2           # 可写用户列表
#                @group, +group          # 可写组列表
#    valid users =                       # 白名单
#    invalid users =                     # 黑名单

[homes]
    comment = Home Directories
    read only = No
    browseable = No

[sheji]
    comment = sheji
    path = /data2/sm/sheji
    valid users = share, shenwei, xuwei, shenjiamei, humengchu, rensiqiang, yeting, tongying, jinbo, zengfanan, fengpeisi
    read only = No
    create mask = 0775
    directory mask = 0775

启动samba

检查语法

testparm

重启smb服务查看状态

service smb restart
smbstatus

Windows客户端访问

1.Windows上访问samba

在“计算机”中输入:\\xxx.xxx.xxx.xxx\

2.Windows断开samba共享连接,实在不行可以选择注销或者重启

在【开始】→【运行】→【CMD】回车中输入:net use * /del /y

3.将samba共享的Linux目录映射成Windows的一个驱动器盘符

在【右键计算机】→【映射网络驱动器】→【文件夹\XX.XX.XX.XX\】

扩展阅读