详解Samba中的smbpasswd

Category : 工作学习 / Tags : , / Date : 2006.11.01 / /

  名称  
  smbpasswd – 改变用户的SMB口令  
 
  语法  
 
  smbpasswd [-a] [-d] [-e] [-D debug level] [-n] [-r remote_machine] [-R name  resolve order] [-m] [-j DOMAIN] [-U username] [-h] [-s] username  
 
  描述

  此程序是samba套件的一部分。  
      
  smbpasswd程序有几个不太一样的功能,这取决于它被root账号还是其它账号来使用。当普通用户运行它时,用户可以通过SMB会话在任何保存SMB口令的机器上改变他们的口令。  
    
  默认情况下(不带参数运行)它会尝试在本地改变当前用户的SMB口令。这和passwd (1)程序的工作方式类似。不过,smbpasswd和passwd具有setuid root特性还是不一样的,除非当它工作在客户机-服务器模式并且与本地运行中的smbd通信时。为了实现这样的结果,  
smbd守护程序必须在本地主机上运行。在UNIX主机上通常用smbpasswd (5)来存放SMB的加密口令。  
  
  当普通用户不带选项来运行这个程序时,smbpasswd会向他们提示输入原SMB口令并询问所需的新口令两次,这时必须确保输入正确,输入时屏幕并不显示任何口令字符。如果你用了一个空SMB口令(在smbpasswd文件中会指定字串“NO PASSWORD”)的话,在程序提示输  
入原口令时可以直接输入键。  
 
  普通用户也可以在远程主机(例如NT域控制器)上用smbpasswd来改他们的SMB口令。详细情况请参见以下的(-r)和-U两个选项。  
  
  当root运行这个程序时,smbpasswd可以在smbpasswd文件中增删用户,也可以改变用户属性。这时,程序会直接访问本地smbpasswd文件,甚至smbd并没有在运行时也可以。  
 
  选项  
  -a

  通过在这个选项后跟上用户名来实现在本地smbpasswd文件中增加用户,并且同时提供新的口令(提示原口令时用)。如果smbpasswd文件中已经存在了这样的用户时,命令就变成通常的改口令模式。注意,所要加入的SMB用户必须在系统口令文件中(通常是  
/etc/passwd)已经存在的用户否则加入操作将会失败。  
 
  只有root运行smbpasswd程序时才可以使用这个选项。  
 
  -d  

  用这个选项后跟用户名来禁止存在于smbpasswd文件中的这个账号。通过在smbpasswd文件的账号控制部分写入'D'标志来实现这个功能。一旦账号被禁止,所有使用这个账号作SMB身份验证的尝试都将失败。  
 
  如果smbpasswd文件还是老格式的话(比如samba 2.0之前版本),在用户口令项中没有这样的账号控制部分可以作任何标志,所以只能向smbpasswd文件中的口令字部分写入'X'字符来达到目的。关于口令文件的新格式和旧格式细节可以参见smbpasswd (5)。

  同样,也只有root运行smbpasswd程序时才可以使用这个选项。  
 
  -e  

  这个选项达到的功能和上面一个正好相反,而使用格式相同。账号被禁止时用来重新允许使用这个账号。如果账号并未被禁止的话,使用这个选项不会有什么结果(废话)。允许账号将使用户再一次可以通过身份验证。  
 
  使用老格式的口令文件时,允许账号会被提示输入一个新口令;使用新格式时会清除smbpasswd文件中账号控制部分的'D' 标志。关于口令文件的新格式和旧格式细节可以参见smbpasswd (5)。  
 
  只有root运行smbpasswd程序时才可以使用这个选项。  
 
  -D debuglevel

  调试级是个0到10的整数。如果不指定具体的数值时默认为0。  

  这个值越高,将记录越多关于smbpasswd活动的资料。在把调试级设为0时,只记录紧急错误和严重警告。  

  1以上的调试级将产生相当多的记录数据,并且只在研究问题时才有用。3以上的调试级只被设计为让开发者使用并会产生极大数量的记录数据,而且其中很多部分非常难以理解。  
 
  -n  

  用这个选项后跟用户名来把这个账号的口令设为空(例如空口令)。程序会把smbpasswd文件中口令项的第一部分都改为“NO PASSWORD”。(我试了一下,都是“NOPASSWORDXXXXXXXXX”这种形式)  
 
  注意如果希望用户以空口令登录到samba服务器,管理员必须在smb.conf配置文件的

  [global]段中设置以下的参数:  
  null passwords = true  
  只有root运行smbpasswd程序时才可以使用这个选项。  
 
  -r remote machine name  

  使用这个选项来让用户指定他们所希望改变口令的主机,不用此参数时默认对本地更改口令。SMB/CIFS服务器会试图联接以“remote machine name”作为NetBIOS名字的主机以更改口令。Samba套件中的所有程序都使用标准的名字解析机制来把这样的名字转换成IP地  
址。请参见-R name resolve order参数获得改变解析机制的详细信息。  
 
  用这个选项更改的用户账号就是当前登录UNIX的账号。要改变其它用户名可以参见-U username参数中的细节。  
 
  注意,如果要改变一个NT域账号,指定的远程主机必须是域中的主域控制器,因为备份域控制器只维护用户账号数据库的只读复本,而不能更改。  
 
  还需注意的是Windows 95/98实际根本没有口令数据库,所以不可能更改远程Win95/98主机上的口令。



无觅相关文章插件,快速提升流量

Pages: 1 2

Comments

There are no comments.

Leave a Reply

You must be logged in to post a comment.

传奇 似水流年 绽放 风筝 八月照相馆