星期三, 11月 09, 2016

轉阿轉阿.....EXT3 轉 EXT4 @openSUSE Leap 42.1

事情是這樣的...
手邊有一台多年前安裝的檔案分享伺服器,當時是安裝SLES 11。
 除了系統老舊之外,運作的實在是太穩,跟他同時期一起奮戰的戰友都一一退役了。

雖然伺服器上的檔案沒有多到很誇張,但也還是有將近9TB,如果要先備份出來,再打掉重練,一想到就懶了。
這時候就想說,如果系統重新安裝好後再把EXT3升級到EXT4呢 ?
(結果還是怕檔案會遺失,還是先備份了XD)

廢話不多我們來看一下怎麼做
1.先修改fstab,避免升級好後重新啟動系統掛載不起來(把原本ext3 改為ext4)
vi /etc/fstab

UUID=fa01da65-6067-4dfa-994a-298733fecb40 /home                ext4       defaults              1 2
2.umount 該分割區,由於掛載中的分割區是無法升級的(我的分割區有做軟體RAID5)
umount /dev/md0
3.轉阿轉阿,EXT3轉EXT4 (/dev/md0 請自行替換要轉的分割區)
tune2fs -O extents,uninit_bg,dir_index /dev/md0
e2fsck -fD /dev/md0
4.經過漫長的等待,轉換成功 (重新啟動系統看看有沒有問題)
e2fsck 1.42.11 (09-Jul-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/md0: ***** FILE SYSTEM WAS MODIFIED *****
/dev/md0: 1203378/610476032 files (8.1% non-contiguous), 2169735191/2441879680 blocks
PS.轉換前還是強烈建議先備份重要檔案,避免發生檔案遺失的情況就冏了。

Reference
Ubuntu/Fedora/CentOS 由 ext3 轉換至 ext4

星期四, 10月 27, 2016

NFS Server on openSUSE Leap 42.1

要在openSUSE Leap 上面設定NFS Server ,同樣的非常容易簡單

1.先把套件安裝
zypper in nfs-kernel-server
2.設定相關服務開機自動啟動 以及啟動
#設定開機啟動
systemctl enable rpcbind.service
systemctl enable nfsserver.service
#啟動服務
systemctl start rpcbind.service
systemctl start nfsserver.service
3.分享設定
vi /etc/exports

#簡單的分享
/home/path * (rw)
#限制來源
/home/path 192.168.0.52(rw)
#允許Root存取
/home/path 192.168.0.52(rw,no_root_squash)
4.設定完成記得重新啟動服務
systemctl restart nfsserver.service
 這邊僅有列出簡單的應用,是不是好EASY阿。

Reference
Setup NFS Server On openSUSE 42.1

星期二, 10月 25, 2016

Dell OMSA on openSUSE Leap 42.1

基本上這篇就是照著 SDB:Dell OMSA 這篇依樣畫葫蘆就可以,真是超好上手的。

 1.加入安裝來源
wget -q -O - http://linux.dell.com/repo/hardware/dsu/bootstrap.cgi | bash
 2.安裝系統更新套件
zypper install dell-system-update
3.更新韌體  (輸入數字鍵按下enter 選擇要更新的項目,c 按下enter 為commit)
dsu
4.加入SLES12 的系統更新來源
zypper ar http://linux.dell.com/repo/hardware/dsu/os_dependent/SLES12_64 dell-platform
5.安裝libwsman1 (你可以透過此下載,或是自己打包)
zypper install libwsman1-2.4.11-19.6.x86_64.rpm
6.安裝套件
zypper install srvadmin-all OpenIPMI net-snmp
7.建立IGNORE_GENERATION
touch /opt/dell/srvadmin/lib64/openmanage/IGNORE_GENERATION
8.設定開機啟動&啟動服務
chkconfig dataeng on
chkconfig dsm_om_connsvc on
chkconfig dsm_om_shrsvc on

systemctl start dataeng.service
systemctl start dsm_om_connsvc.service
systemctl start dsm_om_shrsvc.service
9.最後記得防火牆要打開1311 port,然後就可以透過瀏覽器開啟

是不是非常的簡單呢,接下來我們繼續來設定Email 通知

1.安裝mailx
zypper in mailx
2.設定mail.rc(這邊的設定檔位置跟CentOS有些不同)
vi /etc/mail.rc
加入以下設定(請自行修改紅色字體的部份)
set from=urid@urdomain.com smtp=urdomain.com
set smtp-auth-user=urid smtp-auth-password=urpassword
set smtp-auth=login
3.建立發送通知的script
vi /usr/local/bin/om-alert.sh
加入以下script  (from http://idolinux.blogspot.tw)
#!/bin/sh
HOST=`hostname`
EMAIL="urid@urdomain.com"
echo "There has been an OpenManage ALERT detected on $HOST.  Please login to the web interface to see details." | mail  -s "OM ALERT $HOST  $1" $EMAIL
修改權限
chmod +x /usr/local/bin/om-alert.sh
4.把所有項目都套用異常通知
for I in `omconfig system alertaction | sed 's/ *(.*)//; s/>.*//; s/.*[:<] *// ; s/|/ /g;'`; do
echo $I;
omconfig system alertaction event=$I alert=true broadcast=true execappath="/usr/local/bin/om-alert.sh $I"
done 



星期二, 10月 11, 2016

SAMBA SERVER 整合Windows AD 驗證 @Suse Leap

這標題怎麼有一點點點點熟悉.... . (回顧歷史)

由於隨著Windows Server 的升級,當年架設的SLES已經無法透過AD驗證(喂,也早該退役了吧!)
趁著這個機會把系統升級一下,設定SAMBA過程 大概就是把當年的筆記拿出來照著設定XD,然後就可以跑了。

1.加入網域
打開yast - 網路服務的分類中找到 windows 網域成員

網域或工作群組中 輸入 domain.com.tw
Linux驗證也使用smb資訊  打勾
確定後會要求輸入 domain admin 的帳號加入網域。
2.設定分享目錄
vi /etc/samba/smb.conf
path = /home/domain/user
read only  = No
3.同樣的如果需要混合使用本機帳號權限存取
首先建立本機帳號
useradd user1
加入到Samba 帳號
pdbedit -a -u user1
 接著透過修改權限,新增本機帳號存取看看!
PS.怎麼感覺只是把舊的文章拿出來整理一遍的感覺XD。
不對啦,我要表達的是openSUSE Leap 實在是太好用、太簡單啦。

At least 30MB more space needed on the /boot filesystem

事情是這樣的,因為一直按照以前的習慣做磁碟分割,而我習慣把 /boot 分割區切得比較小小,結果在更新的時候就 GG了 出現下列訊息:
  At least 30MB more space needed on the /boot filesystem

既然錯誤已經造成,那只好立馬爬一下解決方法。
看到有位鄉民提到,只要把舊的kernel 移除就可以把空間釋放出來了。

 1.首先來看一下目前已經安裝的kernel

rpm -q kernel
kernel-3.10.0-229.el7.x86_64
kernel-3.10.0-327.el7.x86_64
kernel-3.10.0-327.3.1.el7.x86_64
2.保留最新的兩個版本的kernel (系統預設是五個)
package-cleanup --oldkernels --count=2
PS.如果希望設定值永久生效,可以透過修改 /etc/yum.conf 把installonly_limit=5 改成  installonly_limit=2 即可。


Reference
CentOS / Redhat boot partition full - remove old kernels

星期五, 9月 30, 2016

vsftpd @CentOS 7.2

Vsftpd - 一個歷久不衰的老牌FTP 軟體,原本以為可以輕輕鬆鬆地架設起來,沒想到 真沒想到限制使用者目錄那搞了許久。(苦笑)
只要我限制使用者只能在家目錄的時候,登入就會出現refusing to run with writable root inside chroot(),解除就正常,後來爬了文一下才知道。(參考下方連結網站說明)

這次沒意外的也是在CentOS7.2的平台上運作(笑)

1.安裝vsftp
yum install vsftpd
2.設定vsftp
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=Welcome to  FTP service.
user_config_dir=/etc/vsftpd/userconf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
allow_writeable_chroot=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
 3.啟動服務
systemctl start vsftpd
systemctl enable vsftpd
4.設定防火牆
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
5.設定selinux (或是停用)
vi /etc/selinux/config
 SELINUX=disabled
或是
setsebool -P allow_ftpd_full_access 1
setsebool -P ftp_home_dir 1
6.限制速度
mkdir -p /etc/vsftpd/userconf
vi /etc/vsftpd/userconf/user
local_max_rate=100000
7.進階設置,限制N次錯誤鎖定M秒
vi /etc/pam.d/vsftpd

auth required pam_tally2.so deny=N unlock_time=M



Reference
Install vsftpd for CentOS 7
[CentOS 7] 傳輸檔案的好伙伴,老當益壯的 FTP 伺服器 - vsFTPd
vsftpd解決方案 : refusing to run with writable root inside chroot()

星期四, 9月 22, 2016

Disable Cipher Block Chaining (CBC) Mode Ciphers and Weak MAC Algorithms in SSH

話說今天使用OpenVAS做弱點掃描的時候,發現弱點
SSH Weak Encryption Algorithms Supported

Vulnerability Detection Result
The following weak client-to-server encryption algorithms are supported by the remote serv↵
ice:

aes128-cbc
arcfour256
cast128-cbc
aes192-cbc
3des-cbc
arcfour128
rijndael-cbc@lysator.liu.se
aes256-cbc
arcfour
blowfish-cbc

The following weak server-to-client encryption algorithms are supported by the remote serv↵
ice:

aes128-cbc
arcfour256
cast128-cbc
aes192-cbc
3des-cbc
arcfour128
rijndael-cbc@lysator.liu.se
aes256-cbc
arcfour
blowfish-cbc
稍微爬了一下,發現解決方法也很簡單,打開SSH加入以下內容
vi /etc/ssh/sshd_config

Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha1
重新啟動服務
systemctl restart sshd
打完收工

Reference

How to harden SSH on CentOS 6.5

FAQ: How do I disable Cipher Block Chaining (CBC) Mode Ciphers and Weak MAC Algorithms in SSH in IBM PureData System for Operational Analytics

自己的Yum Server 自己架 (CentOS 7)

突然有種自己的文章一直在歪樓的感覺 XD

因為工作需要,使用的設備也一一更新到CentOS 7.2之後,發現每台機器都要連到網路上去做更新實在是非常浪費頻寬且不便於管理,於是便興起了自己架設Yum Server的念頭。
整個過程可以說是非常的簡單,沒有什麼特別複雜的部份,稍微紀錄一下這幾個簡單的步驟。

一、伺服器端
1.安裝CentOS 7
這部份選擇預設的最小安裝即可。
空間的部份,我一開始是劃分30GB,但沒想到光是CentOS 7就佔了27GB,這部份就依個人需求調整吧。
2.安裝必要的套件
yum install httpd yum-arch createrepo  -y
如果找不到yum-arch 可以透過下列連結下載
yum install wget -y
wget ftp://rpmfind.net/linux/epel/6/ppc64/yum-arch-2.2.2-9.el6.noarch.rpm
rpm -ivh yum-arch-2.2.2-9.el6.noarch.rpm
 3.準備好要存放檔案的資料夾
mkdir -p /var/www/html/yum/centos/7/os/x86_64
mkdir -p /var/www/html/yum/centos/7/updates/x86_64
mkdir -p /var/www/html/yum/centos/7/extras/x86_64
 4.同步網路上的來源 (可以選擇使用mirrordir或是rsync)
由於看到有鄉民說他使用mirrordir有同步上的問題,所以我就直接使用rysnc(沒有實際測試)
其中同步的來源請自行挑選


rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/os/x86_64 /var/www/html/yum/centos/7/os

rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/updates/x86_64 /var/www/html/yum/centos/7/updates

rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/extras/x86_64 /var/www/html/yum/centos/7/extras
5.yum arch 分析下載好的RPM套件
yum-arch /var/www/html/yum/centos/7/os/x86_64
yum-arch /var/www/html/yum/centos/7/updates/x86_64
yum-arch /var/www/html/yum/centos/7/extras/x86_64
 6.產生XML Metadata
createrepo /var/www/html/yum/centos/7/os/x86_64
createrepo /var/www/html/yum/centos/7/updates/x86_64
createrepo /var/www/html/yum/centos/7/extras/x86_64
 7.啟用網站服務,並在防火牆中允許80 PORT
chkconfig httpd on
systemctl start httpd
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
8.把上述4 ~ 6的步驟寫成sh 並排程自動更新

 二、使用端
1.修改Client端的更新來源
vi /etc/yum.repo/CentOS-Base.repo
把原本的mirror list 跟baseurl 註解 加入伺服器的來源,請把ip自行替
[base]
baseurl=http://192.168.1.168/yum/centos/$releasever/os/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

[updates]
baseurl=http://192.168.1.168/yum/centos/$releasever/updates/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

[extras]
baseurl=http://192.168.1.168/yum/centos/$releasever/extras/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

Reference
自建 YUM Server (CentOS 6.4)
Yum Server For Centos 7
CentOS Linux 6.8

星期三, 8月 24, 2016

ezgo 初體驗 - samba

因為朋友問我說,他的SAMBA設定好之後不能使用。
當下連線過去檢察SAMBA設定,也都沒有問題,於是我便自行依照他的環境安裝來測試一下。

朋友使用的OS是 ezgo 12 。
ezgo的安裝的過程,可以用行雲流水來形容,真的是可以說是第一次安裝就上手。

裝好系統之後,軟體中心也可以非常簡單地找到要安裝的套件來安裝。
安裝好SAMBA之後,快速的設定一下。
接著隨便找一台電腦來測試,在存取資料夾的時候卻一直出現沒有權限。
於是開始懷疑自己的設定檔是否有錯誤,但是 SAMBA 應該也是 那種 第一次用就上手XD。

接下來的日子我GOOGLE了一堆相關文件,期間也照了許多鄉民的設定 以及討論的東西來測試。
中間我也一度以為 我搞壞掉了,又把系統重新安裝一次來測試。

但最後的結果都是一樣的,就在我心灰意冷,即將放棄的時候。
突然靈光一閃,該不會是套件的問題吧
於是我把套件更新
# apt-get upgrade

捷克,真是太神奇了,一切都功能都完好如初。(灑花)

給可能會遇到類似問題的朋友。


星期一, 6月 27, 2016

Dell OpenManage (OMSA) on XenServer 7

XenServer 7 釋出的消息真的是讓人非常興奮

抱著嘗鮮的心態,立馬下載

另外值得慶賀的是,XenServer 終於從CENTOS5 升級到 CENTOS 7了 (灑花)

[安裝Dell Openmanage]
還沒來的及體驗新的功能,倒是花了不少時間把Dell Openmanage (OMSA) 安裝起來
大致上跟之前的安裝方式類似,不過有一些步驟有一些些的差異 (還好有善心的鄉民分享)

1.加入Dell OpenManage Repository安裝來源
wget -q -O - http://linux.dell.com/repo/hardware/DSU_16.06.00/bootstrap.cgi | bash

這部分我有測試使用16.06安裝,但似乎會有問題 ,還在測試中(暫時先用16.05)
實驗過後可以直接使用16.06來安裝

2.編輯 CentOS-Base.repo
vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 把[base] 部分的 mirrorlist 跟baseurl註解,手動加入來
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirrors.kernel.org/centos/7.2.1511/os/x86_64/
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 3.安裝Openmanage,按下Y開始同意安裝套件
yum --enablerepo=base install srvadmin-all
 4.在防火牆中加入1311PORT
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 1311 -j ACCEPT
 重新啟動防火牆讓設定生效
systemctl restart iptables
 5.啟動Openmanage服務
 /opt/dell/srvadmin/sbin/srvadmin-services.sh start
6.打開瀏覽器就可以開始使用了
/opt/dell/srvadmin/sbin/srvadmin-services.sh start

[設定Email Notifications]
1.安裝mailx
wget http://mirror.centos.org/centos/7.2.1511/os/x86_64/Packages/mailx-12.5-12.el7_0.x86_64.rpm
rpm -ivh mailx-12.5-12.el7_0.x86_64.rpm
2.設定 ssmtpd.conf
vi /etc/ssmtp/ssmtp.conf
mailhub=mail.yourdomain.com:25
AuthUser=username
AuthPass=password
rewriteDomain=server1.yourdomain.com

hostname=server1.yourdomain.com

3.建立 shell script 來發送MAIL通知 (from http://idolinux.blogspot.tw)
# vi /usr/local/bin/om-alert.sh

#!/bin/sh
HOST=`hostname`
EMAIL="my_admin@my_network.net"
echo "There has been an OpenManage ALERT detected on $HOST.  Please login to the web interface to see details." | mail  -s "OM ALERT $HOST  $1" $EMAIL
注意,新版本的mailx 如果-s不是立刻接在後方會造成主旨空白,不知道是否後方接MAIL的格式有錯誤造成
4. 你可以在 web介面 一筆一筆加入通知或是利用命令列加入MAIL發送通知
chmod +x /usr/local/bin/om-alert.sh
逐個項目加入

omconfig system alertaction
omconfig system alertaction -?
omconfig system alertaction event=powersupply execappath=/usr/local/bin/om-alert.sh
omconfig system alertaction event=storagesyswarn alert=true broadcast=true execappath=/usr/local/bin/om-alert.sh
omreport system alertaction

或是加入所有項目的通知
for I in `omconfig system alertaction | sed 's/ *(.*)//; s/>.*//; s/.*[:<] *// ; s/|/ /g;'`; do
echo $I;
omconfig system alertaction event=$I alert=true broadcast=true execappath="/usr/local/bin/om-alert.sh $I"
done 
Reference
Dell Openmanage in XenServer 7
Quick Dell OpenManage Email Alerts
Manual Reference Pages  - MAILX (1)