|
根據BLFS安裝,學習源碼包中的docs/htdocs/samba_howto_collection/install.html文檔,很好的文檔 cd source && ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-piddir=/var/run --with-fhs --with-smbmount --with-pam 其實重點的還是配置問題,也就是熟悉smb.conf的語法 Samba的配置可以分為三部分:全局部分(由[global]標識)、打印機部分(由[printers]標識)和共享部分(由[homes]標識和自己設定的其他標識)。 Global全局參數,打印機部分共享打印機,其他共享配置特殊共享,homes配置本地用戶的目錄加入共享 啟動smb需要三個daemon: nmbd:處理所有名字相關的注冊和解析的請求,用于網絡瀏覽和UDP相關的,是第一個必須啟動的服務 smbd:處理文件和打印相關的TCP/IP協(xié)議的連接請求,管理本地認證,是第二個要啟動的服務 Winbindd:當Samba是WindowsNT域里面的成員時必須啟動,跟其他域打交道,主要是檢查smb.conf中的idmap uid and idmap gid 參數的設置 設置好conf后,要測試 testparm /etc/samba/smb.conf 可以裝個SWAT來通過Web管理Samba smbclient -L yourhostname 查看相應主機上的共享信息 通過smbpasswd 來管理可以訪問的用戶,當然這些用戶必須要已經在/etc/passwd了 smbpasswd的命令格式如下: smbpasswd 參數 用戶 具體參數見下表: 變量 含 義 舉例 -a 添加用戶 #smbpasswd -a syd1 -x 刪除用戶 #smbpasswd -x syd168 -d 禁用賬號 #smbpasswd -d guest -e 取消禁用 #smbpasswd -e guest -n 清除密碼 #smbpasswd -a syd1 關于安全級別: security = security_level 定義Samba的安全級別,按從低到高分為四級:share,user,server,domain。它們對應的驗證方式: share:任何用戶無需用戶名和口令即可訪問服務器上的資源。 user:samba的默認配置,在訪問共享資源之前必須通過本地用戶驗證。 Server:驗證是通過另一臺服務器進行的,如果失敗,就退到user級。 domain:驗證通過網絡上的Windows的主域控制器進行。 后面三種安全級都要求“用戶”在提供共享的Linux主機上要有帳戶。 試驗: 簡單設置 [global] workgroup = MYGROUP dos charset = cp850 unix charset = ANSI_X3.4-1968 其中ANSI_X3.4-1968是通過 locale charmap命令得來 拷貝blfs中的啟動腳本samba,然后啟動 smbclient -L 127.0.0.1 密碼時回車,匿名訪問成功 再訪問我windows,匿名,登陸成功,但瀏覽失敗,說要name,我用 -U myname,輸入密碼,反而session setup failed: NT_STATUS_LOGON_FAILURE,其實我是匿名成功了 再根據文章http://www./bbs/showthread.php?t=269418玩玩,還不錯 當我設置了普通共享時和homes共享時,通過匿名登陸就不會看到用戶的主目錄共享信息 設置自己windows的共享目錄 使用smbclient //ip/c$,說是可以象ftp一樣的,我的不行,但用其他人的確實可以 用smbmount時提示 ERROR: smbfs filesystem not supported by the kernel Please refer to the smbmnt(8) manual page 看來得重新編譯內核了,郁悶了 玩SWAT了,得先裝stunnel 在設置/etc/xinetd.d/swat_stuell中的only from時,要加上 本機windows的ip,以127.0.0.1 ip的形式 設好后,通過https://ip.253:901訪問,很慢,用戶名密碼我不知道用哪個,試了好些都不行 根據上面超級服務器里設置的應該是用root用戶啊, |
|
|