Linux搭建samba服务及使用案例_samba案例,程序员面试防坑宝典

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新软件测试全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注软件测试)
img

正文

samba的配置文件为:/etc/samba/smb.conf
配置文件分为三个部分:
[global]定义全局性配置
[homes]定义对用户家目录的共享配置(其实在默认情况下不做任何设置,直接启用服务我们就可以通过smb协议访问所有用户的家目录)
[printers]定义打印机共享配置

使用的端口:
Port 137 Used for NetBIOS network browsing
Port 138 Used for NetBIOS name service
Port 139 Used for file and printer sharing and other operations
Port 445 Used by Windows 2000/XP when NetBIOS over TCP/IP is disabled
1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd
3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
2)Port 138 (UDP) - NetBIOS 数据报服务
4)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享) 139/445

samba配置文件
[global]
workgroup = WORKGROUP
说明:设定 Samba Server 所要加入的工作组或者域。

server string = Samba Server Version %v
说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

hosts allow = 127. 192.168.1. 192.168.10.1
说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。
hosts deny 与hosts allow 刚好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容许来自172.17.2.*.*的主机连接,但排除172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接
hosts allow=M1,M2
表示容许来自M1和M2两台计算机连接
hosts allow=@xq
表示容许来自XQ网域的所有计算机连接

max connections = 0
说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。

  1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
  2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
  3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
  4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

max connections = 0
说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

log file = /var/log/samba/log.%m
说明:定义记录文件的位置LogFileName

max log size = 50
说明:定义记录文件的大小size(单位是KB,如果是0的话就不限大小)

[共享名]

comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串。

path = 共享目录路径
说明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes]共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目录,这样path就可以写成:path = /home/share/%u; 。
用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以这样写:path = /home/share/%m 。

browseable = yes/no
说明:browseable用来指定该共享是否可以浏览。

writable = yes/no
说明:writable用来指定该共享路径是否可写。

available = yes/no
说明:available用来指定该共享资源是否可用。

admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =bobyuan,jane(多个用户中间用逗号隔开)。

valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = bobyuan,@bob,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@+组名”表示。)

invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户。
例如:write list = bobyuan,@bob

public = yes/no
说明:public用来指定该共享是否允许guest账户访问。

guest ok = yes/no
说明:意义同“public”。

read only = yes 只读设置
create mask = 0644 客户机创建文件权限
directory mask = 0755 客户机创建目录的权限
writable = yes 可写,还要看目录权限

案例一:通过samba提供一个公共文件服务器,所有人都可以访问并写入,但是当前用户不可以删除和修改他人的文件

首先安装samba服务
[root@localhost ~]# yum install samba
在这里插入图片描述
更改配置文件
[root@localhost ~]# vim /etc/samba/smb.conf
在这里插入图片描述
创建资源目录
在这里插入图片描述

创建测试用户
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# smbpasswd -a zhangsan
smbpasswd命令 属于samba套件,能够实现添加或删除samba用户和为用户修改密码。-a:向smbpasswd文件中添加用户;
在这里插入图片描述
查看samba用户列表
[root@localhost ~]# pdbedit -L
pdbedit命令用于管理存储在sam数据库中的用户账户,只能由root运行
-L 列出Samba用户列表,读passdb.tdb数据库文件
在这里插入图片描述
重启服务smb和nmb
[root@localhost ~]# systemctl restart smb nmb
[root@localhost ~]# systemctl stop firewalld.service //关闭防护墙
[root@localhost ~]# setenforce 0 //关闭seLinux

在Windows上进行测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
测试public权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过测试发现我们当前张三用户不仅可以删除root用户的文件还可以删除redhat用户的权限这不合理所以我们需要对这个文件夹进行权限设置来符合题意

[root@localhost test]# chmod o+w /test/ 允许所有用户上传文件

[root@localhost test]# chmod o+t /test/ //只允许删除自己的文件

然后我们在进行测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
经过测试已经符合题意要求

案例二:技术部需要一个文件服务器,用于存放常用的软件工具,所有人都可以访问,但是只有技术部里的用户可以写入

设置配置文件
在这里插入图片描述
根据配置创建资源文件
[root@localhost test]# groupadd jishubu 创建jishubu这个组

[root@localhost test]# gpasswd -a zhangsan jishubu把张三用户添加进技术部组里

在这里插入图片描述

设置目录级别的权限
[root@localhost soft]# setfacl -m g:jishubu:rwx /soft 对jishubu这个组设置rwx权限
[root@localhost soft]# systemctl restart smb nmb 重启服务
进行测试
在测试之前可以先清一下缓存
按win+r输入cmd输入net use * /delete
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以正常上传文件
在这里插入图片描述
在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注软件测试)
[外链图片转存中…(img-jKRSq87C-1713332786733)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值