解決 CactiEZ 上的 FTP Server 無法連線登入的問題

因為 CactiEZ 為了客製化系統及縮小光碟的使用量,所以有些套件預設是不安裝的,所以安裝完成也沒有 FTP Server。
安裝 vsFTPD FTP Server
# yum install vsftpd

啟動 FTP Server
# service vsftpd start

進行連線,卻發現無法連線
[@more@]判別應該是防火牆擋掉了,所以先把防火牆停掉
# service iptables stop

重新連線,還是無法連線

本來以為是 SELinux 的問題,可是檢查之後,發現 SELinux 預設是關閉的
# grep ^SELINUX= /etc/selinux/config
SELINUX=disabled

後來在網路上找了一下,找到了這一篇,可能是問題的所在 vsftp的問題!!內詳
只要將匿名者可以登入的功能取消,就正常了!
# sed -i ‘s/anonymous_enable=YES/anonymous_enable=NO/’ /etc/vsftpd/vsftpd.conf

啟動 FTP Server
# service vsftpd start

CactiEZ 0.7 版試裝

最近想把以前用來監控 Server 的一些系統重新安裝或更新,首先是 Cacti,本來一直都是手動來安裝的,不過偶爾用別人整合好的光碟也是不錯,可以省下不少設定的繁雜步驟。
CactiEZ 官方網站:http://cactiez.cactiusers.org/

光碟開機畫面,可以看出版本是 0.7 64 Bit
[@more@]

網路設定畫面(IPv4/IPv6)

IPv4 設定畫面

網路設定中

安裝時畫面顯示的語系

鍵盤的型式

時區設定 Asia/Taipei

root 密碼設定

硬碟分割

硬碟自動分割

套件安裝中

安裝完成,重新開機

開機的 GRUB 畫面

登入畫面

感想:
1. 雖然安裝畫面是文字介面,但一些安裝要設定的部分都可以完成。
2. 安裝光碟可以採用自動安裝或手動安裝的方式來安裝。
    預設是手動安裝,如果要自動安裝,就在 boot: 後面輸入 auto 後,再按 Enter 鍵即可
3. 系統是 base on CentOS 6.3
# cat /etc/redhat-release
CentOS release 6.3 (Final)
4. Cacti 是採用 rpm 方式安裝,後續維護上會更加方便。
5. 光碟整合的很棒,是很值得參考和學習的對象。

autofs 無法自動掛載目錄

學校 Server 之間的備份都是利用 NFS 搭配 autofs 服務,再使用 cron 及備份的 Script 來做備份,重新安裝 Server後,發現 autofs 無法自動掛載 NFS 目錄,所以備份無法成功。
後來發現應該也是 SELinux 所造成的問題
# ls -lZ /etc/auto.*
-rw-r–r–. root root unconfined_u:object_r:admin_home_t:s0 /etc/auto.bs
-rw-r–r–. root root system_u:object_r:etc_t:s0       /etc/auto.master
-rw-r–r–. root root system_u:object_r:etc_t:s0       /etc/auto.misc
-rwxr-xr-x. root root system_u:object_r:etc_t:s0       /etc/auto.net*
-rwxr-xr-x. root root system_u:object_r:etc_t:s0       /etc/auto.smb*

auto.bs 是我從備份的設定檔複製過去的,所以權限不同[@more@]解決方式:
1. 關閉 SELinux,感覺 SELinux 有點像是 Windows 上的 使用者帳戶控制(UAC),強調會比較安全,但卻造成使用者操作上的不便。不過在這裡並不關閉 SELinux,而是改用第二種方法。
2. 更改權限
# chcon -u system_u -t etc_t /etc/auto.bs

再檢查一下權限
# ls -lZ /etc/auto.*
-rw-r–r–. root root system_u:object_r:etc_t:s0       /etc/auto.bs
-rw-r–r–. root root system_u:object_r:etc_t:s0       /etc/auto.master
-rw-r–r–. root root system_u:object_r:etc_t:s0       /etc/auto.misc
-rwxr-xr-x. root root system_u:object_r:etc_t:s0       /etc/auto.net*
-rwxr-xr-x. root root system_u:object_r:etc_t:s0       /etc/auto.smb*

重新啟動 autofs 服務
# /etc/init.d/autofs restart
正在停止 automount:                                       [  確定  ]
正在啟動 automount:                                       [  確定  ]

這時候就正常了!

後記:
關於 SELinux 所造成的困擾,最簡單的解決方式,就是不要直接從別的目錄複製舊的設定檔來想要直接覆蓋,而是先編輯新的設定檔,再把舊資料讀入,就會沒有問題了!
以 Apache Web Server 為例
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.$(date +%F)
# vim /etc/httpd/conf/httpd.conf
:r /root/bak/httpd.conf

# chcon -u system_u -t httpd_config_t /etc/httpd/httpd.conf*

Windows XP & Office 2003 支援日期已破百

Windows XP 從 2001 年 8 月 24 日發表至今已超過 12 個年頭,Office 2003 則是在 2003 年 9 月 17 日推出,至今也超過了 10 年,真是一段漫長的時間。。
以上資料來自 維基百科:Windows XP / Office 2003
微軟之前已經宣布,將在 2014 年 4 月 8 日停止對 Windows XP 和 Office 2003 的支援,剩下的時間已經不到 100 天了。

squid Proxy Server & SELinux

重新安裝了之前硬碟故障的 Proxy Server,系統安裝完後,複製之前備份的設定檔後,重新啟動 Proxy Server 後,發現無法啟動 Proxy Server
# service squid start
正在啟動 squid:                                           [失敗]
2013/12/27 13:59:21| Processing Configuration File: /etc/squid/squid.conf (depth 0)
FATAL: Unable to open configuration file: /etc/squid/squid.conf: (13) Permission denied
Squid Cache (Version 3.1.10): Terminated abnormally.
CPU Usage: 0.009 seconds = 0.005 user + 0.004 sys
Maximum Resident Size: 22736 KB
Page faults with physical i/o: 0[@more@]檢查 /etc/squid/squid.conf 的檔案權限
# ls -l /etc/squid/squid.conf*
-rw-r—–. 1 root root 4399 2013-11-19 00:48 /etc/squid/squid.conf
-rw-r—–. 1 root squid 2510 2013-10-01 21:44 /etc/squid/squid.conf.bak

所屬群組似不同
# chown root:squid /etc/squid/squid.conf
# ls -l /etc/squid/squid.conf*
-rw-r—–. 1 root squid 4399 2013-11-19 00:48 /etc/squid/squid.conf
-rw-r—–. 1 root squid 2510 2013-10-01 21:44 /etc/squid/squid.conf.bak

但還是無法啟動
# service squid start
正在啟動 squid:                                           [失敗]
2013/12/27 13:59:21| Processing Configuration File: /etc/squid/squid.conf (depth 0)
FATAL: Unable to open configuration file: /etc/squid/squid.conf: (13) Permission denied
Squid Cache (Version 3.1.10): Terminated abnormally.
CPU Usage: 0.009 seconds = 0.005 user + 0.004 sys
Maximum Resident Size: 22736 KB
Page faults with physical i/o: 0

後來發現可能是 SELinux 的問題,權限不對
ls -lZ /etc/squid/squid.conf*
-rw-r—–. root squid unconfined_u:object_r:admin_home_t:s0 /etc/squid/squid.conf
-rw-r—–. root squid system_u:object_r:squid_cache_t:s0 /etc/squid/squid.conf.bak

更改成正確的屬性
# chcon -R -u system_u -t squid_conf_t /etc/squid/squid.conf

再次檢查屬性
# ls -lZ /etc/squid/squid.conf*
-rw-r—–. root squid system_u:object_r:squid_conf_t:s0 /etc/squid/squid.conf
-rw-r—–. root squid system_u:object_r:squid_conf_t:s0 /etc/squid/squid.conf.bak

原本 Squid Proxy Server Cache 目錄權限
ls -lZ /cache1/* | head
/cache1/00:
drwxr-x—. squid squid system_u:object_r:default_t:s0   00/
drwxr-x—. squid squid system_u:object_r:default_t:s0   01/
drwxr-x—. squid squid system_u:object_r:default_t:s0   02/
drwxr-x—. squid squid system_u:object_r:default_t:s0   03/
drwxr-x—. squid squid system_u:object_r:default_t:s0   04/
drwxr-x—. squid squid system_u:object_r:default_t:s0   05/
drwxr-x—. squid squid system_u:object_r:default_t:s0   06/
drwxr-x—. squid squid system_u:object_r:default_t:s0   07/
drwxr-x—. squid squid system_u:object_r:default_t:s0   08/

更改成正確的屬性
# chcon -R -u system_u -t squid_cache_t /cache1

再次檢查屬性
ls -lZ /cache1/* | head
/cache1/00:
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 00/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 01/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 02/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 03/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 04/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 05/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 06/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 07/
drwxr-x—. squid squid system_u:object_r:squid_cache_t:s0 08/

就可以正常啟動 Proxy Server 了!
# service squid start
正在啟動 squid:.                                          [  確定  ]

 

WaterFox 26.0.0 版

WaterFox 是另外一套 64 位元的 Firefox,它的特色就是強調它的執行速度很快,可以嫓美 Google Chrome。

Waterfox 官方網站: https://www.waterfoxproject.org/
WaterFox 26.0.0 安裝版及免安裝版下載網頁: https://www.waterfoxproject.org/download.php
WaterFox 正體中文語系:ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/26.0/win32/xpi/zh-TW.xpi

中文化的方式和 CyberFox 一樣,就不另外說明,請參考 Cyberfox 64 位元 Firefox

不過有一點比較麻煩的是,WaterFox 和原本的 Firefox 不能同時開啟,所以只能二選一了!

大批產生學生帳號的 LDIF 格式檔

每學年初都會由校務行政系統由擷取新的學生資料,並搭配亂數密碼,使用 awk 來大批產生學生帳號,在建立學生帳號時,可以建立硬碟容量限制 Quota、建立 Samba 密碼、建立學生個人網頁、設定帳號使用期限、初始化個人目錄設定…….等等,一些瑣碎的事都可以一個步驟完成。
在處理 Open LDAP Server 時,也想要利用這樣的方式來處理這個部份,稍微試了一下,看起來應該是沒有太大的問題。
底下是實驗的學生資料,以 csv 格式,每個學生一列資料,以空格當做欄位間隔
欄位分別是 班級 座號 姓名 帳號 密碼 群組
# head -2 102_class41.lst
四忠 01 蔡中火 s0990499 123456 s0990
四忠 02 陳大水 s0990999 234567 s0990[@more@]建立 LDAP 密碼檔
# vim mkldifpw.awk
# 產生密碼
{print “slappasswd -s “$5 }

測試
# awk -f mkldifpw.awk 102_class41.lst | sh
{SSHA}CmIwt8puhug01FSBsdqVSpQgMkkuuQWv
{SSHA}9sgDt6+WDZG4y9nZasVL5jRgpbkMq3AU

輸出成密碼檔
# awk -f mkldifpw.awk 102_class41.lst | sh > /root/102_class41_ldifpw.lst

把 102_class41.lst 和 102_class41_ldifpw.lst 組合起來
# paste -d ” ” 102_class41.lst 102_class41_ldifpw.lst > 102_class41_ldap.lst
四忠 01 蔡中火 s0990499 123456 s0990 {SSHA}xecUVfAyOlao7udDzLccUvf4fHOonjzN
四忠 02 陳大水 s0990999 234567 s0990  {SSHA}WqVy40LfOfoRV1KBwlJFPpfGNgnkIbtr

建立產生 ldif 的 awk 檔
# vim mkldif.awk
# 帳號密碼檔格式
四忠 01 蔡中火 s0990499 123456 s0990 {SSHA}xecUVfAyOlao7udDzLccUvf4fHOonjzN

{print “dn: uid=”$4″,ou=”$6″,ou=Student,dc=ldap,dc=tces.ilc.edu.tw” }
{print “uid: “$4 }
{print “cn: “$1$2$3 }
{print “sn: “$1$2$3 }
{print “mail: “$4″@tces.ilc.edu.tw” }
{print “objectClass: person” }
{print “objectClass: organizationalPerson” }
{print “objectClass: inetOrgPerson” }
{print “objectClass: posixAccount” }
{print “objectClass: top” }
{print “userPassword: “$7 }
{print “loginShell: /sbin/nologin” }
{print “uidNumber: 500” }
{print “gidNumber: 500” }
{print “homeDirectory: /home/”$6″/”$4 }
{print “gecos: “$1$2$3 }
{print “” }

測試一下
# awk -f mkldif.awk 102_class41_ldap.lst
dn: uid=s0990499,ou=s0990,ou=Student,dc=ldap,dc=tces.ilc.edu.tw
uid: s0990499
cn: 四忠01蔡中火
sn: 四忠01蔡中火
mail: s0990499@tces.ilc.edu.tw
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
userPassword: {SSHA}xecUVfAyOlao7udDzLccUvf4fHOonjzN
loginShell: /sbin/nologin
uidNumber: 500
gidNumber: 500
homeDirectory: /home/s0990/s0990499
gecos: 四忠01蔡中火

dn: uid=s0990999,ou=s0990,ou=Student,dc=ldap,dc=tces.ilc.edu.tw
uid: s0990999
cn: 四忠02陳大水
sn: 四忠02陳大水
mail: s0990999@tces.ilc.edu.tw
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
userPassword: {SSHA}WqVy40LfOfoRV1KBwlJFPpfGNgnkIbtr
loginShell: /sbin/nologin
uidNumber: 500
gidNumber: 500
homeDirectory: /home/s0990/s0990999
gecos: 四忠02陳大水

最後可能比較麻煩的是 uidNumber 的部份,因為 uidNumber 是建立帳號時,系統依帳號的使用而自動編號產生的,當然也可以在建立學生帳號時,直接指定使用者的 uidNumber
# useradd
-u, –uid UID                 user ID of the new account

Apache 伺服器使用 LDAP 認證

Apache 網頁除了可以使用 .htaccess 和 MySQL 的認證外,也可以使用 LDAP Server 來做使用者的認證。

1. 安裝所需的套件
# yum install mod_authz_ldap php-ldap

2. 建立測試目錄及檔案
# mkid /var/www/html/testldap
# echo “Test LDAP” > /var/www/html/testldap/index.html
[@more@]3. 修改設定檔
# vim /etc/httpd/conf.d/authz_ldap.conf
LoadModule authz_ldap_module modules/mod_authz_ldap.so

<IfModule mod_authz_ldap.c>

<Directory “/var/www/html/testldap”>
      AuthzLDAPMethod ldap
      # 192.168.154.167 為 LDAP Server IP
      AuthzLDAPServer 192.168.154.167
      AuthzLDAPUserBase ou=Teacher,dc=ldap,dc=tces.ilc.edu.tw
      AuthzLDAPUserKey uid
      AuthzLDAPUserScope base
#
      AuthType Basic
      AuthName “Test LDAP”
      require valid-user
#
</Directory>

4. 重新啟動 Apache Web Server
# service httpd restart

5. 進行測試

輸入正確的帳號及密碼,就可以看到測試的網頁

OpenLDAP Server 的備份與還原

將整個 OpenLDAP 資料庫匯出:
# /usr/sbin/slapcat -b “dc=ldap,dc=tces.ilc.edu.tw” -l /root/ldap_backup_`date +%F`.ldif

將備份資料檔案匯入:
# /usr/sbin/slapadd -l /root/ldap_backup_2013-12-27.ldif

要注意檔案屬性與擁有者的問題:
# chown -R ldap.ldap /var/lib/ldap

也可以直接備份 /var/lib/ldap 整個目錄
# tar cvJf /root/ldap_backup_`date +%F`.tar.xz /var/lib/ldap

LDAP Client

JXplorer – A Java Ldap Browser
JXplorer 是一個 base on Java 的 LDAP Browser,支援多種平台 Windows / Linux / …..
JXplorer 官方網站:http://jxplorer.org/
[@more@]GQ LDAP client
官方網站:http://sourceforge.net/projects/gqclient/
圖取自 http://ict.udlap.mx/people/carlos/is346/admon05_ldap.html

LDAP Explorer Tool
官方網站:http://sourceforge.net/projects/ldaptool/?source=recommended

Luma – LDAP browser and administration utility
官方網站:http://sourceforge.net/projects/luma/?source=recommended
                    http://luma.sourceforge.net/

Windows 平台版本需要先安裝 Python 才可以正常執行
下面的圖取自官方網站:http://luma.sourceforge.net/screenshots.html

LDAP Browser/Editor 是一套 base on Java 的 LDAP Browser/Editor
下載網站:https://www.netiq.com/communities/cool-solutions/cool_tools/gawors-excellent-ldap-browsereditor-v282/
下圖取自 Opends: Wiki: 2_4_LDAPBrowserEditor — Project Kenai

Softerra LDAP Browser 是一套免費 base on Windows 使用的 LDAP Browser
官方網站:http://www.ldapadministrator.com/
下載網站:http://www.ldapadministrator.com/download.htm
LDAP Browser 4.5 是免費的,而 LDAP Administrator 2013.2 是要收費的