Linux中安装文件共享服务器Samba

最近在倒腾实验室的服务器(CentOS),需要做一个文件共享系统,方便在Windows中直接访问,上网查询决定在Linux里面装一个Samba服务器。

一. 安装Samba服务

在联网的机器上使用yum工具安装
# yum install samba samba-client samba-swat
或者让yum自己解决依赖包的依赖关系
# yum -y install samba
安装完成后会在/etc/samba 的目录下生成一个配置文件smb.conf,我们后续的共享文件夹需要在这个配置文件里面修改

二. 常用的Samba指令

1.启动Samba服务器
Samba服务器主要运行两个服务,一个是SMB,一个是NMB ; SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
我们需要切换到root权限后,运行smb start, nmb start, smb restart
这里写图片描述
2. 查看Samba服务器的状态
# service smb status
这里写图片描述
3. smbpasswd 命令
smbpasswd命令属于samba套件,能够实现添加或者删除samba用户和为用户修改密码。该命令在后续修改完配置文件后可以配套使用,主要为不同的用户设置不同的权限进行文件夹的访问。
语法: smbpasswd (选项)(参数)
选项:

-a: 向smbpasswd文件中添加用户
-x: 从smbpasswd文件中删除用户

三. 配置Samba服务

Samba的主配置文件为/etc/samba/smb.conf
主配置文件由两部分组成

  • Global Settings(55行-248行)
    该设置都是与Samba服务整体运行环境有关的选项
  • Share Definitions (249-行尾)
    该设置只针对当前共享的目录有效

由于我们希望设置一个公用的public目录供匿名访问,同时对每一个用户设置一个目录只能对应用户访问,我们的设置如下:

  • 全局参数
    由于我们希望大家首先是可以匿名访问的,所以我们修改security = share,默认是security = user 表示Samba 服务器只能被授权的用户访问,账号和密码需要在Samba Server中设置。同时我们还希望在windows和linux下能保持中文字符一致,所以进行了一些字符设置。
    这里写图片描述
  • 共享参数
    在共享参数中,我们设置不同的用户及不用的访问权限
    这里写图片描述
    前两项设置为系统中默认的参数,我们添加后两项public 和 yzj ,其中public为公共目录,表示匿名用户都可以访问的文件夹,而yzj为我个人的用户,其中设置的权限可以通过参数理解,在修改完配置文件后,通过windows访问服务器已经能够看到这两个目录了,但是只能访问public目录,如果我需要访问自己的目录,还需要为Samba服务器设置用户,可以用上面的smbpasswd 命令
    # smbpasswd -a yzj
    然后设置密码即可。

注意:如果我们按照上面做法访问服务器对应的文件夹显示没有权限后,我们需要查看对应文件夹的权限问题,比如public文件夹需要其他组用户拥有可读的权限,否则匿名用户也无法访问。对应自己的目录,只需要当前用户拥有可读,可写及可执行的权限。


这里写图片描述
修改完public文件夹的权限后可以访问,否则不行。

我们登录服务器,可以查看对应的界面如下:

这里写图片描述


设置完文件后,我们就可以轻松的共享文件了!!!

扫描二维码关注公众号,回复: 2890424 查看本文章

猜你喜欢

转载自blog.csdn.net/u012462822/article/details/52943381