分类: 系统运维
2011-10-19 23:59:34
在本章前面介绍到,在采用user工作模式的Samba服务器在发布共享资源后,客户端访问Samba服务器时需要提交用户名和密码进行身份验证。但是Samba服务器不是直接采用当前Linux系统中的用户账户数据库,而是有专门的账户系统,那就是账户文件/etc/Samba/smbusers和密码文件/etc/Samba/smbpasswd 。但这两个文件在安装Samba服务器是不是默认创建的,需要我们手动根据自己需要垭创建。
那么如何建立Samba账户系统呢?方法有两种,一是直接从Samba服务器当前的Linux系统用户账户系统映射,二是使用smbpasswd命令手动创建。前者会把Linux系统中的用户账户系统(从/etc/passwd文件中)全部复制一份到对应的Samba服务器用户和密码文件中。后者比较灵活,可以只创建需要用于Samba服务器访问的用户。但所创建的用户必须在Linux系统用户账户系统中存在的。
先介绍手动创建方式。在Samba服务器终端提示符下使用smbpasswd命令(详细选项通过—help选项可以查看)按以下格式创建Samba服务器用户:
smbpasswd -a 用户名
如要创建一个在Linux系统中已有的账户winda(如果所创建的用户名在当前Linux系统中不存在,则创建不会成功),则在终端提示符下输入以下命令,按提示两次输入账户密码(也必须与Linux系统中对应账户的密码完全一样)后即完成新的Samba账户的创建。整个过程如图7-15所示。用同样的方法创建其他所需的用户账户。在创建好第一个Samba服务器用户账户后即会自动生成/etc/Samba/smbusers和/etc/Samba/smbpasswd这两个文件,如图7-16所示。
图7-15 使用smbpasswd命令创建Samba服务器用户账户的过程示例
图7-16 创建好第一个Samba服务器账户后自动创建的两个文件
以上创建方法在仅需要创建比较少用户时比较有效,如果用户比较多,这种方式显然不好使,工作量太大。这时我们可以通过使用/usr/bin/mksmbpasswd.sh脚本程序把/etc/passwd中的用户账户全部导入到etc/Samba/smbpasswd文件中。具体命令如下:
cat /etc/passwd | mksmbpasswd.sh>/etc/Samba/smbpasswd
再打开smbpasswd文件,可以看到,此时的用户账户密码是加密的(密码全部以X显示),如图7-17所示。这时,因为密码是加密的,不能直接在Samba服务器登录中使用,还需要使用smbpsswd命令为用户设置非加密密码。设置格式如下:
smbpsswd –s 用户账户
然后在下面两次输入密码即可。所以总体来说,也比较麻烦,还得为用户一一设置密码。还是直接使用smbpasswd命令来创建用户吧。
图7-17 导入的smbpasswd密码文件
本文摘自《(金牌网管师——大中型企业网络组建》第七章