vlambda博客
学习文章列表

CentOS 设置服务器文件共享

Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。主要用于实现不同系统平台间的文件共享,配置非常简单,轻量,适合用于常规内网环境中。

安装 samba(需 root 权限)

直接用 yum 安装:

                yum install -y samba samba-client            

安装完后检查安装包:

                rpm -qa | grep samba            
                samba-common-4.10.4-11.el7_8.noarchsamba-common-libs-4.10.4-11.el7_8.x86_64samba-common-tools-4.10.4-11.el7_8.x86_64samba-client-4.10.4-11.el7_8.x86_64samba-4.10.4-11.el7_8.x86_64samba-libs-4.10.4-11.el7_8.x86_64samba-client-libs-4.10.4-11.el7_8.x86_64            

配置 /etc/samba/smb.conf 文件

                vim /etc/samba/smb.conf            

配置文件内容:

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

配置文件解释:

                [global] # 定义全局的配置 workgroup = SAMBA # 定义工作组 security = user # 指定 samba 的安全等级            

关于安全等级有四种:

share:用户不需要账户及密码即可登录samba服务器user:由提供服务的samba服务器负责检查账户及密码(默认)server:检查账户及密码的工作由另一台windows或samba服务器负责domain:指定windows域控制服务器来验证用户的账户及密码。

                passdb backend = tdbsam # passdb backend(用户后台)            

samba 有三种用户后台:smbpasswd, tdbsam 和 ldapsam。

smbpasswd

                passdb backend = smbpasswd            

该方式是使用 smb 自己的工具 smbpasswd 来给系统用户(真实用户或者虚拟用户)设置一个 Samba 密码,客户端就用这个密码来访问 Samba 的资源。smbpasswd 文件默认在 /etc/samba 目录下,不过有时候要手工建立该文件。

                smbpasswd -a 用户名 # 添加一个 samba 用户smbpasswd -d 用户名 # 禁用一个 samba 用户smbpasswd -e 用户名 # 恢复一个 samba 用户smbpasswd -x 用户名 # 删除一个 samba 用户            

tdbsam

                passdb backend = tdbsam            

该方式则是使用一个数据库文件来建立用户数据库。

ldapsam

                passdb backend = smbpasswd            

该方式则是基于LDAP的账户管理方式来验证用户。

后面两行是关于打印机的设置

                 load printers = yes # 加载打印机 cups options = raw # 打印机相关设置;            

我们直接 shift-g 跳到最后一行,加入如下语句:

                # 在末尾加入如下内容# 分享名称[server_data] # 说明信息 comment = server_data # 可以访问的用户 valid users = username,root # 共享文件的路径 path = /data # 可被其他人看到资源名称(非内容) browseable = yes # 可写 writable = yes # 新建文件的权限为 664 create mask = 0664 # 新建目录的权限为 775 directory mask = 0775            

测试配置文件是否有错误,根据提示做相应修改

                testparm            

添加登陆账户并创建密码,必须是 linux 已存在的用户

                smbpasswd -a username            

重启 samba 服务

                service smb stopservice smb start            

添加防火墙规则

                firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --reload            

Mac 访问服务器共享文件夹

在 Finder 中,点“前往”菜单,点“连接服务器”菜单项。

CentOS 设置服务器文件共享
CentOS 设置服务器文件共享

Mac 开机自动加载 smb 服务器

一旦设置好网络驱动器,就可以按照下边的步骤设置自动连接了。打开系统偏好设置,选“用户和群组”:

CentOS 设置服务器文件共享

在左侧列表中选择你的用户名,点“登录项”标签。将已经挂载的网络驱动器图标拖放到登录项列表中。

也可以点上右边的“隐藏”选项,这样系统启动和登录时挂载网络驱动器后,不会自动打开 Finder 窗口。

Windows 访问服务器共享文件夹

推荐阅读