鸟哥的Linux私房菜学习笔记之SAMBA
发表于:2025-12-05 作者:千家信息网编辑
千家信息网最后更新 2025年12月05日,NFS仅能让Unix/linux之间共享数据,CIFS仅能让Win之间沟通SAMBA:跨平台的文件共享服务主要用于局域网内SAMBA常见的应用: 共享文件与打印机服务 可以提供用户登录SA
千家信息网最后更新 2025年12月05日鸟哥的Linux私房菜学习笔记之SAMBA
NFS仅能让Unix/linux之间共享数据,CIFS仅能让Win之间沟通
SAMBA:
跨平台的文件共享服务
主要用于局域网内
SAMBA常见的应用: 共享文件与打印机服务 可以提供用户登录SAMBA主机时的身份认证,以提供不同身份用户的个别数据 可以进行Windows网络上的主机名解析(NetBIOS Name) 可以进行设备的共享(例如Zip、CD-ROM)SAMBA是架构在NetBIOS这个通信协议上面开发出来的NetBIOS 由IBM开发 NetBIOS: Windows基于于主机实现互相通信的机制; 15个字符 NetBIOS无法跨路由通信 通过NetBIOS over TCP/IP 可以实现跨路由使用SAMBA服务器所提供的功能NetBIOS Name 由于NetBIOS主要定义在局域网内,因此并没有使用TCP/IP之类的传输协议,也就不需要IP的设置。 俩台主机间的通信,通过主机在NetBIOS协议中使用NetBIOS Name,每台主机使用不同的NetBIOS 文件数据在不同的NetBIOS Name之间沟通。SAMBA的主要服务: nmbd: 管理工作组,NetBIOS Name 等的解析,使用UDP 137,138端口,向客户端提供构造在IP之上的NetBios名字服务的NetBios名字服务器 smbd:管理SAMBA主机共享的目录,提供文件共享和打印服务的服务器进程。使用TCP 139和445端口。使用smb或cifs协议 向客户提供文件共享空间和打印服务。SAMBA的常见局域网连接方式: Peer/Peer对等模式(Workgroup model,对等模式) 每台计算机均可以独立运作,不受他人影响。 适用于小型的网络,或者是不需要常常进行文件数据共享的网络环境,或者每个用户都拥有该计算机的拥有权。 Domain model(主控模式) 将所有计算机的账号和密码都放置在一台主控计算机(PDC)上面,任何人使用任何计算机时,都需要通过PDC服务器的辨识后,才给以适当的权限。SAMBA所需要的软件: samba:samba服务端程序 samba-client:samba的Linux客户端 samba-common:服务端与客户端都会使用到的数据SAMBA 用户账号必须要存在于Linux系统当中(/etc/passwd),但是SAMBA的密码与linux的密码文件并不相同
samba用户:
账号:都是系统用户, /etc/passwd
密码:samba服务自有密码文件,
将系统用户添加为samba的命令:pdbedit pdbedit -u :指定用户名 -a :添加一个可使用的SAMBA账号,账号需要在/etc/passwd 内存在 -r :修改一个账号的相关信息 -x :删除一个SAMBA账号 -L :列出目前在数据库当中的账号与UID等相关信息 -v :与 -L 搭配使用列出更详细的信息 修改SAMBA账号密码 smbpasswd:SAMBA的配置文件: /etc/samba/smb.conf #samba主配置文件 /etc/sysconfig/samba #提供启动smbd,nmbd时,还想要加入的相关参数。 /var/lib/samba/private/{passdb.tdb,secrets.tdb} 管理samba的用户账号/密码时,会用到的数据库文件 /usr/share/doc/samba-<版本>:samba技术手册 /usr/bin/{smbd,nmbd} #samba服务端服务程序 /usr/bin/{tdbdump,tdbtool} #samba3.0以后的版本中,用户的账号密码参数已经使用数据库管理,samba使用的数据库为TDB。 tdbdump可以查看数据库的内容,tdbtool可以进入数据库手动修改账户及密码参数。(需安装tdb-tools) /usr/bin/smbstatus #列出当前samba的连接状况,包括PID,共享的资源,使用的用户来源等。 /usr/bin/pdbedit #管理samba用户数据 /usr/bin/testparm #检查主配置文件smb.conf的语法错误 /usr/bin/smbclient #查看其他计算机共享出来的目录与设备,或在自己的samba主机上,查看samba是否设置成功 /usr/bin/nmblookup #查出NetBios Name /usr/bin/smbtree #查出工作组与计算机名称的树形目录分布图SAMBA的主配置文件;(#号与;都是注释文件) /etc/samba/smb.conf 主机信息的配置: [global] workgroup = MYGROUP #工作组的名称,共享文件客户端服务端工作组要相同 netbios name = MYSERVER #主机的NetBIOS Name名称,每部主机均不同 server string = Samba Server Version %v #主机的简易说明 display charset=xx 自己服务器上面的显示编码 unix charset=xx 在Linux服务器上所使用的编码 dos charset=xx Windows客户端的编码 host allow=IP 访问权限设定,指定IP的主机可以访问SAMBA服务 关于语言的设定可参考: http://phorum.vbird.org/viewtopic.php?t=22001 log file=xx 日志文件的存储文件 max log size=xx 日志文件最大多大 security=xxx share,user,domain 三选一 share:共享的数据不需要密码,大家均可使用(安全性差) user:使用samba服务器本身的密码数据库 domain:使用外部服务器的密码,也就是samba时客户端的意思,需要password server=IP 的设置值 encrypt passwords=YES 密码是否加密 passdb backend=数据库格式 共享信息的配置: [共享名称] path=xxx 实际共享的目录 comment:共享目录的说明 guest ok=yes 允许以缺省的guest用户权限进行访问(缺省权限为guest account 设置的权限,缺省设置为nobody,编译时指定) browseable:是否让所有用户看到这个目录 writable:是否可以写入 write list=@组 可以进入此资源的特定用户组 create mode=xx 创建文件的相关权限 directory mode=xx 创建目录的权限 read only = yes 是否只读 检查配置文件语法正确: testparm 命令 -v:查阅完整的参数设置,连同默认值也会显示出来 smbclient命令: 查看其他计算机共享出来的目录与设备,或在自己的samba主机上,查看samba是否设置成功 smbclient -L [//主机或IP] [-U 用户账号] -L:仅查询后面连接的主机所提供的共享资源目录 -U:以指定的账号来尝试访问该主机的可用资源基于挂载的方式访问: mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
服务
文件
主机
用户
数据
密码
账号
目录
数据库
服务器
计算机
客户
权限
配置
信息
管理
不同
参数
名称
客户端
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
衡水展厅互动软件开发公司
服务器管理器打印服务
数据库找出最高工资的人
集合论软件开发
社交app服务器硬盘多大合适
怎么学软件开发快
浪潮服务器查看sn码
sql语句统计数据库
数据库参考硬件
iis搭建ftp服务器
手机百度为什么连接不上服务器
重庆培训软件开发机构
湖南服务器电源价格
如何给数据库视图增加列
鸿蒙系统与谷歌服务器
小米的云服务器是干嘛的
服务器的部署方案
软件开发过程模型及优缺点
北京市的互联网科技公司
软件开发行业就业前景报告
价值网络技术有限公司
网络安全至家长一封信
互联网科技公司请假条
宁夏科技互联网公司招聘
网络安全评价方法
服务器就一块硬盘要做raid吗
联想服务器硬盘灯一直闪绿灯
sql数据库网络配置空白
计算机网络技术测试卷
什么企业有软件开发需求