CentOS Initializing Tweaks
設定 sudo:
#visudo 有出現兩行: /usr/bin/sudo 及 /usr/sbin/visudo 表示有安裝 sudo 功能。
#su root
#visudo
visudo 不能執行時,可直接修改 /etc/sudoers 將內容改為:
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL //預設值
%wheel ALL=(ALL) NOPASSWD: ALL //修改後
#Sudo log //並加入如下二行
Host_Alias SERVER = 192.168.202.100 //指定本機 IP
Defaults@SERVER log_year, logfile=/var/log/sudo.log //指定 log 格式及路徑
將使用者 username 加入 wheel 群組,也就是只有 username 才能變成 root
#vi /etc/group wheel:x:10:root //預設值
wheel:x:10:root,username //修改後
可以開始自由修改系統設定了:
#sudo vi /etc/...
看 log 檔:
#cat /var/log/sudo.log
細項設定:
改變螢幕解析度:系統 > 顯示
改接受遠端桌面連線--設定一組 8 個數字的密碼。進入 firewall 設定接受 tcp 5900 port 與 udp 5900 port。
修改 selinux 設定為 disabled (需重新開機)
設定固定 ip
設定 ipv6
設定 hostname
設定新使用者
設定 vmware tools:
掛載 vmware tools 的映像。
解壓縮桌面上 vmware tools 光碟的檔案,存至個人資料匣。
有 sudo 權限後,至 vmware tools 資料匣,鍵入 sudo ./vmware-install.pl 以安裝 vmware tools。之後照提示,以預設值安裝即可啟動 vmware tools。
設定系統時間:
#ntpdate -s watch.stdtime.gov.tw (設定時間指令)
建立對時 script ntpdate.sh 並放在 cron.daily 下,內容如下:
#!/bin/sh
ntpdate -s watch.stdtime.gov.tw
#chmod 755 /etc/cron.daily/ntpdate.sh (給予權限執行)
設定 yum :
設定伺服器連至台灣地區的資料庫 :
#cd /etc/yum.repos.d
#sudo cp CentOS-Base.repo CentOS-Base.repo.bak
#su root
#sed 's,mirror.centos.org/centos,ftp.isu.edu.tw/pub/Linux/CentOS,g' CentOS-Base.repo.bak > CentOS-Base.repo
#exit
接著用圖形介面進行「系統」>「管理」>「軟體更新」。
#sudo updatedb (更新檔案 locate db)
更改中文目錄名稱:
(以下引用自 http://www.linuxdiyf.com/bbs/thread-180372-1-1.html ):
习惯问题,喜欢使用fedora为您在home目录下自创建的“桌面”、“文档”,“图片 、公共的” 、“下载”、 “音乐”、“ 视频”等目录。时间久了,总感觉有一点痛快,在命令行下操作这些目录下的文件时总要切换输入法,总不是那么酣畅淋漓。要是能把这些中文目录改成英文目录就好了。有人会说,重命名不是得了。我试过,重命名可以,不过好像有点问题。例如,把“下载”重命名为“Downloads”,浏览器默认的下载目录变了。
上网查,才知道一些技术牛人们蔑视桌面用户的智商,认为用桌面的人都是连自己的文件目录都管不好的,一定要帮你主动搞好。于是管理Linux桌面的freedesktop.org搞出一个xdg-user-dirs(详见http://www.freedesktop.org/wiki/Software/xdg-user-dirs),要主动为用户创建好一堆子目录,方便我们的使用,于是就有了home目录下那些目录。
好的,切入正题,如何修改,打开终端,在终端下输入命令:
export LANG=en_US
xdg-user-dirs-gtk-update
这个时候会弹出一个配置界面,提示是否将中文目录切换为英文目录。选中不再提示,确定。系统会删除没有内容的中文目录,而有内容的目录会保持。并创建8个相应的英文目录如下:“Desktop”、“Download”、“Templates”、“Public”、“Documents”、“Music”、“Pictures”、“Videos”。此时,您在“位置”里看到的常用中文目录已经变成英文目录。只需要将原中文目录的内容拷贝到相应英文目录,并删除中文目录即可。
接下来再执行
export LANG=zh_CN.UTF-8
以显示中文。
OK,行了,三个命令就行。可就为一次改变要记三个命令,也麻烦。能不能不记啦。当然可以,那您注销,然后在登录界面选择语言种类为“English(united states)”,进入系统后你就发现整个系统都变成English了,同时还会弹出一个对话框提示是否切换用户目录,选择“Update names”,确认并再注销,在登录界面选择“汉语”,进入系统后事个系统又变成了Chinese了,同样会弹出同一个对话框,选择"Keep old names"。OK,大功告成,一个命令都不需要记,就可完成您想要的结果。
掛載及卸載 samba 磁區:
假設遠方 samba 機器 (ip為samba-machine-ip),想要掛載的目錄名稱為 directory1 和 directory2
現在伺服器要掛載先需在 /mnt 目錄下先開設目錄如下:
#sudo mkdir /mnt/samba-machine-ip/directory1
#sudo mkdir /mnt/samba-machine-ip/directory2
以下兩行是掛載指令:
#sudo mount -t cifs -o username="Username",password="Password" //samba-machine-ip/directory1 /mnt/samba-machine-ip/directory1
#sudo mount -t cifs -o username="Username",password="Password" //samba-machine-ip/directory2 /mnt/samba-machine-ip/directory2
以下兩行是卸載指令:
#sudo umount /mnt/samba-machine-ip/directory1
#sudo umount /mnt/samba-machine-ip/directory2
以 cron job 的形式掛載亦可,但要注意 shell script 裏面不必寫 sudo 進去(因為以 root 身份執行 run-parts 中的 script)。
註:若無法掛載,出現 error 12 ,表示不可以用 admin 帳號掛載(此為 samba 機器設定之保護機制),改用其他次要帳號(如教師用帳號)來進行掛載。
mount.sh 範例:
#!/bin/sh
#To mount share (ip:) and do rsync job to freenas (ip:)
#excute time:19:00 every day
#filename: /root/mount.sh
#History 2012-03-19
mount -t cifs -o username="user",password="xxxx" //samba-machine-ip/teachers-box /mnt/samba-machine-ip/teachers-box
mount -t cifs -o username="user",password="xxxx" //samba-machine-ip/students /mnt/samba-machine-ip/students
rsync -arH --compress --sparse --delete --log-file=/root/rsynclog-mount-share /mnt/samba-machine-ip/ rsync@IP::module
umount.sh 範例:
#!/bin/bash
#To un-mount SAMBA-MACHINE (ip:)
#execute time: at 20:50pm every day
#filename: /root/umount.sh
#History 2012-03-19
umount /mnt/samba-machine-ip/teachers-box
umount /mnt/samba-machine-ip/students
放置 mount.sh 與 umount.sh 於 /root 下,並 touch 一個新檔 rsynclog-mount-share 以當 log 檔。設置 sh 檔權限為 755 , log 檔為 644。
編輯 /etc/crontab 加入兩行:
0 19 * * * root /root/mount.sh
50 20 * * * root /root/umount.sh
再重新啟用 crond 程式:
#service crond restart
crontab -e 編輯後出現錯誤:
errors in crontab file, can't install.
則是日期格式發生問題,多打了一個星號。修正後執行無誤。
解決使用 putty 連線 ssh 過慢且出現 Access Denied 訊息:
用新版的Putty登錄一台安裝好CentOS 6的伺服器(SELinux關閉),輸入用户名之後會出現 “Access Denied” 的訊息,然後還是正常出現輸入密碼的提示,輸入密碼後可以正常登錄 SSH Shell,以前用舊版Putty的時候就没有這問題。
是因新版的Putty改了設定值,解決方法是在Putty的configuration裏面Connection>SSH>Auth>GSSAPI的設定中,去掉第一個「Attempt GSSAPI authentication (SSH2-only)」勾就可以了。
設定好該伺服器 ipv4 與 ipv6 的 dns 設定。
限制網頁連線範圍
假設 phpmyadmin 這個管理介面不想讓校外人進來的話:
#vi /etc/httpd/conf/httpd.conf
在檔案最後面新增下面區段
<Directory /var/www/html/phpmyadmin>
Deny from all
Allow from 192.168.1.0/255.255.255.0
Options Indexes FollowSymLinks
</Directory>
存檔,重啟 httpd 程式:
#service httpd restart
最後進行校內外的連線測試。
安裝中文環境:
#su -
#yum groupinstall "chinese support"
設定 hostname 、dns
以下引用自
http://taiwanwolf.blogspot.tw/2009/04/linux-centos.html
裝機後主要要做的事情,目前想到的是設定防火牆還有hostname以及DNS
在設定hostname部分:
Linux 及 FreeBSD 修改主機名稱同樣使用 hostname 指令即可
例如:hostname taiwanwolf
這樣重新連線後,提示符號下就會變成
[root@taiwanwolf ~]
但這樣重開機後,還是會變回
[root@localhost ~]
為了系統下次啟動時也能自動使用新 hostname,需要作以下修改
vi /etc/sysconfig/network
把 hostname 部分改成新的名稱
P.S
Debian 為 /etc/hostname
FreeBSD 為 /etc/rc.conf
在設定DNS部分:
編輯 vim /etc/resolv.conf
內容如下
nameserver 8.8.8.8
nameserver 8.8.4.4
更新 rsync (由 3.0.6 更新到 3.0.9 以避免與 ubuntu 12 以上系統的 rsync 備份錯誤):
yum remove rsync
cd /root
wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
wget http://rsync.samba.org/ftp/rsync/src/rsync-patches-3.0.9.tar.gz
tar -zxvf rsync-3.0.9.tar.gz
tar -zxvf rsync-patches-3.0.9.tar.gz
cd rsync-3.0.9
./configure
make install clean
安裝完畢
cp /usr/local/bin/rsync /usr/bin/rsync
touch /etc/rsyncd.conf
[centos-home]
path = /home/wyvern2000/freebsd-backup
auth users = wyvern2000
secrets file = /etc/rsyncd.secrets
read only = no
uid = root
gid = wheel
touch /etc/rsyncd.secrets
# vi /etc/xinetd.d/rsync.rmpsave
將如下代碼
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = –daemon
log_on_failure += USERID
}
中的 disable = yes 改成 disable = no
重啟 xinetd
# /etc/init.d/xinetd start 或 service xinetd restart
開啟port 873
進行測試。