Linux下如何安装smb服务
什么是smb服务
smb服务提供一个基本的服务,这个服务很有用哦;作为一个Linux程序员,我们编写、维护、运行的代码都是存放在Linux机器上,但是我们常常阅读修改代码的时候又是在Windows下面,因为Windows有很多可视化的编辑工具,Linux我一般使用vim :-(
因此我们可以在Linux上启动smb服务,然后把Linux下面的一个路径映射到Windows下面的一个虚拟盘,这样我们在Windows下就像使用本地文件一样访问修改代码了;当然编译和运行还必须在Linux下喽。
首先验证smb服务是否已经启动了。
如果看到如下类似信息,说明smb服务已经在运行:
$ service smb status
Redirecting to /bin/systemctl status smb.service
* smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-11-20 05:40:33 CST; 6 days ago
Main PID: 17483 (smbd)
Status: "smbd: ready to serve connections..."
Memory: 27.5M
CGroup: /system.slice/smb.service
|- 1420 /usr/sbin/smbd --foreground --no-process-group
|-17483 /usr/sbin/smbd --foreground --no-process-group
|-17768 /usr/sbin/smbd --foreground --no-process-group
|-17769 /usr/sbin/smbd --foreground --no-process-group
`-18232 /usr/sbin/smbd --foreground --no-process-group
而如果看到如下信息说明,说明没有服务在运行:
$ service smb status
Redirecting to /bin/systemctl status smb.service
* smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: inactive (dead)
检查smb包是否已经安装
如果看到如下类似输出,则说明smb已经安装好了,只是服务没有起来:
$ rpm -qa | grep samba
samba-common-tools-4.7.1-6.el7.x86_64
samba-winbind-clients-4.7.1-6.el7.x86_64
samba-common-4.7.1-6.el7.noarch
samba-4.7.1-6.el7.x86_64
samba-client-libs-4.7.1-6.el7.x86_64
samba-libs-4.7.1-6.el7.x86_64
samba-client-libs-4.7.1-6.el7.i686
samba-winbind-modules-4.7.1-6.el7.x86_64
samba-client-4.7.1-6.el7.x86_64
samba-common-libs-4.7.1-6.el7.x86_64
samba-winbind-4.7.1-6.el7.x86_64
samba-libs-4.7.1-6.el7.i686
而如果只看到如下输出,则说明smb就没有安装:
$ rpm -qa | grep samba
samba-common-3.0.33-3.29.el5_5.1
samba-client-3.0.33-3.29.el5_5.1
安装smb
下载smb服务包.
samba-3.0.33-3.29.el5_5.1.x86_64.rpm
例如:
$ wget https://yum.oracle.com/repo/OracleLinux/OL5/6/base/x86_64/getPackage/samba-3.0.33-3.29.el5_5.1.x86_64.rpm
安装smb
$ sudo rpm -ivh samba-3.0.33-3.29.el5_5.1.x86_64.rpm -f --nodeps
warning: samba-3.0.33-3.29.el5_5.1.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 192a7d7d
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
再次检查smb安装包
$ rpm -qa | grep samba
samba-common-3.0.33-3.29.el5_5.1
samba-3.0.33-3.29.el5_5.1
samba-client-3.0.33-3.29.el5_5.1
...
启动smb服务
$ sudo /etc/rc.d/init.d/smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
或者
$ service smb start
为smb服务添加用户
这个用户将被用来从Windows访问smb的时候用到。
$ sudo smbpasswd -a
答疑
如果在Windows下映射网络驱动器时如果碰到如下错误: "你可能没有权限访问网络资源",那么可能Linux打开了防火墙:
下面是暴力的办法关闭所有的防火墙。
$ setenforce 0 (PS:这里是关闭SELinux服务,如果要打开则setenforce 1)
$ iptables -F (关闭防火墙)