安装 samba 记录
Linux系统:LFS 6.1 in vmware虚拟机
软件版本: samba-3.0.14a.tar.bz2
安装过程
cd samba-3.0.14a\source
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-piddir=/var/run --with-fhs --with-smbmount
make
install -v -m755 -d /var/cache/samba
make install
mv -v /usr/lib/samba/libsmbclient.so /usr/lib
ln -v -sf ../libsmbclient.so /usr/lib/samba
chmod -v 644 /usr/include/libsmbclient.h
install -v -m755 nsswitch/libnss_win{s,bind}.so /lib
ln -v -sf libnss_winbind.so /lib/libnss_winbind.so.2
ln -v -sf libnss_wins.so /lib/libnss_wins.so.2
if [ -f nsswitch/pam_winbind.so ]; then
install -v -m755 nsswitch/pam_winbind.so /lib/security
fi
install -v -m644 ../examples/smb.conf.default /etc/samba
install -v -m644 ../docs/*.pdf /usr/share/samba
cd ../..
rm -rf samba-3.0.14a
好了,装完啦,测试一下smbmount
因为我是用虚拟机装的Linux系统,所以可以在主机的WINDOWS中共享一个目录出来,共享目录权限指定为某个WINDOWS帐户,然后
mkdir ~/win_share
smbmount //host_ip/my_share_dir ~/win_share -o "username=XXXX,password=YYYYY"
失败,提示没有 /etc/samba/smb.conf 文件
检查安装过程,原来是前面 copy smb.conf.default 文件时,没有去掉后面的.default扩展名
cp /etc/samba/smb.conf.default /etc/samba/smb.conf
再smbmount则成功(此时不需要配置smb.conf文件的具体内容,那是smb服务器才需要的)。
好,现在已经可以很方便的与访问其它系统的文件了。
接下来是配置smb服务
修改/etc/samba/smb.conf里面的内容,根据文件中的注释就可以修改了
这里有个比较简单的方法,按这样配置
[homes]
comment = Home Directories
path = %H
browseable = yes
writable = yes
valid users = %S
create mode = 0600
directory mode = 0700
locking = no
其中的 %S 会替换为 系统用户名,%H 会替换为所对应的用户主目录。
则用不同linux系统的用户访问,系统自动设置为其用户主目录,如crazywill用户,则访问\\lfs-linux-ip\crazywill\ 以及 \\lfs-linux-ip\homes\ 就相当于 linux下的 /home/crazywill/ 目录,拥有对用户自己目录下所有的文件权限。
修改完后,
smbd -D
nmbd -D 启动
ps -aux | grep smb
检查不到有smbd进程运行
怀疑是 smb.conf 配置有问题
testparm
检查配置文件内容
似乎没问题才对
再继续检查 smb 状态 和 日志文件
smbstatus
cat /var/log/samba/smbd.log
检查日志
[2006/08/10 23:12:37, 0] smbd/server.c:main(798)
smbd version 3.0.14a started.
Copyright Andrew Tridgell and the Samba Team 1992-2004
[2006/08/10 23:12:37, 0] printing/pcap.c:pcap_cache_reload(149)
Unable to open printcap file /etc/printcap for read!
不能读取/etc/printcap 文件
检查当前环境确实没有该文件,因为现在没有安装打印机,先创建一个空文件给它
echo "" > /etc/printcap
再启动,仍失败,检查日志
[2006/08/10 23:18:11, 0] smbd/server.c:main(798)
smbd version 3.0.14a started.
Copyright Andrew Tridgell and the Samba Team 1992-2004
[2006/08/10 23:18:11, 1] auth/auth_util.c:make_server_info_sam(840)
User nobody in passdb, but getpwnam() fails!
是用户nobody 有问题,
检查/etc/passwd 没有该用户,添加它,再启动还是不行。
运行
smbpasswd -x nobody
删除nobody用户,删除失败 :(
真是有点莫名其妙,反复操作了几次后就成功了,不知道问题在哪里。
搞定 nobody后,终于非常辛苦的启动smbd进程成功了,检查日志可知。
庆祝一下。 :)
用smbclient检查一下samba配置正常了没
smbclient -L localhost -U crazywill
测试连接
提示输入密码,输入LINUX本地帐号crazywill的密码,错误。
反复检查,最后发现需要先运行
smbpasswd -a crazywill
设置 smb 登录用户 crazywill 的密码
之后再 smbclient 测试正常,
用windows 连接 \\lfs-linux-ip\crazywill
输入用户名 crazywill和刚设置好的密码
正常登录
新增和修改目录、文件操作成功。
yeah.....
posted on 2006-08-11 20:56 CrazyWill 阅读(1606) 评论(0) 编辑 收藏 举报