前言
前端时间折腾MySQL,确实自己累的也够呛,折腾完了后,又想将前面vs.net的程序移植到PHP上。买了几本书,环境搭建都是用的WAMP、MAMP、XAMPP。确实都是大神的集成Apache、MySQL、PHP的作品,可以直接在Win10下面搭环境。不过那毕竟是学习,是测试。学习的同时,我还想同步我的移植工作。
数据库MySQL已经在CentOS8上面了,不过要是在Linux里面写代码,操作体验也太不好了。就想着将代码目录给共享出来,还是用Win10系统+DW8写代码,直接在Win10里面打开Linux服务器的代码目录进行编辑。
本文就记录一下我安装samba文件共享服务的过程。
YUM安装samba
samba安装非常简单,就一条YUM命令
yum -y install samba
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20230524_14f99920-f9ea-11ed-a2ab-fa163eb4f6be.png)
[root@lamp soft]# yum -y install samba
上次元数据过期检查:0:11:30 前,执行于 2023年01月14日 星期六 20时28分34秒。
依赖关系解决。
================================================================================
软件包 架构 版本 仓库 大小
================================================================================
安装:
samba x86_64 4.14.5-7.el8_5 base 848 k
升级:
libsmbclient x86_64 4.14.5-7.el8_5 base 148 k
libwbclient x86_64 4.14.5-7.el8_5 base 121 k
samba-client-libs x86_64 4.14.5-7.el8_5 base 5.4 M
samba-common noarch 4.14.5-7.el8_5 base 221 k
samba-common-libs x86_64 4.14.5-7.el8_5 base 173 k
安装依赖关系:
samba-common-tools x86_64 4.14.5-7.el8_5 base 500 k
samba-libs x86_64 4.14.5-7.el8_5 base 169 k
事务概要
================================================================================
安装 3 软件包
升级 5 软件包
总下载:7.5 M
下载软件包:
(1/8): samba-libs-4.14.5-7.el8_5.x86_64.rpm 800 kB/s | 169 kB 00:00
(2/8): libsmbclient-4.14.5-7.el8_5.x86_64.rpm 1.2 MB/s | 148 kB 00:00
(3/8): samba-common-tools-4.14.5-7.el8_5.x86_64 1.2 MB/s | 500 kB 00:00
(4/8): libwbclient-4.14.5-7.el8_5.x86_64.rpm 1.1 MB/s | 121 kB 00:00
(5/8): samba-common-4.14.5-7.el8_5.noarch.rpm 1.5 MB/s | 221 kB 00:00
(6/8): samba-4.14.5-7.el8_5.x86_64.rpm 1.3 MB/s | 848 kB 00:00
(7/8): samba-common-libs-4.14.5-7.el8_5.x86_64. 1.3 MB/s | 173 kB 00:00
(8/8): samba-client-libs-4.14.5-7.el8_5.x86_64. 2.0 MB/s | 5.4 MB 00:02
--------------------------------------------------------------------------------
总计 2.4 MB/s | 7.5 MB 00:03
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
运行脚本: samba-common-4.14.5-7.el8_5.noarch 1/13
升级 : samba-common-4.14.5-7.el8_5.noarch 1/13
运行脚本: samba-common-4.14.5-7.el8_5.noarch 1/13
升级 : samba-client-libs-4.14.5-7.el8_5.x86_64 2/13
升级 : libwbclient-4.14.5-7.el8_5.x86_64 3/13
升级 : samba-common-libs-4.14.5-7.el8_5.x86_64 4/13
安装 : samba-libs-4.14.5-7.el8_5.x86_64 5/13
安装 : samba-common-tools-4.14.5-7.el8_5.x86_64 6/13
安装 : samba-4.14.5-7.el8_5.x86_64 7/13
运行脚本: samba-4.14.5-7.el8_5.x86_64 7/13
升级 : libsmbclient-4.14.5-7.el8_5.x86_64 8/13
清理 : libsmbclient-4.12.3-12.el8.3.x86_64 9/13
清理 : samba-client-libs-4.12.3-12.el8.3.x86_64 10/13
清理 : samba-common-libs-4.12.3-12.el8.3.x86_64 11/13
运行脚本: libwbclient-4.12.3-12.el8.3.x86_64 12/13
清理 : libwbclient-4.12.3-12.el8.3.x86_64 12/13
清理 : samba-common-4.12.3-12.el8.3.noarch 13/13
运行脚本: libwbclient-4.14.5-7.el8_5.x86_64 13/13
运行脚本: samba-common-4.12.3-12.el8.3.noarch 13/13
验证 : samba-4.14.5-7.el8_5.x86_64 1/13
验证 : samba-common-tools-4.14.5-7.el8_5.x86_64 2/13
验证 : samba-libs-4.14.5-7.el8_5.x86_64 3/13
验证 : libsmbclient-4.14.5-7.el8_5.x86_64 4/13
验证 : libsmbclient-4.12.3-12.el8.3.x86_64 5/13
验证 : libwbclient-4.14.5-7.el8_5.x86_64 6/13
验证 : libwbclient-4.12.3-12.el8.3.x86_64 7/13
验证 : samba-client-libs-4.14.5-7.el8_5.x86_64 8/13
验证 : samba-client-libs-4.12.3-12.el8.3.x86_64 9/13
验证 : samba-common-4.14.5-7.el8_5.noarch 10/13
验证 : samba-common-4.12.3-12.el8.3.noarch 11/13
验证 : samba-common-libs-4.14.5-7.el8_5.x86_64 12/13
验证 : samba-common-libs-4.12.3-12.el8.3.x86_64 13/13
Installed products updated.
已升级:
libsmbclient-4.14.5-7.el8_5.x86_64 libwbclient-4.14.5-7.el8_5.x86_64
samba-client-libs-4.14.5-7.el8_5.x86_64 samba-common-4.14.5-7.el8_5.noarch
samba-common-libs-4.14.5-7.el8_5.x86_64
已安装:
samba-4.14.5-7.el8_5.x86_64 samba-common-tools-4.14.5-7.el8_5.x86_64
samba-libs-4.14.5-7.el8_5.x86_64
完毕!
[root@lamp ~]# rpm -q samba
samba-4.14.5-7.el8_5.x86_64
上面显示,samba已经安装成功!下面开始配置samba服务。
samba的配置文件
打开samba的配置文件,更改如下:
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 = WORKGROUP
# 安全级别
security = user
# 用户的后台
passdb backend = tdbsam
printing = cups
printcap name = cups
#决定是否装载printcap文件中所有的打印机
load printers = no
cups options = raw
# 服务器的说明
server string = Samba Server Version %v
#监听的网卡
interfaces = lo 192.168.28.132/24
#限制可以连接的机器
hosts allow = 192.168.28.135
[homes]
# 描述,也就是说明。可写可不写
comment = Home Directories
valid users = %S, %D%w%S
# 是否浏在网络邻居是否能看到
browseable = yes
# 是否所有人只读
read only = No
inherit acls = Yes
# 指定共享的路径位置
path = /var/www/html
# 是否所有人可写
writable = yes
guest ok = 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
我的需求是某一台机器(192.168.28.135)对这台机器的共享目录(/var/www/html)拥有读写权限,其他机器对该服务器不能访问,所以配置文件按如上更改。如果需求有变化,则配置文件要有相应的变化。
配置文件编辑完成后,可以使用testparm命令测试配置文件是否存在问题,运行结果如下:
[root@lamp ~]# testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
interfaces = lo 192.168.28.132/24
load printers = No
printcap name = cups
security = USER
server string = Samba Server Version %v
idmap config * : backend = tdb
cups options = raw
hosts allow = 192.168.28.135
[homes]
comment = Home Directories
guest ok = Yes
inherit acls = Yes
path = /var/www/html
read only = No
valid users = %S %D%w%S
[printers]
browseable = No
comment = All Printers
create mask = 0600
path = /var/tmp
printable = Yes
[print$]
comment = Printer Drivers
create mask = 0664
directory mask = 0775
force group = @printadmin
path = /var/lib/samba/drivers
write list = @printadmin root
[root@lamp ~]#
用户配置
配置文件整完了,下一步增加一个用户,设置密码,启动服务,然后对应的路径对该用户设置权限,就完成了。
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20230524_150cef48-f9ea-11ed-a2ab-fa163eb4f6be.png)
使用useradd命令增加一个用户test,命令格式:
useradd test
使用smbpasswd命令指定smb用户,并设置访问密码,命令格式:
smbpasswd -a test
将samba服务设置成开机启动,命令格式:
systemctl enable smb
启动samba服务,命令格式:
systemctl start smb
这个时候客户端应该是可以访问了,我们可以测试一下。
首先在192.168.28.135的机器上,点击开始--运行--输入地址:\\192.168.28.132
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20230524_15220efa-f9ea-11ed-a2ab-fa163eb4f6be.png)
在弹出来的用户名密码窗口,输入用户名test和密码后,就正确地打开了网络文件夹:
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20230524_153734ec-f9ea-11ed-a2ab-fa163eb4f6be.png)
下面再做一个测试,到另一台机器上,IP地址为192.168.28.138的机器上,相同的操作,显示的是无法访问,如下图:
![](https://oss-emcsprod-public.modb.pro/image/auto/modb_20230524_15540ae0-f9ea-11ed-a2ab-fa163eb4f6be.png)
现在网络配置已经完成,并且是我们期望的样子。下面还有个问题,就是对共享目录没有写的权限。
这个是文件夹的权限设置问题,两条命令搞定:
[root@lamp ~]# chown test:test /var/www/html
[root@lamp ~]# chmod 777 /var/www/html
回到Windows客户端上,刷新共享文件夹,就会发现,新建文件和新建文件夹都OK了,完美!
点击关注,一个专注于IT服务的公众号!