0. 概述

如果想访问另外一个机器上的文件,那么最常用的协议可能是 FTP,但是,很多时候 FTP 在跨平台上的使用不是那么方便,需要额外安装一些软件,最近发现了 Samba 服务,被很多设备支持,所以这里就总结一下如何在 CentOS 下如何安装 Samba。

1. 安装 samba

运气不错的是,samba 在 CentOS 的标准 repo 中就存在,所以不用额外得添加什么源了,直接通过 yum 即可安装:

[[email protected]]# yum install samba samba-client
[[email protected]]# systemctl start smb.service
[[email protected]]# systemctl enable smb.service

2. 配置 samba

因为默认的 samba 不是我想要的,所以得额外设置一下,例如自定义我要共享得目录之类的:

[[email protected]]# mkdir /opt/shares
[[email protected]]# chown -R nobody:nobody /opt/shares
[[email protected]]# cat /etc/samba/smb.conf
[global]
        workgroup = SAMBA
        security = user
        map to guest = Bad User
        log file = /var/log/samba/log.%m

[public]
        comment = Public Stuff
        path = /opt/shares
        public = yes
        read only = No
[[email protected]]# systemctl restart smb.service

3. [可选] 添加用户

[[email protected]]# groupadd sambashare
[[email protected]]# chgrp sambashare /mnt/samba
[[email protected]]# useradd -M -d /mnt/samba/liuliqiang -s /usr/sbin/nologin -G sambashare liuliqiang
[[email protected]]# mkdir /mnt/samba/liuliqiang
[[email protected]]# chown josh:sambashare /mnt/samba/liuliqiang
[[email protected]]# chmod 2770 /mnt/samba/liuliqiang
[[email protected]]# smbpasswd -a liuliqiang
[[email protected]]# smbpasswd -e liuliqiang
[[email protected]]# tailf -10 /etc/samba/smb.conf
[liuliqiang]
    path = /mnt/samba/liuliqiang
    browseable = no
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = liuliqiang
[[email protected]]# systemctl restart smb.service
[[email protected]]# systemctl restart nmb.service

4. 测试

找一个熟悉的 samba 客户端,试验一把即可。这里我使用的是 smbclient,也就是刚才顺带安装了的:

[[email protected]]# smbclient -L  //localhost/liuliqiang -U liuliqiang
Enter SAMBA\liuliqiang's password: 

    Sharename       Type      Comment
    ---------       ----      -------
    print$          Disk      Printer Drivers
    public          Disk      Public Stuff
    IPC$            IPC       IPC Service (Samba 4.10.4)
    liuliqiang      Disk      Home Directories
Reconnecting with SMB1 for workgroup listing.

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------
[[email protected]]# smbclient  //localhost/liuliqiang -U liuliqiang
Try "help" to get a list of possible commands.
smb: \>

OK,看上去是可以的,可以使用了。

5. Ref