总览 SYNOPSIS

smbpasswd

描述 DESCRIPTION

此文件是 Samba(7) 套件的一部分。

smbpasswd是Samba加密的口令文件。文件中包含了用户名,UNIX用户ID和SMB用户口令(经过hash散列算法处理过),还有账号标志信息及上次更改口令时间。samba已经改进了文件格式并和以前的格式有些不同之处。

文件格式 FILE FORMAT

Samba 2.2使用的smbpasswd文件格式和UNIX的passwd(5)文件非常类似。它是个ASCII文件,其中每行内容对应一个用户。每个字段用冒号分隔。任何以#号开始的行将被忽略。对于每个用户在smbpasswd文件中都包含以下的信息:

name
用户名,必须是标准UNIX口令文件中已经存在的用户名。

uid
UNIX的用户标识。必须匹配标准UNIX口令文件中相应用户的UID字段。如果不匹配Samba会拒绝确认用户的整个描述项合法。

Lanman Password Hash
此处是用户口令的32位十六进制编码的LANMAN散列表。LANMAN散列表是用DES加密过的用户口令字串。这也是Windows 95/98使用的口令。注意这份口令编码表在字典攻击法下非常脆弱,并且如果两个用户使用了相同的口令的话,这个口令散列表将会相同(也就是这个口令没有像UNIX口令那样“加工”过)。如果用户使用了空口令,这个部分起始将是“NO PASSWORD”的十六进制字串。而如果这些十六进制字串是32个“X”的话,那么这个用户账号就被禁止了,用户就不能登录到samba服务器上了。

警告!!注意到由于SMB/CIFS验证协议的“请求-响应”特性,任何了解口令散列表信息的人都可以伪装成网络中的其他用户。因此,这些口令散列表信息都相当于只是“明文”一样(plain text equivalents). root以外的任何用户都不应该获得这些数据. 为了保护这些口令,smbpasswd文件被存放到只有root用户可以读取和访问的目录中,而smbpasswd文件本身也必须设成只有root用户可以读/写,而其它人无法访问。

NT Password Hash
指定Windows NT的用户口令散列表,也是32位的十六进制编码。NT的散列表用16位的用户口令,little-endian UNICODE编码建立,然后用MD4算法(互联网草案 rfc1321)产生对应的散列表。

这种口令散列表比Lanman Password Hash更安全,因为它用更高质量的散列算法来维护口令和用户信息。但是它仍然存在当两个用户使用相同口令时口令项相同的问题(没有像UNIX口令那样“加工”过)。

警告!!注意到由于SMB/CIFS验证协议的“请求-响应”特性,任何了解口令散列表信息的人都可以伪装成网络中的其他用户。因此,这些口令散列表信息都相当于只是“明文”一样(plain text equivalents). root以外的任何用户都不应该获得这些数据. 为了保护这些口令,smbpasswd文件被存放到只有root用户可以读取和访问的目录中,而smbpasswd文件本身也必须设成只有root用户可以读/写,而其它人无法访问。

Account Flags
账号标志部分描述了用户账号的属性。在Samba 2.2中这个字段是用‘[’和‘]’字符封闭的。它的长度总是13个字符(包含‘[’和‘]’字符), 内容可以是如下的任何字符。

U - 说明这是一个“用户” 账号,也就是原始用户。在smbpasswd文件中只支持用户和工作站信任账号。

N - 说明这个账号没有口令(Lanman Password Hash和NT Password Hash字段会被忽略)。注意只有在smb.conf(5)配置文件中设定了 null passwords,才允许用户不带口令进行登录。

D - 说明此账号被禁止了,此用户无法登录SMB/CIFS。

W - 说明此账号是个 “工作站信任” 账号。这类账号被用在把samba作为PDC时, NT工作站和服务器加入到域中的时候。

其它标志作为将来功能扩展所用。这个标志字段余下的空间用空格填充。

Last Change Time
这个字段由账号最后修改的时间组成。它以字符LCT(含义是“Last Change Time”)后跟UNIX以秒计的时间编码数字(从epoch(公元1970年)开始计算)。

所有其余用冒号分隔的字段现在都将被忽略。

smbpasswd - Samba加密的口令文件。的更多相关文章

  1. Oracle OS认证 口令文件 密码丢失处理

    Oracle OS认证 口令文件 密码丢失处理 分类: Oracle Basic Knowledge2009-10-19 14:24 5031人阅读 评论(9) 收藏 举报 oracleos数据库sq ...

  2. Linux下OpenSSL加密解密压缩文件(AES加密压缩文件)

    OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法.下面介绍使用Openssl进行文件的对称 ...

  3. 用java 代码下载Samba服务器上的文件到本地目录以及上传本地文件到Samba服务器

    引入: 在我们昨天架设好了Samba服务器上并且创建了一个 Samba 账户后,我们就迫不及待的想用JAVA去操作Samba服务器了,我们找到了一个框架叫 jcifs,可以高效的完成我们工作. 实践: ...

  4. 是否允许处理由Zend Encoder加密的PHP文件

    Zend Optimizer是由PHP核心引擎"Zend"创建者Zend技术公司所开的免费PHP优化软件.据Zend公司透露使用这个软件某些情况下至少可以提高性能30%以上!Zen ...

  5. 关于heritrix安装配置时出现”必须限制口令文件读取访问权限”的解决方法

    转载:http://www.floatinglife.cn/关于heritrix安装配置时出现必须限制口令文件读取访问 最近开始写一个RSS聚合程序,需要爬虫支持,于是就整来heritrix,没想到, ...

  6. Samba nsswitch/pam_winbind.c文件输入验证漏洞

    漏洞名称: Samba nsswitch/pam_winbind.c文件输入验证漏洞 CNNVD编号: CNNVD-201312-047 发布时间: 2013-12-05 更新时间: 2013-12- ...

  7. ORACLE模拟临时文件、日志成员、口令文件丢失情况与恢复【weber出品】

    一.临时表空间文件.日志文件和口令文件都属于非关键性文件,因为这些文件丢失后并不会影响到整个数据库的完整性. 但是,当这些文件丢失后我们需要快速的找回这些文件.接下来我将模拟临时表空间文件.日志文件和 ...

  8. oracle使用口令文件验证和os验证

    一.Oracle安装之后默认情况下是启用了OS认证的,这里提到的os认证是指服务器端os认证.OS认证的意思把登录数据库的用户和口令校验放在了操作系统一级.如果以安装Oracle时的用户登录OS,那么 ...

  9. linux md5 加密字符串和文件方法

    linux md5 加密字符串和文件方法 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意 ...

随机推荐

  1. [BZOJ] 地精部落

    问题描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度为 N 的山脉 H 可分 为从左到右的 N 段,每段有一个独一无二的高度 Hi,其中 Hi ...

  2. OC中保存自定义类型对象的持久化方法

    OC中如果要将自定义类型的对象保存到文件中,必须进行以下三个条件: 想要把存放自定义类型的数组进行 持久化(就是将内存中的临时数据以文件<数据库等>的形式写到磁盘上)必须满足: 1. 自定 ...

  3. JLRoutes笔记

    1.在info.plist中添加 <key>CFBundleURLTypes</key> <array> <dict> <key>CFBun ...

  4. 修改Oracle数据库SGA和PGA大小

    SGA的大小:一般物理内存20%用作操作系统保留,其他80%用于数据库.SGA普通数据库可以分配40%-60%之间,PGA可以分配20%-40%之间.1.以dba身份登录并查看SGA信息:SQL> ...

  5. UE4 中的Blutilities

    该功能是为编辑器中的简单扩展功能而设置的. 一般而言用蓝图在编辑器中做功能扩展都会用到Construction Script,但该功能有一些缺陷: 首先在actor发生任何变化(包括Transform ...

  6. 后端技术杂谈11:十分钟理解Kubernetes核心概念

    本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 本文转自 https://github.com/h2pl/Java-Tutorial 喜欢的 ...

  7. videojs实践--兼容ie7,8

    1,还是先上图 ie9+,ff,chrome,,,

  8. DG-V$MANAGED_STANDBY视图

    V$MANAGED_STANDBY displays current status information for some Oracle Database processes related to ...

  9. C#-概念-基础类库:基础类库

    ylbtech-C#-概念-基础类库:基础类库 基础类库 (BCL) 是微软所提出的一组标准库可提供.NET Framework所有语言使用. 随着 Windows 以及 .NET Framework ...

  10. Python——GUI可视化

    import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class ...