## 16.5 服務器簡單維護與管理
除了上述的正規作法之外,其實還有一些稍微重要的事情要跟大家分享的!
* * *
### 16.5.1 服務器相關問題克服
通常我們在設定 SAMBA 的時候,如果是以單一主機的工作組 (Workgroup) 的方式來進行 smb.conf 的設定時,幾乎很容易就可以設定成功了!并沒有什么很困難的步驟。不過,萬一還是無法成功的設定起來, 請務必察看登錄檔,也就是在 /var/log/samba/ 里面的數據!在這里面的資料當中,你會發現:咦! 怎么這么多檔案啊!因為我們在 smb.conf 里面設定了:
* log file = /var/log/samba/log.%m
那個 %m 是指客戶端計算機的 NetBIOS Name 的意思,所以,當有個 vbirdwinxp 的主機來登入我們的 vbirdserver 主機時,那么登入的信息就會被紀錄在 /var/log/samba/log.vbirdwinxp 檔案喔!而如果萬一來源 IP 并沒有 Netbios name 的時候,那么很可能是一些錯誤訊息,這些錯誤訊息就會被紀錄到 log.smbd, log.nmbd 里面去了!所以,如果你要察看某部計算機連上你的 SAMBA 主機發生了什么問題時,特別要留意這個登錄檔的形式喔!
另外,如果你的 SAMBA 明明已經啟動完成了,卻偏偏老是無法成功,又無法查出問題時,建議先關閉 Samba 一陣子,再重新啟動:
* /etc/init.d/smb stop
在鳥哥過去的案例當中,確實有幾次是因為 PID 與 NetBIOS 的問題,導致整個 SAMBA 怪怪的~所以完整的關閉之后, 經過一陣子的短暫時間,再重新啟動,應該就可以恢復正常了!
還有,萬一你在進行寫入的動作時,老是發現『你沒有相關寫入的權限!』,不要懷疑,幾乎可以確定是 Permission 的問題,也就是 Linux 的權限與 SAMBA 開放的權限并不相符合,或者是 SELinux 在搞鬼!無論如何, 你必須要了解能不能寫入 Linux 磁盤,看的是 PID 的權限與 Linxu 文件系統是否吻合,而那個 smb.conf 里面設定的相關權限只是在 SAMBA 運作過程當中『預計』要給使用者的權限而已,并不能取代真正的 Linux 權限喔!所以,萬一真的發現該問題存在, 請登入 Linux 系統,查驗一下該對應的目錄的 permission 吧!^_^
另外,通常造成明明已經查到分享 (smbclient -L 的結果),卻老是無法順利掛載的情況,主要有底下幾個可能的原因:
* 雖然 smb.conf 設定正確,但是設定值『 path 』所指定的目錄卻忘記建立了 (最常見的呆樣!);
* 雖然 smb.conf 設定為可擦寫,但是目錄針對該用戶的權限卻是只讀或者是無權限;
* 雖然權限全部都正確,但是 SELinux 的類型卻錯誤了!
* 雖然全部的數據都是正確的,但是 SELinux 的規則 (getsebool -a) 卻沒有順利啟動。
上述都是一些常見的問題,更多問題的解決方案,請參考最正確的登錄文件信息吧! ^_^
* * *
### 16.5.2 讓使用者修改 samba 密碼同時同步更新 /etc/shadow 密碼
有個問題是,我們知道使用者可以透過 passwd 修改 /etc/shadow 內的密碼,而且用戶也能夠自行以 smbpasswd 修改 Samba 的密碼。如果用戶是類似 PDC 的用戶,那么這些用戶理論上就很少使用 Linux 啦!那么想一想, 能否讓用戶在修改 Windows 密碼 (就是 Samba) 時,同步更新 Linux 上面的 /etc/shadow 密碼呢? 答案是可行的啦!而且動作并不困難~因為 smb.conf 里頭已經提供了相對應的參數設定值!你可以參考底下的網站數據:
* [http://moto.debian.org.tw/viewtopic.php?t=7732&](http://moto.debian.org.tw/viewtopic.php?t=7732&)
* [http://de.samba.org/samba/docs/using_samba/ch09.html](http://de.samba.org/samba/docs/using_samba/ch09.html)
鳥哥做個總結,基本上你需要的是 smb.conf 里面 [global] 的幾個設定值:
```
[root@www ~]# vim /etc/samba/smb.conf
[global]
# 保留前面的各項設定值,并新增底下三行即可:
unix password sync = yes <==讓 Samba 與 Linux 密碼同步
passwd program = /usr/bin/passwd %u <==以 root 呼叫修改密碼的指令
pam password change = yes <==并且支持 pam 模塊!
[root@www ~]# testparm
[root@www ~]# /etc/init.d/smb restart
```
接下來,當你以一般用戶 (例如 dmtsai) 修改 samba 的密碼時,就會像這樣:
```
[dmtsai@www ~]$ smbpasswd
Old SMB password: <==得先輸入舊密碼,才能輸入新密碼
New SMB password:
Retype new SMB password:
Password changed for user dmtsai <==這就是成功的字樣!
# 若出現底下的字樣,應該就是你的密碼輸入被限制了!例如輸入的密碼字符少于 6 個!
machine 127.0.0.1 rejected the password change: Error was : Password restriction.
Failed to change password for dmtsai
```
* * *
### 16.5.3 利用 ACL 配合單一使用者時的控管
想象一個案例,如果你是學校的網管人員,有個兼任老師向你申請賬號,主要是要在很多班級內取得同學的專題資料。 因為該老師是兼任的,你或許擔心一不小心該教師就將同學的辛苦資料給銷毀,倒不是教師們故意的, 而是很多時候...不熟嘛!這個時候如果你將該老師加入同學的群組,然后偏偏同學們所在的目錄是群組可寫入的話, 那么該教師就能夠擁有可擦寫的權限了,也就容易造成一些莫名的災難~
那該怎么辦?其實可以透過 ACL 來管理某個目錄的單一用戶權力啦!所以說, 權限的管理不必透過 smb.conf 的設定,只要透過 ACL 來管理就能夠達到你所需要的目的了。 關于 ACL 的說明我們在[基礎學習篇第三版第十四章](http://linux.vbird.org/linux_basic/0410accountmanager.php#acl_talk)已經提過了, 這里不再啰唆,請自行前往查閱吶! ^_^
* * *
- 鳥哥的Linux私房菜:服務器架設篇 第三版
- 第一部份:架站前的進修專區
- 作者序
- 第一章、架設服務器前的準備工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架設服務器流程
- 1.3 自我評估是否已經具有架站的能力
- 1.4 本章習題
- 第二章、基礎網絡概念
- 2.1 網絡是個什么玩意兒
- 2.2 TCP/IP 的鏈結層相關協議
- 2.3 TCP/IP 的網絡層相關封包與數據
- 2.4 TCP/IP 的傳輸層相關封包與數據
- 2.5 連上 Internet 前的準備事項
- 2.6 重點回顧:
- 2.7 本章習題
- 2.8 參考數據與延伸閱讀
- 第三章、局域網絡架構簡介
- 3.1 局域網絡的聯機
- 3.2 本書使用的內部聯機網絡參數與通訊協議
- 第四章、連上 Internet
- 4.1 Linux 連上 Internet 前的注意事項
- 4.2 連上 Internet 的設定方法
- 4.3 無線網絡--以筆記本電腦為例
- 4.4 常見問題說明
- 4.5 重點回顧
- 4.6 本章習題
- 4.7 參考數據與延伸閱讀
- 第五章、 Linux 常用網絡指令
- 5.1 網絡參數設定使用的指令
- 5.2 網絡偵錯與觀察指令
- 5.3 遠程聯機指令與實時通訊軟件
- 5.4 文字接口網頁瀏覽
- 5.5 封包擷取功能
- 5.6 重點回顧
- 5.7 本章習題
- 5.8 參考數據與延伸閱讀
- 第六章、 Linux 網絡偵錯
- 6.1 無法聯機原因分析
- 6.2 處理流程
- 6.3 本章習題
- 6.4 參考數據與延伸閱讀
- 第二部分:主機的簡易資安防護措施
- 第七章、網絡安全與主機基本防護:限制端口, 網絡升級與 SELinux
- 7.1 網絡封包聯機進入主機的流程
- 7.2 網絡自動升級軟件
- 7.3 限制聯機埠口 (port)
- 7.4 SELinux 管理原則
- 7.5 被攻擊后的主機修復工作
- 7.6 重點回顧
- 7.7 課后練習
- 7.8 參考數據與延伸閱讀
- 第八章、路由觀念與路由器設定
- 8.1 路由
- 8.2 路由器架設
- 8.3 動態路由器架設:quagga (zebra + ripd)
- 8.4 特殊狀況:路由器兩邊界面是同一個 IP 網段: ARP Proxy
- 8.5 重點回顧
- 8.6 本章習題
- 8.7 參考數據與延伸閱讀
- 第九章、防火墻與 NAT 服務器
- 9.1 認識防火墻
- 9.2 TCP Wrappers
- 9.3 Linux 的封包過濾軟件:iptables
- 9.4 單機防火墻的一個實例
- 9.5 NAT 服務器的設定
- 9.6 重點回顧
- 9.7 本章習題
- 9.8 參考數據與延伸閱讀
- 第十章、申請合法的主機名
- 10.1 為何需要主機名
- 10.2 注冊一個合法的主機名
- 10.3 重點回顧
- 10.4 本章習題
- 10.5 參考數據與延伸閱讀
- 第三部分:局域網絡內常見的服務器架設
- 第十一章、遠程聯機服務器SSH / XDMCP / VNC / RDP
- 11.1 遠程聯機服務器
- 11.2 文字接口聯機服務器: SSH 服務器
- 11.3 最原始圖形接口: Xdmcp 服務的啟用
- 11.4 華麗的圖形接口: VNC 服務器
- 11.5 仿真的遠程桌面系統: XRDP 服務器
- 11.6 SSH 服務器的進階應用
- 11.7 重點回顧
- 11.8 本章習題
- 11.9 參考數據與延伸閱讀
- 第十二章、網絡參數控管者: DHCP 服務器
- 12.1 DHCP 運作的原理
- 12.2 DHCP 服務器端的設定
- 12.3 DHCP 客戶端的設定
- 12.4 DHCP 服務器端進階觀察與使用
- 12.5 重點回顧
- 12.6 本章習題
- 12.7 參考數據與延伸閱讀
- 第十三章、文件服務器之一:NFS 服務器
- 13.1 NFS 的由來與其功能
- 13.2 NFS Server 端的設定
- 13.3 NFS 客戶端的設定
- 13.4 案例演練
- 13.5 重點回顧
- 13.6 本章習題
- 13.7 參考數據與延伸閱讀
- 第十四章、賬號控管: NIS 服務器
- 14.1 NIS 的由來與功能
- 14.2 NIS Server 端的設定
- 14.3 NIS Client 端的設定
- 14.4 NIS 搭配 NFS 的設定在叢集計算機上的應用
- 14.5 重點回顧
- 14.6 本章習題
- 14.7 參考數據與延伸閱讀
- 第十五章、時間服務器: NTP 服務器
- 15.1 關于時區與網絡校時的通訊協議
- 15.2 NTP 服務器的安裝與設定
- 15.3 客戶端的時間更新方式
- 15.4 重點回顧
- 15.5 本章習題
- 15.6 參考數據與延伸閱讀
- 第十六章、文件服務器之二: SAMBA 服務器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服務器的基礎設定
- 16.3 Samba 客戶端軟件功能
- 16.4 以 PDC 服務器提供賬號管理
- 16.5 服務器簡單維護與管理
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考數據與延伸閱讀
- 第十七章、區網控制者: Proxy 服務器
- 17.1 什么是代理服務器 (Proxy)
- 17.2 Proxy 服務器的基礎設定
- 17.3 客戶端的使用與測試
- 17.4 服務器的其他應用設定
- 17.5 重點回顧
- 17.6 本章習題
- 17.7 參考數據與延伸閱讀
- 第十八章、網絡驅動器裝置: iSCSI 服務器
- 18.1 網絡文件系統還是網絡驅動器
- 18.2 iSCSI target 的設定
- 18.3 iSCSI initiator 的設定
- 18.4 重點回顧
- 18.5 本章習題
- 18.6 參考數據與延伸閱讀
- 第四部分:常見因特網服務器架設
- 第十九章、主機名控制者: DNS 服務器
- 19.1 什么是 DNS
- 19.2 Client 端的設定
- 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
- 19.4 DNS 服務器的詳細設定
- 19.5 協同工作的 DNS: Slave DNS 及子域授權設定
- 19.6 DNS 服務器的進階設定
- 19.7 重點回顧
- 19.8 本章習題
- 19.9 參考數據與延伸閱讀
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服務器之三: FTP 服務器
- 21.1 FTP 的數據鏈路原理
- 21.2 vsftpd 服務器基礎設定
- 21.3 客戶端的圖形接口 FTP 聯機軟件
- 21.4 讓 vsftpd 增加 SSL 的加密功能
- 21.5 重點回顧
- 21.6 本章習題
- 21.7 參考數據與延伸閱讀
- 第二十二章、郵件服務器: Postfix
- 22.1 郵件服務器的功能與運作原理
- 22.2 MTA 服務器: Postfix 基礎設定
- 22.3 MRA 服務器: dovecot 設定
- 22.4 MUA 軟件:客戶端的收發信軟件
- 22.5 郵件服務器的進階設定
- 22.6 重點回顧
- 22.7 本章習題
- 22.8 參考數據與延伸閱讀