Posts Tagged samba
利用Samba构建WinNT域
一、修改配置文件:
workgroup = YOURDOMAIN.com //#构建的域名
netbios name = NAME
security = user //#共享的安全级别
encrypt passwords = yes //#使用加密过后密码
smb passwd file = /etc/samba/smbpasswd //#加密密码存放的位置;
domain logons = yes //#启用域登录;
domain master =yes //#将SAMBA设置成域主浏览器 (即:主域控制器)
perferred master = yes
local master =yes //#提供本地浏览
os level = 64 //#设置操作系统级别,能够使SAMBA域成为域控制器
logo script =scripts%U.bat //#启用用户登录脚本
wins support = yes //#将SAMBA设置成WINS服务器
二、设置netlogon共享
netlogon共享是登录到域服务器时必须有的共享目录,其netlogon共享目录设置如下:
[netlogon]
path = /usr/local/samba/netlogon
read only = yes
browseable = no
share modes =no
三、建立机器间的信任关系及用户的建立(NT/2000/XP)
因为NT的域认证基于机器信任账号来进行。所以必须在Samba服务器上先创建机器账号
adduser -d /dev/null -r qcy$ -s /bin/flase 创建本地机器账号之后,在创建SAMBA机器账号
smbpasswd -a -m qcy 其中:-a 是添加 -m是创建机器信任账号,
因为加入到NT域中需要管理员的干预所以我们还得将ROOT账号添加到SAMBA用户当中
当计算机之间建立的信任关系之后我们就可以把我们WINDOWS2000/NT机器加入到linux的虚拟域中.
现在我们添加SAMBA用户 :
useradd test1 (添加系统用户并建立其主目录)
passwd test1
smbpasswd -a test1 OR smbadduser test1:test1 (建立SAMBA用户)
四、当系统和SAMBA用户添加完成之后,就在新建用户的主目录下建立一个.profile.pds文件夹,其作用
是用来存放用户的配置文件。建立这个文件的时候最好是用SU切换到该用户(su test1),这样建立
的好处是直接拥有该文件夹的所有权,以便在用户登录的时候可以很好建立和存储配置文件
FreeBSD下使用HP LaserJet
按:这个方法是原先我在FB下架设Samba服务器,为实现与windows用户共享打印时,参考了HP英文官方站点(中文站点没有提供相应的解决方案,很是气人)总结出来的。
安装驱动程序HPILJS
#cd /usr/ports/print/hpijs
# make install clean
比较漫长的等待
设置远程控制cupsd
cupsd是一个*nix下管理打印机的小工具,如果起初没有安装的话,利用比较懒汉化的ports到这一步应该已经自动添加了cupsd包,你可以采用pkg_info | grep cups命令确认一下。
cupsd提供也一个web界面的管理工具,但默认只允许用户从本地登录,如不得不从远程登录(比如只安装了控制台界面),需要修改一下 /usr/local/etc/cupsd.conf :
添加BrowseAddress *
并将类似于(2处):
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
改为:
Order Deny,Allow
Allow From All
重启服务
#killall cupsd
#cupsd
cupsd设置本地打印
用浏览器访问631端口 http://服务器地址:631/
浏览器会提示你输入口令和密码,用户名为root,密码是你的root密码。

单击“printers"

单击"add printers"
- Name 打印机名称,可以随便写,但不允许有空格.
- location : 端口,新的打印机都是USB口的了吧?
- Description随便随便,不写都成.
- Continue.
在上图所示的地方填入hp:/usb/你的打印机型号?serial=打印机序列号,打印机序列号贴在机器背面,如果没有请参见说明书。
厂商:本文介绍的就是HP喽。
题外话:看到一篇报道,有超过70%的打印机不提供linux的驱动程序,而相对于其他打印机厂商,HP对于linux的支持还是非常不错的。如果你需要买一款linux支持的比较好的打印机,推荐购买HP的laser jet系列(广告之嫌)。
选择型号,不用多说,不过好像没有一个型号拥有中文的驱动,很是郁闷。
Continue 添加结束,来张测试?
添加网络打印机
其实上面添加打印机的过程中你已经可以看到location下拉中有网络的选项了。选择后:
选择"AppScoket/HP JetDirect"

URI地址写成: hp:/net/打印机型号?ip=打印服务器IP"

照旧

还是照旧
Samba 3.0.10 的 MySQL 用户表验证
Samba 让 Linux 的灵活性表露无遗。在公司的局域网内部,我十分喜欢 Samba 的自由自在。
安装和编译的步骤并不复杂,但是需要了解为了支持 MySQL 认证,编译时需要的参数,以及配置时采用正确的参数。
编译命令:
$ ./configure –with-expsam=mysql –with-mysql-prefix=/opt/mysql
如果以上命令成功的话,然后就是 make ; make install 了。
然后拷贝一个 examples 下的 smb.conf 到 /usr/local/samba/lib 。
用 /usr/local/samba/sbin/smbd -D 即可启动。
用 smbstatus 命令可以查看 Samba 服务器的状态。
下面配置 MySQL 的支持。 和 MYSQL 相关的配置有以下几行:
[global]
# passdb backend = plugin:/usr/local/samba/lib/pdb/mysql.so:mysql
passdb backend = mysql:mysql
mysql:mysql host = localhost #主机名
mysql:mysql port = nnnn #端口号,默认3306
mysql:mysql user = samba #mysql用户
mysql:mysql password = password #mysql密码
mysql:mysql database = smb_user #数据库名
mysql:mysql table = user #数据表,似乎没有用处
……
建立 smb_user.user 表的脚本可以从 examples/pdb/mysql 目录下的 mysql.dump 导入,如果使用的版本是samba3,还需要单独手工增加“logon_hours"键值,这个目录下的 smb.conf 是一个最简单的配置,可以供参考。但是这个文件有几个地方是错的。
最主要的就是上面注释掉的那行,我发现根据这个 sample 不能使用,后来修改为简单的
mysql:mysql 后就能使用了。
具体的调试还是必须看相关的日志文件,如果是数据库连接错误,相关的日志文件会报告数据库不能连接的错误。
这样,一个基于 MySQL 用户的 Samba 系统建立了起来。
如果安装了swat,可以运行一下,重新格式化一下配置文件,这样看起来更方便一些。
但是,目前没有现成的完全基于 PHP 的针对 Samba 口令的修改程序。因为 user 表中的 lm_pw 和 nt_pw 分别代表口令的散列,其算法相对比较复杂, 远远不是 PHP 和 MySQL 提供的 encrypt() md5() 之类的函数能解决的。
如果有读者已经发现或者已经研发出纯 PHP 的修改 lm_pw 和 nt_[pw 字段的程序,欢迎一起交流。

近期评论