Linux基础-6(Samba服务)

来源:互联网 发布:linux命令touch 编辑:程序博客网 时间:2024/06/05 04:55

    • samba服务
    • 安装samba服务
    • 配置Samba服务
    • 测试

samba服务

  Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
  Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。

安装samba服务

1 直接yum安装
yum install samba samba-client
2 启动并查看Samba
systemctl start smb nmb
systemctl status smb nmb
这里写图片描述

配置Samba服务

1 配置

# vi /etc/samba/smb.conf=================== Global Settings[全局选项] ==============================[global]#workgroup = WORKGROUP               ##设定Samba Server所要加入的工作组或域server string = Samba Server Version %v        ##设定注释,宏%v表示显示Samba的版本号netbios name = zhi                ##设置Samba Server的NetBIOS名称map to guest = bad user             ##开启匿名访问# ----------------- Logging Options [日志选项]-----------------------------log file = /var/log/samba/log.%m   ##设置日志文件存储位置及名称,宏%m(主机名),表示对每台                                      访问Samba Server的机器都单独记录一个日志文件max log size = 50             ##设置Samba Server日志文件的最大容量,单位为KB,0代表不限制# ---------------- Standalone Server Options[独立运行进程] ---------------------security = share            ##共享级别:共享目录只能被授权的用户访问passdb backend = tdbsam     ##建立安全账户管理数据库# ----------------- Printing Options[打印选项]-----------------------------#        load printers = yes          ##设置是否在启动Samba时共享打印机#        cups options = raw           ##通用unix打印选项#================== Share Definitions[共享参数] ==============================[homes]                              ##设置用户宿主目录        comment = Home Directories        ##描述该共享:家目录        browseable = no               ##指定该共享是否可以浏览        writable = yes                  ##指定该共享路径是否可写[printers]                          ##设置打印机宿主目录        comment = All Printers         ##描述:所有打印机        path = /var/spool/samba                browseable = no        guest ok = no                 ##指定该共享是否允许guest账户访问        writable = no        printable = yes              ##指定是否可打印[public]        comment = Public Stuff      ##定义说明信息        path = /home/samba          ##共享目录路径        public = yes             ##指定该共享是否允许guest账户访问        writable = yes        printable = no        write list = +staff       ##允许写入该共享的用户

注:
 + =====》 只在本机的密码文件组中查找
 & =====》只在nis服务中查找
 @ =====》先通过NIS服务器查找,nis找不到再到本机查找

2 测试语法
这里写图片描述

3 建立共享目录

# mkdir /home/samba# cd /home/samba/# touch samba.txt

测试

1 在windows下输入ip地址进行访问\192.168.10。128
这里写图片描述

2 在linux下输smbclient //192.168.10.128/public

这里写图片描述

3 配置只允许个别用户访问
a 配置smb.conf

[time]        comment = Ashes Of Time        path = /share/time        valid users = zhi        write list = zhi        printable = no        create mask = 0755        directory mask = 0755

b 建立共享目录、添加相应用户和组

# mkdir -p /share/time# groupadd admin# useradd zhi -s /sbin/nologin# cd /share/time# echo "12345" > abc.txt# pdbedit -a -u zhi              ##新建Samba用户

这里写图片描述

# pdbedit -L               ##查看Samba用户列表# systemctl restart smb nmb        ##重启Samba

注: 可使用命令smbpasswd -a + 用户名为该用户添加Samba密码,但用户必须是系统用户。

c 验证

windows客户验证端
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

错误:输入用户名、密码后弹出如下内容:
  指定的网络文件夹目前是以其他用户名和密码进行映射的。要用其他用户名和密码进行连接,首先请断开所有现有的连接到网络共享的映射。”
解决:使用命令net use查看

这里写图片描述
然后使用命令net use * /delete结束所有连接,即可连接。
这里写图片描述

问题:能下载不能上传

这里写图片描述

解决:

# setfacl -m u:zhi:rwx /share/time/      ##赋予用户写权限

这里写图片描述