Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24684
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-16 10:01
文章分类
文章存档

2016年(7)

我的朋友

分类: BSD

2016-09-10 09:50:33

原文地址:samba做文件服务器常见问题 作者:ncms

出处 

如何安装samba做域服务器,不在本文讨论范围,这里记录的是使用过程中遇到的问题。

-3.问题:2004-04-10 在win2000客户端,用中文做文件名,到linux的命令行下,变成乱码怎么解决?
解决:可能是命令行下不支持unicode,为了通用,强制samba使用GB2312就可以了
在[global]小节加一行:
unix charset = GB2312
后注:最好设置为GBK,否则某些字符会出问题,造成漫游账号不能用,见问题6

--------------------------------------------------------------------------------
-2.问题:2004-05-21在共享目录设置中可以用comment做注解,但是中文字符在win客户端看过来会乱码,怎么解决?
解决:在[global]小节,添加一行:
display charset = GB2312
就可以了,要求samba是3.0以上
--------------------------------------------------------------------------------
-1.问题:2004-06-09 如何开放共享资源给匿名(guest)用户?

解决:在[global]小节,添加一行:
map to guest = bad user
然后在相应的共享资源小节增加2行:
guest account = nobody
guest ok = Yes
这样所有没有账号对应和密码错误的用户连上来,访问这个共享资源时,它的对应用户就是nobody
--------------------------------------------------------------------------------
1.问题: 2004-06-10在某些win2000的机器上面不能修改域的账号的密码,samba的log提示
check_oem_password: incorrect password length (-312332314)

解决:
卸载win2k的hotfix补丁:KB828741
或者下载更新当前最新版的samba3.04


2.问题: 2004-06-12原来使用的是发行版打包的samba,现在要下载最新版源码编译安装,怎么把原来的设置保留?
解决:
先停掉原来的samba服务:
/etc/init.d/smb stop
备份原来的域账号资料到/root/anheng.backup:
pdbedit -e smbpasswd:/root/anheng.backup
再编译安装新的samba
./configure --prefix=/usr/local/samba --enable-cups --with-smbmount --with-acl-support
make
make install
这样新的samba就安装在/usr/local/samba了
smb.conf放在了/usr/local/samba/lib/smb.conf
把老的smb.conf复制到上面的目录,cp /etc/samba/smb.conf /usr/local/samba/lib/smb.conf
用testparm测试设置文件是否有问题,要指定绝对路径/usr/local/samba/bin/testparm,如果直接执行testparm,执行的将是老版本的samba的testparm
一般不会有问题,我这里遇到的一个问题是说passwd程序没有找到,把smb.conf中行
passwd program = passwd %u
改成
passwd program = /usr/bin/passwd %u
最后,修改启动脚本,/etc/init.d/smb 将里面的nmbd和smbd前面增加绝对路径/usr/local/samba/sbin
就全部安装完成了。启动之前,恢复域账号:
pdbedit -i smbpasswd:/root/anheng.backup
然后就可以启动了 /etc/init.d/smb start
新安装后,由于程序和设置文件跟原来发行版的linux的目录位置不一致,如果你使用webmin进行管理,就要重新设置一下webmin里面samba模块的配置信息

--------------------------------------------------------------------------------
3.问题:2004-06-14在某些win2k机器加入到域的过程中,输入完域管理员账号后,win2k提示没有找到账号,看samba的日志,没有任何提示

解决:
用netstat -n -a看到没有连接到域服务器的139口,却和另一台samba服务器有连接,
就是说win2k错误的连接到了另一台samba服务器,把这台服务器的主浏览器级别调低后,问题解决
修改smb.conf的os level = 99
最好不要装2台域控制器

--------------------------------------------------------------------------------
4.问题:2004-06-21怎么让某些域账号在本机可以有administrator权限?
解决:在本机(WIN2K专业版),先用本机的ADMINISTRATOR来登陆,点控制面板里面的用户管理,添加用户,设置添加的用户是域用户,然后选择本机权限为ADMINISTRATOR,
--------------------------------------------------------------------------------
5.问题:2004-06-21在某些客户端,使用域账号,漫游登陆时,存放在域服务器上的FOXMAIL程序不能运行,而在有些客户端能够运行。怎么解决?
解决:在有问题的客户端,删除有问题的漫游账号,这样操作:控制面版->系统->用户配置文件->选定&删除
--------------------------------------------------------------------------------
6.问题:2004-07-10在客户端,ie的收藏夹中出现特殊字符的文件名时(估计跟我使用GB2312有关),漫游账号不能复制到本地。而造成用临时账号登陆系统,而不能访问原来的桌面设置和收藏夹等
解决1:找到捣乱的文件,删掉它,更好的办法还没有找到。
解决2:初步确定是win这边的字符\x0a1\x0aa到了samba变成了\x014,这个只在ver3中出现,估计是一个bug,再bug被解决之前
我暂时用php+bash用脚本解决,在/etc/cron.hourly/放一个scan14.sh,里面只要一行:

find /home/samba/profiles -cmin -61 -exec php /root/f.php {} \\;

然后在/root/f.php:
...(见附件)
这样每一小时都查一边文件,修正非法字符
解决3:把global里面的unix charset 设置由GB2312改成GBK就行了
unix charset GBK

--------------------------------------------------------------------------------
7.问题:某些漫游账号的foxmail出现问题,必须在本地有超级用户权限才可以执行。
解决办法没有找到。只好让域账号在本地有超级用户权限。只有几个账号出现这种问题,估计删除他们的漫游账号,然后重建,应该可以解决
--------------------------------------------------------------------------------
8:问题:在将机器加入域的时候,提示 [提供的凭据与已存在的凭据集冲突].
解决:因为已经跟域服务器ipc$连接,开dos窗口,删除跟服务器的ipc$空连接:
c:/>net use /delete
然后再进行加入域操作
--------------------------------------------------------------------------------
9.将一台服务器的samba搬到另一台服务器
a:打包/usr/local/samba整个目录
b.搬到目的服务器的/usr/local/samba
c.修改/etc/pam.d/samba增加passwd模块,怎么加,看/etc/pam.d/passwd为例,目的是给samba增加passwd修改权
d.修改webmin里面关于samba的目录路径
e.修改/etc/init.d/smb或者/etc/init.d/samba的2个可执行文件的路径
--------------------------------------------------------------------------------

10.在debian下的samba做的域服务器,不能在win客户端修改域账号的密码
解决:2004-08-23:debian下的passwd命令的交互字符串跟mandrake和redhat的不同,要根据实际的显示修改
[global]
passwd chat = *New*UNIX*password* %n\n *Re*ype*new*UNIX*password* %n\n *passwd:*updated*successfully*
还要注意,在/etc/pam.d/samba文件最后增加1行:
@include common-password
这个跟其他的发行版也是不同的。

--------------------------------------------------------------------------------

11.在debian下不能将机器加入到域,在控制面版-系统-网络标识-属性-加入到anheng域-输入完域管理员权限密码后,提示找不到账号
解决:2004-08-24:debian的adduser命令跟其他的发行版略有不同,不支持-n参数,这个参数,在其他的发行版下man adduser时没有找到说明,但是aduser --help时提示有,没有仔细研究起什么左右,只是简单的在smb.conf中去掉这个参数,问题就解决了:
[global]
        add machine script = useradd  -d /dev/null -g machines -c "计算机账号" -s /bin/false  %u

 add new by  zmoon

12.如何使samba服务器不出现在网络邻居上面
只要运行smbd而不运行nmbd,因为nmbd是提供NETBIOS名字服务的。

阅读(2118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~