pdbedit — 管理 SAM 数据库

9 篇文章 0 订阅

pdbedit — 管理 SAM 数据库(Samba 用户数据库)

梗概

pdbedit [-L|–list] [-v|–verbose] [-w|–smbpasswd-style] [-u|–user=USER] [-N|–account-desc=STRING] [-f|–fullname=STRING] [-h|–homedir=STRING] [-D|–drive=STRING] [-S|–script=STRING] [-p|–profile=STRING] [-I|–domain=STRING] [-U|–user SID=STRING] [-M|–machine SID=STRING] [-a|–create] [-r|–modify] [-m|–machine] [-x|–delete] [-b|–backend=STRING] [-i|–import=STRING] [-e|–export=STRING] [-g|–group] [-y|–policies] [–policies-reset] [-P|–account-policy=STRING] [-C|–value=LONG] [-c|–account-control=STRING] [–force-initialized-passwords] [-z|–bad-password-count-reset] [-Z|–logon-hours-reset] [–time-format=STRING] [-t|–password-from-stdin] [-K|–kickoff-time=STRING] [–set-nt-hash=STRING] [-?|–help] [–usage] [-d|–debuglevel=DEBUGLEVEL] [–debug-stdout] [–configfile=CONFIGFILE] [–option=name=value] [-l|–log-basename=LOGFILEBASE] [–leak-report] [–leak-report-full]

描述

该工具是 samba(7) 套件的一部分。

pdbedit 程序用于管理存储在 sam 数据库中的用户帐户,并且只能由 root 运行。

pdbedit 工具使用 passdb 模块化接口,独立于所使用的用户数据库类型(目前有 smbpasswd、ldap、nis+ 和 tdb,并且可以在不更改工具的情况下添加更多)。

使用 pdbedit 有五种主要方法:添加用户帐户、删除用户帐户、修改用户帐户、列出用户帐户、导入用户帐户。

选项

-L|--list

此选项列出用户数据库中存在的所有用户帐户。 此选项打印由 ‘:’ 字符分隔的用户/uid 对列表。

# pdbedit -L

sorce:500:Simo Sorce
samba:45:Test User

-v|--verbose

此选项启用详细列表格式。 它使 pdbedit 列出数据库中的用户,以描述性格式打印出帐户字段。 与 -w 一起使用还显示密码哈希。

# pdbedit -L -v

---------------
username:       sorce
user ID/Group:  500/500
user RID/GRID:  2000/2001
Full Name:      Simo Sorce
Home Directory: \\BERSERKER\sorce
HomeDir Drive:  H:
Logon Script:   \\BERSERKER\netlogon\sorce.bat
Profile Path:   \\BERSERKER\profile
---------------
username:       samba
user ID/Group:  45/45
user RID/GRID:  1090/1091
Full Name:      Test User
Home Directory: \\BERSERKER\samba
HomeDir Drive:  
Logon Script:   
Profile Path:   \\BERSERKER\profile

-w|--smbpasswd-style

此选项设置“smbpasswd”列表格式。 它将使 pdbedit 列出数据库中的用户,以与 smbpasswd 文件格式兼容的格式打印出帐户字段。 (有关详细信息,请参阅 smbpasswd(5))。 相反,与 (-v) 一起使用会在详细输出中显示密码哈希。

# pdbedit -L -w

sorce:500:508818B733CE64BEAAD3B435B51404EE:
          D2A2418EFC466A8A0F6B1DBB5C3DB80C:
          [UX         ]:LCT-00000000:
samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:
          BC281CE3F53B6A5146629CD4751D3490:
          [UX         ]:LCT-3BFA1E8D:

-u|--user username

此选项指定用于请求的操作(列出、添加、删除)的用户名。 在添加、删除和修改操作中是必需的,在列表操作中是可选的。

-f|--fullname fullname

此选项可在添加或修改用户帐户时使用。 它将指定用户的全名。

 -f "Simo Sorce"

-h|--homedir homedir

在添加或修改用户帐户时可以使用此选项。 它将指定用户的主目录网络路径。

 -h "\\\\BERSERKER\\sorce"

-D|--drive drive

在添加或修改用户帐户时可以使用此选项。 它将指定用于映射主目录的 Windows 驱动器号。

-D "H:"

-S|--script script

在添加或修改用户帐户时可以使用此选项。 它将指定用户的登录脚本路径。

-S "\\\\BERSERKER\\netlogon\\sorce.bat"

--set-nt-hash

修改用户帐户时可以使用此选项。 它将使用以十六进制字符串形式给出的 nt-hash 值设置用户的密码。 用于同步密码。

--set-nt-hash 8846F7EAEE8FB117AD06BDD830B7586C

-p|--profile profile

在添加或修改用户帐户时可以使用此选项。 它将指定用户的配置文件目录。

-p "\\\\BERSERKER\\netlogon"

-M|'--machine SID' SID|rid

在添加或修改计算机帐户时可以使用此选项。 它将指定机器的新主要组 SID(安全标识符)或 rid。

-M S-1-5-21-2447931902-1787058256-3961074038-1201

-U|'--user SID' SID|rid

在添加或修改用户帐户时可以使用此选项。 它将指定用户的新 SID(安全标识符)或rid。

# -U S-1-5-21-2447931902-1787058256-3961074038-5004
 
#  '--user SID' S-1-5-21-2447931902-1787058256-3961074038-5004

# -U 5004

#  '--user SID' 5004
 
 

-c|--account-control account-control

在添加或修改用户帐户时可以使用此选项。 它将指定用户的帐户控制属性。 下面列出了可能的标志。

  • N: 无需密码
  • D: 账户已禁用
  • H: 要求主目录
  • T: 其他账户的临时副本
  • U: 普通用户账户
  • M: MNS 登录用户帐户
  • W: 工作站信任帐户
  • S: 服务器信任帐户
  • L: 自动锁定
  • X: 密码不过期
  • I: 域信任帐户
 -c "[X ]"

-K|--kickoff-time

此选项用于修改某个用户的启动时间。 使用“never”作为参数将启动时间设置为无限制。

pdbedit -K never user

-a|--create

此选项用于将用户添加到数据库中。 此命令需要使用 -u 开关指定的用户名。 添加新用户时,pdbedit 还会询问要使用的密码。

# pdbedit -a -u sorce
new password:
retype new password

注意

如果已设置unix password sync,pdbedit 不会调用 unix 密码同步脚本。 它只更新 Samba 用户数据库中的数据。

如果希望添加用户并立即同步密码,请使用 smbpasswd-a 选项。

-t|--password-from-stdin

此选项使 pdbedit 从标准输入读取密码,而不是从 /dev/tty 读取密码(就像 passwd(1) 程序所做的那样)。 密码必须提交两次,每次都以换行符结束。

-r|--modify

此选项用于修改数据库中的现有用户。 此命令需要使用 -u 开关指定的用户名。 可以指定其他选项来修改指定用户的属性。 保留此标志是为了向后兼容,但不再需要指定它。

-m|--machine

此选项只能与 -a 选项一起使用。 它将使 pdbedit 添加机器信任帐户而不是用户帐户(-u 用户名将提供机器名称)。

# pdbedit -a -m -u w2k-wks

-x|--delete

此选项使 pdbedit 从数据库中删除一个帐户。 它需要使用 -u 开关指定的用户名。

# pdbedit -x -u bob

-i|--import passdb-backend

使用与 smb.conf 中指定的不同的 passdb 后端来检索用户。 可用于将数据导入本地用户数据库。

此选项将简化从一个 passdb 后端到另一个后端的迁移。

# pdbedit -i smbpasswd:/etc/smbpasswd.old

-e|--export passdb-backend

将所有当前可用的用户导出到指定的密码数据库后端。

此选项将简化从一个 passdb 后端迁移到另一个后端,并将简化备份。

# pdbedit -e smbpasswd:/root/samba-users.backup

-g|--group

如果指定 -g,则 -i in-backend -e out-backend 应用于组映射而不是用户数据库。

此选项将简化从一个 passdb 后端迁移到另一个后端,并将简化备份。

-b|--backend passdb-backend

使用不同的默认 passdb 后端。

# pdbedit -b xml:/root/pdb-backup.xml -l

-P|--account-policy account-policy

显示帐户策略。

有效策略包括:最短密码使用时间、重置计数分钟数、断开连接时间、用户必须登录才能更改密码、密码历史记录、锁定持续时间、最短密码长度、最长密码使用时间和错误锁定尝试。

# pdbedit -P "bad lockout attempt"
account policy value for bad lockout attempt is 0

-C|--value account-policy-value

将帐户策略设置为指定值。 此选项只能与 -P 选项一起使用。

# pdbedit -P "bad lockout attempt" -C 3

account policy value for bad lockout attempt was 0
account policy value for bad lockout attempt is now 3

-y|--policies

如果您指定 -y,则-i in-backend -e out-backend适用于帐户策略而不是用户数据库。

此选项将允许将帐户策略从其默认 tdb-store 迁移到 passdb 后端,例如 LDAP 目录服务器。

# pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host

--force-initialized-passwords

此选项强制所有用户在下次登录时更改密码。

-N|--account-desc description

在添加或修改用户帐户时可以使用此选项。 它将指定用户的描述字段。

-N "test description"

-Z|--logon-hours-reset

在添加或修改用户帐户时可以使用此选项。 它将重置用户允许的登录时间。 用户可以在之后的任何时间登录

-Z

-z|--bad-password-count-reset

在添加或修改用户帐户时可以使用此选项。 它将从指定用户重置存储的错误登录计数器。

-z

--policies-reset

此选项可用于将为域存储的一般密码策略重置为其默认值。

--policies-reset

-I|--domain

在添加或修改用户帐户时可以使用此选项。 它将指定用户的域字段。

-I "MYDOMAIN"

--time-format

当前未使用此选项。

d|--debuglevel=DEBUGLEVEL

level 是从 0 到 10 的整数。如果未指定此参数,则客户端应用程序的默认值为 1。

此值越高,将在日志文件中记录有关服务器活动的更多详细信息。 在级别 0,只会记录严重错误和严重警告。 级别 1 是日常运行的合理级别 - 它会生成少量有关已执行操作的信息。

高于 1 的级别将生成大量日志数据,仅应在调查问题时使用。 3 级以上的设计仅供开发人员使用,并生成大量日志数据,其中大部分非常神秘。

请注意,在此处指定此参数将覆盖 smb.conf 文件中的log level 参数。

--debug-stdou

这会将调试输出重定向到 STDOUT。 默认情况下,所有客户端都登录到 STDERR。

--configfile=<configuration file>

指定的文件包含客户端所需的配置详细信息。 此文件中的信息可以是客户端和服务器的通用信息,也可以仅提供客户端特定的类似选项,例如客户端 smb 加密client smb encryp。 有关详细信息,请参阅 smb.conf。 默认配置文件名是在编译时确定的。

--option=<name>=<value>

从命令行将 smb.conf(5) 选项“”设置为值“”。 这会覆盖从配置文件中读取的编译默认值和选项。 如果名称或值包含空格,请将整个 --option=name=value 括在引号中。

-l|--log-basename=logdirectory

日志/调试文件的基本目录名称。 将附加扩展名“.progname”(例如 log.smbclient、log.smbd 等…)。 客户端永远不会删除日志文件。

--leak-report

在退出时启用talloc 泄漏报告。

--leak-report-full

在退出时启用完整的talloc 泄漏报告。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值