删除samba用户:pbdedit与smbpasswd,有什么区别?


12

之间有什么区别

$ pdbedit -x

$ smbpasswd -x

删除samba用户?


现在还有samba-tool user delete,谁知道samba-tool和其他工具(smbpasswdpdbedit)之间有什么区别?
Antonio Vinicius Menezes Medei

Answers:


8

双方smbpasswdpdbedit可以用于Samba用户管理。

回答问题:从Samba 4开始,这两个命令之间没有区别。这两个命令都将在同一个文件进行操作-无论是在smbpasswd中tdbsam行格式-和做的工作。

扩大答案:

smbpasswd是较旧的。它用于管理以相同名称-smbpasswd的文件格式存储的Samba凭据。在基于RedHat的发行版中,该文件的默认路径为/etc/samba/smbpasswd(为清楚起见:该程序本身,文件格式以及该程序所使用的该格式的默认文件smbpasswd都称为smbpasswd)。

pdbedit在Samba 3开发周期中提出来替代smbpasswd。从root用户的角度来看,pdbeditsmbpasswd可以执行所有可能的操作以及它们的超集(管理帐户安全性和策略设置)。用于存储Samba凭据的“本机”格式pdbedittdbsam-基于普通数据库的密码存储后端。在基于RedHat的发行版上,默认文件路径为/var/lib/samba/private/passdb.tdb

问题pdbedit在于它只能由root smbpasswd用户使用,而普通用户可以用类似于passwdLinux系统帐户命令的方式来更改其Samba密码。因此,我的理解是,从Samba 4开始,用户管理工作将传递给非root用户,pdbeditsmbpasswd留给非root用户更改密码(尽管root仍然可以smbpasswd有限的方式用于管理Samba凭据存储)。


4

pbdedit手册页中

摘抄

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

smbpasswd手册页

摘抄

默认情况下(不带任何参数运行时)它将尝试在本地计算机上更改当前用户的SMB密码。这类似于passwd(1)程序的工作方式。smbpasswd与passwd程序的工作方式不同,它不是setuid根目录,而是在客户端-服务器模式下工作,并与本地运行的smbd(8)通信。因此,为了使此操作成功,smbd守护程序必须在本地计算机上运行。在UNIX计算机上,加密的SMB密码通常存储在smbpasswd(5)文件中。

因此pbdedit可以操纵各种Samba密码后端,而smbpasswd只能操纵该类型的后端。


使用当前版本的Samba,我已经在CentOS 7上安装了(4.1.1),我的测试表明这两个命令都可以操纵smbpasswdtdbsam文件格式(也许在处理tdbsam文件格式时在下面smbpasswd调用)。pdbedit
golem

@golem-是的,我是使用Samba 3.x编写的。这个Q在目前的形式上太含糊,因为它没有列出任何特定版本的Samba。3.x无法如手册页所示。
slm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.