歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux下Samba做文件服務器的問題解答

Linux下Samba做文件服務器的問題解答

日期:2017/3/3 16:42:49   编辑:關於Linux

本文討論范圍是samba使用過程中遇到的問題。

問題1:在win2000客戶端,用中文做文件名,到linux的命令行下,變成亂碼怎麼解決?

解決:可能是命令行下不支持unicode,為了通用,強制samba使用GB2312就可以了在[global]小節加一行: unix charset = GB2312 後注:最好設置為GBK,否則某些字符會出問題,造成漫游賬號不能用。

問題2:在共享目錄設置中可以用comment做注解,但是中文字符在win客戶端看過來會亂碼,怎麼解決?

解決:在[global]小節,添加一行: display charset = GB2312 就可以了,要求samba是3.0以上。

問題3:如何開放共享資源給匿名(guest)用戶?

解決:在[global]小節,添加一行: map to guest = bad user 然後在相應的共享資源小節增加2行: guest account = nobody guest ok = Yes 這樣所有沒有賬號對應和密碼錯誤的用戶連上來,訪問這個共享資源時,它的對應用戶就是nobody。

問題4:在某些win2000的機器上面不能修改域的賬號的密碼,samba的log提示 check_oem_password: incorrect password length (-312332314)。

解決: 卸載win2k的hotfix補丁:KB828741 或者下載更新當前最新版的samba3.04。

問題5: 原來使用的是發行版打包的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模塊的配置信息。

問題6:在某些win2k機器加入到域的過程中,輸入完域管理員賬號後,win2k提示沒有找到賬號,看samba的日志,沒有任何提示。

解決: 用netstat -n -a看到沒有連接到域服務器的139口,卻和另一台samba服務器有連接,就是說win2k錯誤的連接到了另一台samba服務器,把這台服務器的主浏覽器級別調低後,問題解決修改smb.conf的os level = 99 最好不要裝2台域控制器。

問題7:怎麼讓某些域賬號在本機可以有administrator權限?

解決:在本機(WIN2K專業版),先用本機的ADMINISTRATOR來登陸,點控制面板裡面的用戶管理,添加用戶,設置添加的用戶是域用戶,然後選擇本機權限為ADMINISTRATOR。---www.bianceng.cn

問題8:在某些客戶端,使用域賬號,漫游登陸時,存放在域服務器上的FOXMAIL程序不能運行,而在有些客戶端能夠運行。怎麼解決?

解決:在有問題的客戶端,刪除有問題的漫游賬號,這樣操作:控制面版->系統->用戶配置文件->選定&刪除。

問題9:在客戶端,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。

Copyright © Linux教程網 All Rights Reserved