IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Samba用户管理

    bear发表于 2015-11-27 03:28:36
    love 0

    samba有三种用户密码验证方式:smbpasswd、tdbsam和ldapsam。

    smbpasswd是使用一个smbpasswd文件来存储用户信息(通常位于/etc/samba/smbpasswd,文件格式类似于/etc/passwd),使用smbpasswd命令来管理用户,要添加/管理的用户必须先是系统用户。
    在旧版本的Samba中,如果指定了passdb backend = smbpasswd,那么还需要指定smb passwd file =/etc/samba/smbpasswd。

    tdbsam是使用一个.db的文件来存储用户信息,使用pdbedit命令来管理用户,要添加/管理的用户必须先是系统用户。

    新版Samba的密码验证方式已使用tdbsam取代smbpasswd,但如果要继续延用旧版smbpasswd也是可以的。新版的tdbsam需要用pdbedit命令来管理帐号密码。

    $ grep backend /etc/samba/smb.conf 
       passdb backend = tdbsam
    

    使用新版tdbsam管理帐号

    pdbedit -a username    #新建Samba账户
    pdbedit -x username    #删除Samba账户
    pdbedit -v username    #显示账户详细信息
    pdbedit -L             #列出Samba用户列表,读取passdb.tdb数据库文件
    pdbedit -Lv            #列出Samba用户列表详细信息
    

    使用旧版smbpasswd管理帐号

    $ vim /etc/samba/smb.conf
     passdb backend = smbpasswd #将tdbsam改为smbpasswd
     encrypt passwords = yes
     smb passwd file = /etc/samba/smbpasswd
    
    重启服务
    $ service smb restart
    $ service nmb restart
    

    将旧版smbpasswd导入tdbsam

    $ vim /etc/samba/smb.conf
     passdb backend = tdbsam smbpasswd #在后面增加smbpasswd
    
    $ service smb restart
    $ service nmb restart
    
    将smbpasswd导入
    $ pdbedit -i smbpasswd -e tdbsam
    
    检查帐号是否导入
    $ pdbedit -L
    
    $ service smb restart
    $ service nmb restart
    

    注意:在Samba 3.0.7以后的版本,nmb不会随着smb启动,nmb服务跟NetBIOS Name名称解析有关,没有启动会造成Windows端找不到Linux主机。

    一些资料
    Some commands to convert samba backend password-databases.

    If you use “passdb backend = smbpasswd” in your smb.conf you must convert your system-user accounts to smbpasswd:

    cat /etc/passwd | mksmbpasswd >/etc/samba/smbpasswd
    

    If you use “passdb backend = tdbsam” in your smb.conf you must convert your system-user accounts to passdb.tdb:

    pdbedit -i smbpasswd:/etc/samba/smbpasswd -e tdbsam:/etc/samba/passdb.tdb
    

    And ensure the global section of smb.conf has such an entry:

    passdb backend = tdbsam
    


沪ICP备19023445号-2号
友情链接