前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Linux]搭建Samba服务器(ubuntu16.04)

[Linux]搭建Samba服务器(ubuntu16.04)

作者头像
祥知道
发布2020-03-10 15:51:15
1.9K0
发布2020-03-10 15:51:15
举报
文章被收录于专栏:祥的专栏

原创文章,欢迎转载。转载请注明:转载自 祥的博客

原文链接:https://cloud.tencent.com/developer/article/1596370


文章目录

代码语言:txt
复制
- @[toc]Samba软件的安装与卸载1.1.安装1.2.卸载1.3.检查Samb版本1.4.检查和启动Samba服务2.配置前准备2.1. 建立Samba访问目录2.2. 创建用户账户2.3. 给samba服务添加用户(刚刚创建的那个用户)3.编辑配置文件4.重启服务5.Windows访问samba添加多个用户或组

2018.12.17 Add:

新增:[Linux]Samba服务器支持访问软连接文件和目录: https://cloud.tencent.com/developer/article/1596390

1. Samba软件的安装与卸载

1.1.安装

代码语言:javascript
复制
apt-get install samba samba-common
# 或者
aptitude install -y samba

1.2.卸载

代码语言:javascript
复制
apt-get autoremove samba

1.3.检查Samb版本

方法1:

代码语言:javascript
复制
root@HP-xw4600:~# smbd --version
Version 4.3.11-Ubuntu

方法2:

代码语言:javascript
复制
root@HP-xw4600:~# smbstatus
Samba version 4.3.11-Ubuntu
PID     Username      Group         Machine            Protocol Version       
------------------------------------------------------------------------------

Service      pid     machine       Connected at
-------------------------------------------------------

No locked files

1.4.检查和启动Samba服务

检查Samba服务是否正在运行

代码语言:javascript
复制
systemctl status smbd
systemctl status nmbd

要启动这两个服务

代码语言:javascript
复制
systemctl start smbd
systemctl start nmbd

开始运行后,smbd将在139445端口上侦听。

2.配置前准备

2.1. 建立Samba访问目录

建立samba访问目录,并且增加目录的权限

代码语言:javascript
复制
mkdir /srv/qfxFtp/HDD_sdb1/qfxSamba_share
chmod 777 /srv/qfxFtp/HDD_sdb1/qfxSamba_share

我把硬盘挂载到HDD_sdb1目录下,而整个qfxFtp目录是FTP服务器的目录,只是权限为只读。

2.2. 创建用户账户

默认情况下,Samba将用户设置为安全模式,这意味着客户端必须输入共享文件夹的用户名密码

简单的来讲:添加的Samba用户首先必须是Linux用户,所以先得创建一个新的Linux用户,你也可以用你原来的用户,只要你不怕泄露账户信息。

要在Ubuntu上添加用户,请运行以下命令(我在添加用户的时候,为了安全让该用户无法登陆)。 用你所需的用户名替换用户名,我这里命名为qfxsamba(原来个名字起名qfxSamba,其中S是大写,怎么添加名字都不对,最后仔细看提示,才知道命名有问题,但是命名到底错哪了?)

代码语言:javascript
复制
adduser -s /sbin/nologin qfxsamba

2.3. 给samba服务添加用户(刚刚创建的那个用户)

代码语言:javascript
复制
smbpasswd  -a   qfxsamba  #[输入访问Samba的密码,不是qfxsamba用户密码]

PS:

smbpasswd命令的常用方法:

代码语言:javascript
复制
smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用
smbpasswd -n 把用户的密码设置成空.
             要在global中写入 null passwords -true
smbpasswd -x  删除用户

3.编辑配置文件

只有一个配置文件需要处理:/etc/samba/smb.conf

首先养成备份的好习惯,然后用Vim编辑:

代码语言:javascript
复制
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
vim /etc/samba/smb.conf

以下是要修改的部分

代码语言:javascript
复制
[global]
# 确保工作组的值与Windows计算机的工作组设置相同
 workgroup = WORKGROUP


# =====================================
#            add by Qfx
# =====================================
# "Qfx Share Dir"是将在Windows网络上显示的文件夹名称
# 该注释是共享文件夹的描述
# 可以访问/srv/qfxFtp/HDD_sdb1/qfxSamba_share/目录
# 可以写
# 指定有效用户
[Qfx Share Dir]
comment = Qfx share Folder
path = /srv/qfxFtp/HDD_sdb1/qfxSamba_share
writable = yes 
valid users = qfxsamba

4.重启服务

代码语言:javascript
复制
systemctl restart smbd

5.Windows访问samba

假设我的LinuxIP地址10.12.55.69

在Windows的文件浏览器中输入:

代码语言:javascript
复制
\\10.12.55.69

然后会跳出来登陆对话框,输入用户名和密码就可以登陆了(密码是通过smbpasswd -a qfxsamba设置的那个密码)

有可能出现的问题

Samba只支持NTLM认证,而WIN7VISTA则采用NTLMv2认证,因此必须经过一些设置才行,具体设置如下:

代码语言:javascript
复制
开始 -> 
运行 -> 
secpol.msc->
本地策略->
安全选项->
网络安全:LAN管理器身份验证级别->
发送 LM 和 NTLMv2 ,如果已协商,则使用NTLMv2 (会话安全 &)->
完成设置

6. 添加多个用户或组

现在能登录samba服务器的用户只有qfxsamba

以下方法还未检测:

如果多个帐户更适合访问共享文件夹,请在/etc/samba/smb.conf文件中更改如下所示的有效用户。

代码语言:javascript
复制
valid users = user1, user2, user3

还可以使用smbpasswd为每个用户设置Samba密码。

代码语言:javascript
复制
smbpasswd -a user1  #[输入访问Samba的密码,不是 user1 用户密码]
# 设置
smbpasswd -a user2  #[输入访问Samba的密码,不是 user2 用户密码]
# 设置
smbpasswd -a user3  #[输入访问Samba的密码,不是 user3 用户密码]
# 设置

要允许一组用户访问共享文件夹,请在/etc/samba/smb.conf中使用以下配置。

代码语言:javascript
复制
valid users = @sambashare

创建组

代码语言:javascript
复制
groupadd sambashare

然后将用户添加到此组

代码语言:javascript
复制
gpasswd -a qfxsamba  sambashare
gpasswd -a user1     sambashare
gpasswd -a user2     sambashare
gpasswd -a user3     sambashare

该组需要对共享文件夹具有写入权限,可以通过以下两个命令实现。

sambashare设置为共享文件夹的组所有者:

代码语言:javascript
复制
chgrp sambashare /path/to/shared/folder -R

授予组的写入权限:

代码语言:javascript
复制
chmod g+w /path/to/shared/folder/ -R

OK!

以上,Enjoy~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1. Samba软件的安装与卸载
    • 1.1.安装
      • 1.2.卸载
        • 1.3.检查Samb版本
          • 1.4.检查和启动Samba服务
          • 2.配置前准备
            • 2.1. 建立Samba访问目录
              • 2.2. 创建用户账户
                • 2.3. 给samba服务添加用户(刚刚创建的那个用户)
                • 3.编辑配置文件
                • 4.重启服务
                • 5.Windows访问samba
                • 6. 添加多个用户或组
                相关产品与服务
                云服务器
                云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档