博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
passdb backend = tdbsam
阅读量:4203 次
发布时间:2019-05-26

本文共 2248 字,大约阅读时间需要 7 分钟。

原文地址:

  passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。

  1.smbpasswd

  passdb backend = smbpasswd

  该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。

  smbpasswd -a 用户名 #添加一个samba用户

  smbpasswd -d 用户名 #禁用一个samba用户
  smbpasswd -e 用户名 #恢复一个samba用户
  smbpasswd -x 用户名 #删除一个samba用户

  2.tdbsam

  passdb backend = tdbsam

  该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户并由其pdbedit管理。

  用户的建立可以先用mksmbpasswd建立一个smppasswd文件,然后用pdbedit将文件里的用户导入数据库。

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

  pdbedit命令的参数很多,我们列出几个主要的:

  pdbedit -i smbpasswd:/etc/samba/smbpasswd

  pdbedit -a username:新建Samba账户。
  pdbedit -x username:删除Samba账户。
  pdbedit -L:列出Samba用户列表,读取passdb.tdb数据库文件。
  pdbedit -Lv:列出Samba用户列表的详细信息。
  pdbedit -c “[D]” –u username:暂停该Samba用户的账号。
  pdbedit -c “[]” –u username:恢复该Samba用户的账号。

  3.ldapsam

  passdb backend = smbpasswd

  该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”。

  注:samba3.x的早期版本默认使用tdb库也就是smb.conf默认设定为passdb backend = tdbsam,只需要注释掉该行添加smb passwd file = /etec/samba/smbpasswd即可使用smbpasswd存储加密密钥。samba3.5.6更加规范了passdb backend参数的使用,取消了smb passwd file设定,如果简单注释掉passdb backend参数,密钥文件也不会被存储到smbpasswd。所以很多人说怎么修改smb.conf的配置,smbpasswd文件都无法生成,就算手工创建,内容也是0字节。 

  这里只能说samba版本升级了,规则也变化了。现在无论是使用tdb数据库存储密钥还是smbpasswd文本存储密钥都要设定相对应的passdb backend参数。要用传统的文本方式存储只需这样设定passdb backend = smbpasswd:/etc/samba/smbpasswd(后面跟的是绝对路径)>,不要再画蛇添足的写上smb passwd file = /etec/samba/smbpasswd,该参数已经不适用于新版本的samba了。

  注意,这里的用户名必须是linux中存在的用户,可以使用useradd命令在系统中添加一个用户,然后再增加一个对应的samba用户,也就是一个用户名使用的是两套密码。一个是系统用户密码,另一个密码存储在/etc/samba/smbpasswd文件中的samba密码,这样可以防止系统用户密钥外泄带来的安全隐患。

  除了上面的措施外,samba还提供了一个更安全的方法,用户名映射功能,这样做的好处是防止系统内的真实用户名暴露,在smb.conf中增加username map = /etc/samba/smbuser设定,再手工建立该文件。username map参数详解,比如有一个系统用户名为zyhyt.org,同时我们也设定其为samba的登录名,虽然是两套独立的密码,但依然告诉了用户,我系统内也存在zyhyt.org这个用户。严格的说这也是违背系统安全规则的,不法人士可能会利用该用户名暴力猜解获得系统内帐户权限。samba提供的用户名映射功能,只需编辑smbuser文>件,格式为:真实的用户名 = 映射出的用户名(随便自定义);zyhyt.org = nas_guest nas_nobody(可以映射出多个用户名,注意中间的空格)。设定完成后,我们只需将nas_guest告诉用户即可,无须担心真实的zyhyt.org用户名暴露。 

转载地址:http://gpsli.baihongyu.com/

你可能感兴趣的文章
用链表实现一元多项式的加、减、乘、求导运算
查看>>
区间不同gcd的个数
查看>>
Class(ACM ICPC 2008–2009, NEERC, Northern Subregional Contest)
查看>>
数字图像处理 实验指导书
查看>>
hdu 4911求逆序数
查看>>
hdu 4920矩阵连乘
查看>>
hdu 4611循环节 Balls Rearrangement
查看>>
Java Number & Math 类
查看>>
数字图像处理实验一代码部分
查看>>
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
查看>>
poj 3869 Headshot(全概率公式)
查看>>
poj 3862 Asteroids三维凸包➕重心
查看>>
poj 3863Business Center
查看>>
POJ 3865 - Database 字符串hash
查看>>
Deposits Gym - 100623D区间能整除的个数
查看>>
Holes Gym - 100623H
查看>>
HDU 5536 Chip Factory (暴力 或者 01Trie)
查看>>
A - Average Score ZOJ - 3819 水
查看>>
I - Information Entropy ZOJ - 3827 水
查看>>
K - Known Notation ZOJ - 3829 贪心
查看>>