Linux系统安装samba服务器及使用

一、Samba介绍
Samba是Linux、Unix与Windows之间进行交互操作的软件组件,Samba是基于GPL协议的自由开源软件。Samba通过SMB/CIFS协议为Windows、OS/2、Linux以及众多其他支持该协议的操作系统提供安全、稳定、快速的文件与打印服务。
Samba软件包包括Samba(服务器端软件包)、Samba-client(客户端软件包)和Samba-common(Samba公共文件软件包)三个部分组成。其中Samba有smbd和nmbd两个守护进程组成,两个进程的独立运行的:
(1)smbd
smbd服务进程为客户端提供文件共享与打印机服务。smbd默认监听的端口是TCP协议的139和445。
(2)nmbd
nmbd进程提供NetBIOS名称服务,以满足基于CIFS协议的共享访问环境。nmbd默认使用的是UDP协议137端口。

二、安装与配置步骤
网络:https://www.linuxidc.com/Linux/2017-11/148194.htm

  1. 安装samba服务器 : sudo apt-get install samba

  2. 创建共享目录并给予权限 : sudo mkdir /somo_share
    sudo chmod 777 /somo_share

  3. 测试samba服务器的安装:sudo smbd --version

  4. 检查Samba服务是否正在运行:systemctl status smbd
    systemctl status nmbd

  5. 启动这两个服务: sudo systemctl start smbd
    sudo systemctl start nmbd

  6. 配置samba服务器配置文件: sudo vi /etc/samba/smb.conf //修改之前先备份
    添加:
    [somo_share] //访问标识
    path = /somo_share //共享目录路径
    valid users = somo //访问用户名
    available = yes //共享资源是否可用
    browseable = yes //共享是否可浏览
    writable = yes //是否可写
    public = yes //是否允许guest账户访问
    create mask = 0777
    directory mask = 0777

  7. 关闭配置文件后,运行testparm 命令检查是否存在语法错误

  8. 创建用户及密码: sudo adduser somo

  9. 将用户添加到samba的服务中去 : sudo smbpasswd –a somo

  10. 要做的是重新启动smbd守护进程:sudo systemctl restart smbd

三、使用
一)、Windows:
1.在计算机中使用映射网络驱动器
在这里插入图片描述
2. 输入服务器IP地址及共享目录的名称
在这里插入图片描述
3. 输入用户名及密码登录
在这里插入图片描述
4. 此时Windows中挂载了Linux服务器的共享目录了
在这里插入图片描述
二)、Linux:

  1. 安装cifs支持:sudo apt-get install cifs-utils
    在这里插入图片描述

  2. 挂载samba服务器 sudo mount -t cifs -o user=[samba用户名],passwd=[samba用户的密码] //[服务器IP地址]/[共享目录]/ /[挂载点]
    在这里插入图片描述
    挂载成功即可访问
    在这里插入图片描述
    四、遇到的问题

  3. 问题:在卸载重装时出现以下提示,大量软件找不到,并且提示samba E: Sub-process /usr/bin/dpkg returned an error code (1):
    在这里插入图片描述
    其原因是:在卸载的时候,将/etc/samba目录删除了。
    解决方法:从同版本Ubuntu中拷贝一个samba目录过去,即可正常安装。

  4. 问题:挂载samba服务器出现拒绝访问。
    在这里插入图片描述
    其原因是:在所有的步骤都正确的情况下,是由于虽然创建了一个访问samba服务的用户,但是并没有将用户加入到samba服务里面,因此就没有访问权限。
    解决方法:使用命令将用户加入到samba的服务里面去。sudo smbpasswd -a samba,然后设置访问密码。
    在这里插入图片描述

  5. 问题:出现挂载失败报错mount error(112): Host is down Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
    在这里插入图片描述
    其原因是:通过查看/var/log/syslog,是说服务器版本太低
    解决方法:sudo mount -t cifs -o user=[samba用户名],passwd=[samba用户的密码] ,vers=1.0 //[服务器IP地址]/[共享目录]/ /[挂载点]

  6. 问题:dpkg:警告:无法找到软件包 libsnmp-base 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里
    在这里插入图片描述
    其原因是:因为多次尝试,使用了各种apt-get install +apt-get remove ,结果就导致出现了 一些“pkg:警告:无法找到软件包 XXXX ” 问题。为什么会在安装新的内容时会出现无法找到软件包问题,因为在apt-get install 安装一个新包时 先回去检查/var/lib/dpkg/info/目录下的已安装包的配置文件信息;如果发现有已经安装的应用 的配置文件信息不在info目录下 就会提示这个错误。
    解决方法:直接使用sudo apt-get --reinstall install dpkg --get-selections | grep '[[:space:]]install' | cut -f1 重新安装全部软件但是会费时。
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41110647/article/details/106288399