CentOS7中Samba环境搭建实录

关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变等问题。相比较来说,使用Samba作为文件共享,就省事简洁多了。Samba服务器通信协议(Server Messages Block)就是是为了解决局域网内的文件或打印机等资源的共享服务问题,让多个主机之间共享文件变成越来越简单。下面简单介绍下,在Centos7.9下部署Samba服务的操作记录(测试虚拟机192.168.181.3)。

1.安装Samba

[root@samba-server ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@samba-server ~]# rpm -qa|grep samba
[root@samba-server ~]# yum install -y samba

2.关闭selinux和防火墙

[root@samba-server ~]# setenforce 0
[root@samba-server ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@samba-server ~]# systemctl stop firewalld
[root@samba-server ~]# systemctl disable firewalld

3.配置Samba配置文件

[root@samba-server ~]# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
[root@samba-server ~]# vim /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

# 全局配置
[global]
        workgroup = SAMBA
        security = user
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

# 共享打印机配置
[printers]         
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

# 这个是共享文件夹标识,表示登录samba打开时显示的文件夹名称。配置了多少个共享文件夹标识,登录samba时就会显示多少文件夹。
[sirix]
			 # comment是对该共享的描述,可以是任意字符串
       comment = this is the info
       # 共享的路径
       path= /home/sirix
       # 是否可写入
       writable = yes
       # 是否公开
       public = no

4.添加账号

设置为不予许登入系统,且用户的家目录为 /home/sirix(相当于虚拟账号)的sirix账号。

root@samba-server ~]# useradd -d /home/sirix -s /sbin/nologin sirix

5.pdbedit 命令说明

5.1 pdbedit 命令

pdbedit 命令用于管理Samba服务的帐户信息数据库,格式为:”pdbedit [选项] 帐户”
第一次把用户信息写入到数据库时需要使用-a参数,以后修改用户密码、删除用户等等操作就不再需要了。

  • pdbedit -L :查看samba用户
  • pdbedit -a -u user:添加samba用户
  • pdbedit -r -u user:修改samba用户信息
  • pdbedit -x -u user:删除samba用户

5.2 smbpasswd 命令

samba服务数据库的密码也可以用 smbpasswd 命令 操作

  • smbpasswd -a user:添加一个samba用户
  • smbpasswd -d user:禁用一个samba用户
  • smbpasswd -e user:恢复一个samba用户
  • smbpasswd -x user:删除一个samba用户
  • printf "%s\n%s\n" pwd pwd|smbpasswd -s user 修改密码

6.将sirix添加为samba用户

[root@samba-server ~]# pdbedit -a -u sirix
new password:                         //设置sirix使用的samba账号密码,比如123456
retype new password:                  //确认密码
Unix username:        sirix
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-3966910846-3390734216-1763763463-1001
Primary Group SID:    S-1-5-21-3966910846-3390734216-1763763463-513
Full Name:            
Home Directory:       \\samba-server\sirix
HomeDir Drive:        
Logon Script:         
Profile Path:         \\samba-server\sirix\profile
Domain:               SAMBA-SERVER
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Thu, 13 Jun 2019 16:26:31 CST
Password can change:  Thu, 13 Jun 2019 16:26:31 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

# 接着修改samba用户的家目录权限
[root@samba-server ~]# chown -Rf sirix:sirix /home/sirix

7.启动Samba服务

[root@samba-server ~]# systemctl start smb nmb
[root@samba-server ~]# systemctl enable smb nmb
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.

8.测试

先往共享路径/home/sirix里添加点内容

[root@samba-server ~]# cd /home/sirix/
[root@samba-server sirix]# touch test1 test2 test3
[root@samba-server sirix]# mkdir a1 a2 a3
[root@samba-server sirix]# ls
a1  a2  a3  test1  test2  test3

8.1 将samba共享目录挂载到Mac

  1. 打开访达,快捷键command + K打开连接服务器

    image-20211009141731203

  2. 输入samba服务器的IP地址,点击“连接”

  3. 输入凭据,用户名sirix,密码123456

  4. 3FAngc

  5. 在mac添加文件

    sUsPPS

  6. samba服务器查看

    [root@samba-server sirix]# pwd
    /home/sirix
    [root@samba-server sirix]# ll
    总用量 5824
    -rwxr--r--. 1 sirix sirix 5963561 928 18:23 122344.png
    drwxr-xr-x. 2 root  root        6 109 14:20 a1
    drwxr-xr-x. 2 root  root        6 109 14:20 a2
    drwxr-xr-x. 2 root  root        6 109 14:20 a3
    -rw-r--r--. 1 root  root        0 109 14:20 test1
    -rw-r--r--. 1 root  root        0 109 14:20 test2
    -rw-r--r--. 1 root  root        0 109 14:20 test3
    drwxr-xr-x. 2 sirix sirix       6 109 14:23 未命名文件夹
    [root@samba-server sirix]#

    以上就是Samba服务器搭建的简单教程,下期再继续增加Samba高可用方案。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!