7.4.2 创建与配置smbpasswd密码文件
在本章前面介绍到,在采用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系统中不存在,则创建不会成功),则在终端提示符下输入以下命令: - smbpasswd -a winda
按提示两次输入账户密码(也必须与Linux系统中对应账户的密码完全一样)后即完成新的Samba账户的创建。整个过程如图7-16所示。用同样
的方法创建其他所需的用户账户。在创建好第一个Samba服务器用户账户后即会自动生成/etc/Samba/smbusers和/etc/Samba
/smbpasswd这两个文件,如图7-17所示。
|
图7-16 使用smbpasswd命令创建Samba服务 用户账户的过程示例 |
|
图7-17 创建好第一个Samba服务器账户后自动创建的两个文件 | 以
上创建方法在仅需要创建比较少的用户时比较有效,如果用户比较多,这种方式显然不好用,工作量太大。这时可以通过使用/usr/bin
/mksmbpasswd.sh脚本程序把/etc/passwd中的用户账户全部导入到etc/Samba/smbpasswd文件中,具体命令如下:
- cat /etc/passwd | mksmbpasswd.sh>/etc/Samba/smbpasswd
再打开smbpasswd文件,可以看到,此时的用户账户密码是加密的(密码全部以X显示),如图7-18所示。这时,因为密码是加密的,不能直接在Samba服务器登录中使用,还需要使用smbpasswd命令为用户设置非加密密码,设置格式如下: - smbpasswd -s 用户账户
然后在下面两次输入密码即可。所以总体来说,也比较麻烦,还得为用户一一设置密码。还是直接使用smbpasswd命令来创建用户吧。
|
(点击查看大图)图7-18 导入的smbpasswd密码文件 |
|