Linux实验案例:构建Samba文件共享服务器

根据公司的信息化建设要求,公司需要在局域网内部搭建一台文件服务器,便于对数据的集中管理和备份。考虑服务器的运行效率及稳定性、安全性问题,选择在CentOS系统中构建Samba服务器以提供文件资源共享服务。

需求描述

1.在/var/share/目录中建立三个子目录public、training、devel,用途如下。

public目录用于存放公共数据,如公司的规章制度、员工手册等
training目录用于存放公司的技术培训资料
devel目录用于存放项目开发数据
2.将/var/share/public/目录共享为public,所有员工都可以访问,但只有读取权限。

3.将/var/share/training/目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入;禁止其他人访问。

4.将/var/share/devel/目录共享为kaifa,技术部的所有员工都可以读取该目录中的文件,但是只有管理员admin及bdqn及bdqn项目组的员工有写入权限。

步骤1:

查看samba软件包的安装情况

[root@localhost ~]# rpm -qa | grep "^samba"
samba-client-libs-4.8.3-4.el7.x86_64
samba-client-4.8.3-4.el7.x86_64
samba-common-4.8.3-4.el7.noarch
samba-common-libs-4.8.3-4.el7.x86_64

若有需要的软件包未安装,使用yum -y install安装即可。从上面“rpm -qa | grep “^samba””命令执行的结果来看,当前系统中没有安装Samba服务端软件,只有客户端软件。

安装Samba

[root@localhost ~]# yum -y install samba //安装Samba软件包
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.ustc.edu.cn
base                                                         | 3.6 kB  00:00:00     
extras                                                       | 2.9 kB  00:00:00     
updates                                                      | 2.9 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 samba.x86_64.0.4.10.16-19.el7_9 将被 安装
--> 正在处理依赖关系 samba-libs = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 samba-common-tools = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 samba-common-libs = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 samba-common = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 samba-common = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 samba-client-libs = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libwbclient = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libwbclient = 4.10.16-19.el7_9,它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libxattr-tdb-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libutil-tdb-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libutil-reg-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsys-rw-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsocket-blocking-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsmbd-shim-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsmbd-base-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsmb-transport-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libserver-id-db-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsecrets3-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsamba3-util-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsamba-sockets-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsamba-security-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsamba-debug-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libsamba-cluster-support-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libreplace-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libpopt-samba3-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libndr-samba-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libmsghdr-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libmessages-dgm-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 liblibsmb-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libgse-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libgenrand-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libdbwrap-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcmdline-contexts-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcliauth-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcli-smb-common-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcli-nbt-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcli-cldap-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libauth-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libCHARSET3-samba4.so(SAMBA_4.10.16)(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libxattr-tdb-samba4.so()(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcmdline-contexts-samba4.so()(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libcluster-samba4.so()(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libclidns-samba4.so()(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libMESSAGING-SEND-samba4.so()(64bit),它被软件包 samba-4.10.16-19.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 libwbclient.x86_64.0.4.8.3-4.el7 将被 升级
---> 软件包 libwbclient.x86_64.0.4.10.16-19.el7_9 将被 更新
---> 软件包 samba-client-libs.x86_64.0.4.8.3-4.el7 将被 升级
--> 正在处理依赖关系 libCHARSET3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libaddns-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcli-cldap-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcli-ldap-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcli-smb-common-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcli-smb-common-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcli-spoolss-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcliauth-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libcmdline-credentials-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libdbwrap-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libdcerpc-samba-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libdcerpc-samba-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libevents-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libgenrand-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libgensec-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libgse-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libgse-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libldbsamba-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 liblibcli-lsa3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 liblibcli-lsa3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 liblibcli-netlogon3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 liblibsmb-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 liblibsmb-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libmsrpc3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libmsrpc3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libndr-samba-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libndr-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libregistry-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libreplace-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libreplace-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba-debug-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba-debug-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba-security-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba-security-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba-sockets-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba3-util-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamba3-util-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsamdb-common-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsecrets3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsecrets3-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libserver-role-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsmbclient-raw-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libsocket-blocking-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libtrusts-util-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libutil-cmdline-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libutil-cmdline-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libutil-reg-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 libutil-tdb-samba4.so(SAMBA_4.8.3)(64bit),它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 samba-client-libs = 4.8.3-4.el7,它被软件包 libsmbclient-4.8.3-4.el7.x86_64 需要
--> 正在处理依赖关系 samba-client-libs = 4.8.3-4.el7,它被软件包 samba-client-4.8.3-4.el7.x86_64 需要
---> 软件包 samba-client-libs.x86_64.0.4.10.16-19.el7_9 将被 更新
--> 正在处理依赖关系 libtevent.so.0(TEVENT_0.9.37)(64bit),它被软件包 samba-client-libs-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libtdb.so.1(TDB_1.3.17)(64bit),它被软件包 samba-client-libs-4.10.16-19.el7_9.x86_64 需要
---> 软件包 samba-common.noarch.0.4.8.3-4.el7 将被 升级
---> 软件包 samba-common.noarch.0.4.10.16-19.el7_9 将被 更新
---> 软件包 samba-common-libs.x86_64.0.4.8.3-4.el7 将被 升级
---> 软件包 samba-common-libs.x86_64.0.4.10.16-19.el7_9 将被 更新
---> 软件包 samba-common-tools.x86_64.0.4.10.16-19.el7_9 将被 安装
---> 软件包 samba-libs.x86_64.0.4.10.16-19.el7_9 将被 安装
--> 正在处理依赖关系 libpytalloc-util.so.2(PYTALLOC_UTIL_2.1.9)(64bit),它被软件包 samba-libs-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libpytalloc-util.so.2(PYTALLOC_UTIL_2.1.6)(64bit),它被软件包 samba-libs-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libpytalloc-util.so.2(PYTALLOC_UTIL_2.0.6)(64bit),它被软件包 samba-libs-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libpytalloc-util.so.2()(64bit),它被软件包 samba-libs-4.10.16-19.el7_9.x86_64 需要
--> 正在处理依赖关系 libpyldb-util.so.1()(64bit),它被软件包 samba-libs-4.10.16-19.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 libsmbclient.x86_64.0.4.8.3-4.el7 将被 升级
---> 软件包 libsmbclient.x86_64.0.4.10.16-19.el7_9 将被 更新
---> 软件包 libtdb.x86_64.0.1.3.15-1.el7 将被 升级
---> 软件包 libtdb.x86_64.0.1.3.18-1.el7 将被 更新
---> 软件包 libtevent.x86_64.0.0.9.36-1.el7 将被 升级
---> 软件包 libtevent.x86_64.0.0.9.39-1.el7 将被 更新
---> 软件包 pyldb.x86_64.0.1.5.4-2.el7 将被 安装
--> 正在处理依赖关系 libldb(x86-64) = 1.5.4-2.el7,它被软件包 pyldb-1.5.4-2.el7.x86_64 需要
--> 正在处理依赖关系 python-tdb(x86-64) >= 1.3.18,它被软件包 pyldb-1.5.4-2.el7.x86_64 需要
---> 软件包 pytalloc.x86_64.0.2.1.16-1.el7 将被 安装
--> 正在处理依赖关系 libtalloc = 2.1.16-1.el7,它被软件包 pytalloc-2.1.16-1.el7.x86_64 需要
---> 软件包 samba-client.x86_64.0.4.8.3-4.el7 将被 升级
---> 软件包 samba-client.x86_64.0.4.10.16-19.el7_9 将被 更新
--> 正在检查事务
---> 软件包 libldb.x86_64.0.1.3.4-1.el7 将被 升级
---> 软件包 libldb.x86_64.0.1.5.4-2.el7 将被 更新
---> 软件包 libtalloc.x86_64.0.2.1.13-1.el7 将被 升级
---> 软件包 libtalloc.x86_64.0.2.1.16-1.el7 将被 更新
---> 软件包 python-tdb.x86_64.0.1.3.18-1.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================================================
 Package                  架构         版本                     源             大小
====================================================================================
正在安装:
 samba                    x86_64       4.10.16-19.el7_9         updates       720 k
为依赖而安装:
 pyldb                    x86_64       1.5.4-2.el7              updates        49 k
 pytalloc                 x86_64       2.1.16-1.el7             base           18 k
 python-tdb               x86_64       1.3.18-1.el7             base           20 k
 samba-common-tools       x86_64       4.10.16-19.el7_9         updates       467 k
 samba-libs               x86_64       4.10.16-19.el7_9         updates       271 k
为依赖而更新:
 libldb                   x86_64       1.5.4-2.el7              updates       149 k
 libsmbclient             x86_64       4.10.16-19.el7_9         updates       146 k
 libtalloc                x86_64       2.1.16-1.el7             base           33 k
 libtdb                   x86_64       1.3.18-1.el7             base           49 k
 libtevent                x86_64       0.9.39-1.el7             base           41 k
 libwbclient              x86_64       4.10.16-19.el7_9         updates       116 k
 samba-client             x86_64       4.10.16-19.el7_9         updates       647 k
 samba-client-libs        x86_64       4.10.16-19.el7_9         updates       5.0 M
 samba-common             noarch       4.10.16-19.el7_9         updates       216 k
 samba-common-libs        x86_64       4.10.16-19.el7_9         updates       183 k

事务概要
====================================================================================
安装  1 软件包 (+ 5 依赖软件包)
升级           ( 10 依赖软件包)

总下载量:8.1 M
Downloading packages:
No Presto metadata available for base
No Presto metadata available for updates
警告:/var/cache/yum/x86_64/7/base/packages/libtalloc-2.1.16-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
libtalloc-2.1.16-1.el7.x86_64.rpm 的公钥尚未安装
(1/16): libtalloc-2.1.16-1.el7.x86_64.rpm                    |  33 kB  00:00:00     
libldb-1.5.4-2.el7.x86_64.rpm 的公钥尚未安装
(2/16): libldb-1.5.4-2.el7.x86_64.rpm                        | 149 kB  00:00:00     
(3/16): libtdb-1.3.18-1.el7.x86_64.rpm                       |  49 kB  00:00:00     
(4/16): libsmbclient-4.10.16-19.el7_9.x86_64.rpm             | 146 kB  00:00:00     
(5/16): pyldb-1.5.4-2.el7.x86_64.rpm                         |  49 kB  00:00:00     
(6/16): python-tdb-1.3.18-1.el7.x86_64.rpm                   |  20 kB  00:00:00     
(7/16): pytalloc-2.1.16-1.el7.x86_64.rpm                     |  18 kB  00:00:00     
(8/16): libwbclient-4.10.16-19.el7_9.x86_64.rpm              | 116 kB  00:00:00     
(9/16): samba-4.10.16-19.el7_9.x86_64.rpm                    | 720 kB  00:00:00     
(10/16): samba-common-4.10.16-19.el7_9.noarch.rpm            | 216 kB  00:00:00     
(11/16): samba-client-4.10.16-19.el7_9.x86_64.rpm            | 647 kB  00:00:00     
(12/16): samba-common-libs-4.10.16-19.el7_9.x86_64.rpm       | 183 kB  00:00:00     
(13/16): samba-libs-4.10.16-19.el7_9.x86_64.rpm              | 271 kB  00:00:00     
(14/16): samba-common-tools-4.10.16-19.el7_9.x86_64.rpm      | 467 kB  00:00:00     
(15/16): libtevent-0.9.39-1.el7.x86_64.rpm                   |  41 kB  00:00:01     
(16/16): samba-client-libs-4.10.16-19.el7_9.x86_64.rpm       | 5.0 MB  00:00:06     
------------------------------------------------------------------------------------
总计                                                   1.1 MB/s | 8.1 MB  00:07     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
 用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 软件包     : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在更新    : libtalloc-2.1.16-1.el7.x86_64                                  1/26 
  正在更新    : libtdb-1.3.18-1.el7.x86_64                                     2/26 
  正在更新    : libtevent-0.9.39-1.el7.x86_64                                  3/26 
  正在更新    : libldb-1.5.4-2.el7.x86_64                                      4/26 
  正在更新    : samba-common-4.10.16-19.el7_9.noarch                           5/26 
  正在更新    : libwbclient-4.10.16-19.el7_9.x86_64                            6/26 
  正在更新    : samba-client-libs-4.10.16-19.el7_9.x86_64                      7/26 
  正在更新    : samba-common-libs-4.10.16-19.el7_9.x86_64                      8/26 
  正在更新    : libsmbclient-4.10.16-19.el7_9.x86_64                           9/26 
  正在安装    : python-tdb-1.3.18-1.el7.x86_64                                10/26 
  正在安装    : pyldb-1.5.4-2.el7.x86_64                                      11/26 
  正在安装    : pytalloc-2.1.16-1.el7.x86_64                                  12/26 
  正在安装    : samba-libs-4.10.16-19.el7_9.x86_64                            13/26 
  正在安装    : samba-common-tools-4.10.16-19.el7_9.x86_64                    14/26 
  正在安装    : samba-4.10.16-19.el7_9.x86_64                                 15/26 
  正在更新    : samba-client-4.10.16-19.el7_9.x86_64                          16/26 
  清理        : samba-client-4.8.3-4.el7.x86_64                               17/26 
  清理        : libsmbclient-4.8.3-4.el7.x86_64                               18/26 
  清理        : libwbclient-4.8.3-4.el7.x86_64                                19/26 
  清理        : samba-client-libs-4.8.3-4.el7.x86_64                          20/26 
  清理        : samba-common-libs-4.8.3-4.el7.x86_64                          21/26 
  清理        : libldb-1.3.4-1.el7.x86_64                                     22/26 
  清理        : samba-common-4.8.3-4.el7.noarch                               23/26 
  清理        : libtevent-0.9.36-1.el7.x86_64                                 24/26 
  清理        : libtalloc-2.1.13-1.el7.x86_64                                 25/26 
  清理        : libtdb-1.3.15-1.el7.x86_64                                    26/26 
  验证中      : libtevent-0.9.39-1.el7.x86_64                                  1/26 
  验证中      : libtdb-1.3.18-1.el7.x86_64                                     2/26 
  验证中      : samba-client-4.10.16-19.el7_9.x86_64                           3/26 
  验证中      : libldb-1.5.4-2.el7.x86_64                                      4/26 
  验证中      : samba-common-4.10.16-19.el7_9.noarch                           5/26 
  验证中      : libwbclient-4.10.16-19.el7_9.x86_64                            6/26 
  验证中      : pytalloc-2.1.16-1.el7.x86_64                                   7/26 
  验证中      : python-tdb-1.3.18-1.el7.x86_64                                 8/26 
  验证中      : libsmbclient-4.10.16-19.el7_9.x86_64                           9/26 
  验证中      : samba-libs-4.10.16-19.el7_9.x86_64                            10/26 
  验证中      : samba-client-libs-4.10.16-19.el7_9.x86_64                     11/26 
  验证中      : libtalloc-2.1.16-1.el7.x86_64                                 12/26 
  验证中      : samba-common-tools-4.10.16-19.el7_9.x86_64                    13/26 
  验证中      : samba-common-libs-4.10.16-19.el7_9.x86_64                     14/26 
  验证中      : pyldb-1.5.4-2.el7.x86_64                                      15/26 
  验证中      : samba-4.10.16-19.el7_9.x86_64                                 16/26 
  验证中      : samba-common-4.8.3-4.el7.noarch                               17/26 
  验证中      : libtdb-1.3.15-1.el7.x86_64                                    18/26 
  验证中      : libldb-1.3.4-1.el7.x86_64                                     19/26 
  验证中      : libwbclient-4.8.3-4.el7.x86_64                                20/26 
  验证中      : libtalloc-2.1.13-1.el7.x86_64                                 21/26 
  验证中      : libtevent-0.9.36-1.el7.x86_64                                 22/26 
  验证中      : samba-client-libs-4.8.3-4.el7.x86_64                          23/26 
  验证中      : samba-common-libs-4.8.3-4.el7.x86_64                          24/26 
  验证中      : samba-client-4.8.3-4.el7.x86_64                               25/26 
  验证中      : libsmbclient-4.8.3-4.el7.x86_64                               26/26 

已安装:
  samba.x86_64 0:4.10.16-19.el7_9                                                   

作为依赖被安装:
  pyldb.x86_64 0:1.5.4-2.el7           pytalloc.x86_64 0:2.1.16-1.el7              
  python-tdb.x86_64 0:1.3.18-1.el7     samba-common-tools.x86_64 0:4.10.16-19.el7_9
  samba-libs.x86_64 0:4.10.16-19.el7_9

作为依赖被升级:
  libldb.x86_64 0:1.5.4-2.el7                                                       
  libsmbclient.x86_64 0:4.10.16-19.el7_9                                            
  libtalloc.x86_64 0:2.1.16-1.el7                                                   
  libtdb.x86_64 0:1.3.18-1.el7                                                      
  libtevent.x86_64 0:0.9.39-1.el7                                                   
  libwbclient.x86_64 0:4.10.16-19.el7_9                                             
  samba-client.x86_64 0:4.10.16-19.el7_9                                            
  samba-client-libs.x86_64 0:4.10.16-19.el7_9                                       
  samba-common.noarch 0:4.10.16-19.el7_9                                            
  samba-common-libs.x86_64 0:4.10.16-19.el7_9                                       

完毕!
[root@localhost ~]#

Samba服务器提供smbd、nmbd两个服务程序,分别完成不同的功能。其中,smbd负责为客户机提供服务器中共享资源(目录和文件等)的访问;nmbd负责提供基于NetBIOS协议的主机名称解析,以便为Windows网络中的主机提供查询服务。

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

使用netstat命令可以验证服务进程状态,具体操作如下,其中smbd程序负责监听TCP协议的139端口(SMB协议)、445端口(CIFS协议),而nmbd服务程序负责监听UDP协议的137和138端口(NetBIOS协议)。

[root@localhost ~]# netstat -anptu | grep "mbd"
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      9241/smbd           
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      9241/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      9241/smbd           
tcp6       0      0 :::445                  :::*                    LISTEN      9241/smbd           
udp        0      0 192.168.10.255:137      0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.10.124:137      0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.122.255:137     0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.122.1:137       0.0.0.0:*                           9253/nmbd           
udp        0      0 0.0.0.0:137             0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.10.255:138      0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.10.124:138      0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.122.255:138     0.0.0.0:*                           9253/nmbd           
udp        0      0 192.168.122.1:138       0.0.0.0:*                           9253/nmbd           
udp        0      0 0.0.0.0:138             0.0.0.0:*                           9253/nmbd           
[root@localhost ~]# 

在/var/share/目录中建立三个子目录public、training、devel,用途如下。

[root@localhost /]# cd  /var/share
[root@localhost share]# mkdir public
[root@localhost share]# mkdir training
[root@localhost share]# mkdir devel
[root@localhost share]# ls
devel  public  training
[root@localhost share]#

建立组账户:其他员工,管理员admin,技术部员工,bdqn项目组

[root@localhost /]# useradd yuangong 
[root@localhost /]# pdbedit -a -u yuangong
new password:
retype new password:
Unix username:        yuangong
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2105425033-3586066229-970574894-1001
Primary Group SID:    S-1-5-21-2105425033-3586066229-970574894-513
Full Name:            
Home Directory:       \\localhost\yuangong
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\yuangong\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    二, 12 7月 2022 16:16:00 CST
Password can change:  二, 12 7月 2022 16:16:00 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@localhost /]# pdbedit -a -u root
new password:
retype new password:
Unix username:        root
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2105425033-3586066229-970574894-1002
Primary Group SID:    S-1-5-21-2105425033-3586066229-970574894-513
Full Name:            root
Home Directory:       \\localhost\root
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\root\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    二, 12 7月 2022 16:16:52 CST
Password can change:  二, 12 7月 2022 16:16:52 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@localhost /]# useradd jishubu
[root@localhost /]# pdbedit -a -u jishubu
new password:
retype new password:
Unix username:        jishubu
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2105425033-3586066229-970574894-1003
Primary Group SID:    S-1-5-21-2105425033-3586066229-970574894-513
Full Name:            
Home Directory:       \\localhost\jishubu
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\jishubu\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    二, 12 7月 2022 16:17:37 CST
Password can change:  二, 12 7月 2022 16:17:37 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@localhost /]# useradd bdqnxiangmuzu
[root@localhost /]# pdbedit -a -u bdqnxiangmuzu
new password:
retype new password:
Unix username:        bdqnxiangmuzu
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2105425033-3586066229-970574894-1004
Primary Group SID:    S-1-5-21-2105425033-3586066229-970574894-513
Full Name:            
Home Directory:       \\localhost\bdqnxiangmuzu
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\bdqnxiangmuzu\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    二, 12 7月 2022 16:18:27 CST
Password can change:  二, 12 7月 2022 16:18:27 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@localhost /]# 

列出所有的共享用户

[root@localhost /]# pdbedit -L
vina:1001:
root:0:root
bdqnxiangmuzu:1004:
yuangong:1002:
jishubu:1003:
[root@localhost /]# 

将/var/share/public/目录共享为public,所有员工都可以访问,但只有读取权限。

将/var/share/training/目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入;禁止其他人访问。

将/var/share/devel/目录共享为kaifa,技术部的所有员工都可以读取该目录中的文件,但是只有管理员admin及bdqn及bdqn项目组的员工有写入权限。

[root@localhost /]# cat /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

[public]
  comment = Storing public data 
  path = /var/share/public 
  public = yes
  read only = yes

[peixun]
  comment = Store the company's technical training materials
  path = /var/share/training
  public = yes
  read only = yes
  valid users = root,jishubu

[kaifa]
  comment = Store project development data
  path = /var/share/devel
  public = yes
  read only = yes
  valid users = bdqnxiangmuzu,root,jishubu
  write list = bdqnxiangmuzu,root

[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
[root@localhost /]#

root用户设置别名admin

[root@localhost /]# vim /etc/samba/smbusers
[root@localhost /]# cat /etc/samba/smbusers
root = admin
[root@localhost /]#
[root@localhost /]# vim /etc/samba/smb.conf
......  //省略部分
[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
        username map = /etc/samba/smbusers
[root@localhost /]# chmod 777 /var/share/public/ 
[root@localhost /]# chmod 777 /var/share/training/
[root@localhost /]# chmod 777 /var/share/devel/
[root@localhost /]# systemctl restart smb

在客户机不同的客户机访问共享文件夹

Linux实验案例:构建Samba文件共享服务器
Linux实验案例:构建Samba文件共享服务器
Linux实验案例:构建Samba文件共享服务器

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/12175

(0)
凯影的头像凯影
上一篇 2024年6月24日 下午3:28
下一篇 2024年6月25日 下午2:28

相关推荐

  • nmcli命令详解

    以下是nmcli命令的一些常用选项和用法: 1)修改网卡名称 2)添加网卡 3)启动或停止网卡 4)设置网卡获取IP模式 使用 nmcli 来设置网卡为静态IP ,可以使用以下命令: 使用nmcli命令将网卡eth0模式设置为dhcp

    2023年10月10日
    78700
  • rsync+sersync实现实时监控备份同步

    rsync+sersync简介 sersync是基于inotify开发的,类似于inotify-tools的工具。所以同样内核需先支持inotify,才能搭建。 sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录。 搭建环境:2台Linux(ce…

    2023年3月29日
    68600
  • ansible 用普通用户sudo 执行命令

    背景: linux 机器都禁止root用户远程直接登录,需要ansible切换用户来实现 配置 /etc/ansible/hosts [test] 192.168.55.65 ansible_ssh_user=vmuser ansible_ssh_pass=’112233′ ansible_become_pass=’778899′ 192.168.55.66…

    Linux系统 2023年2月6日
    79200
  • 文件传输工具WinSCP的安装与使用

    安装 首先下载软件,下面是WinSCP的下载网址 Download WinSCP 5.19.4 – free – latest version 下载完成后打开安装并接受许可协议 这里我们可以选择自定义安装,若是完整升级安装类型默认安装位置是C盘,接着下一步 若选择自定义安装则会有选择安装位置的窗口,若选择完整升级类型则为直接安装窗口【…

    2023年1月4日
    72700
  • CentOS7下使用Lsyncd实现文件实时同步

    Lsyncd 在几秒钟内将这些文件事件整理核对后,然后生成一个或多个进程以将更改同步到远程文件系统。默认使用的同步方法是rsync。因此,Lsyncd 是一种轻量级的实时镜像解决方案。 Lsyncd简单介绍 Lsyncd 使用文件系统事件接口(inotify 或 fsevents)来监视本地文件和目录的更改。 Lsyncd 在几秒钟内将这些文件事件…

    2023年12月7日
    62300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信