Linode Ubuntu 環(huán)境設(shè)置最佳實(shí)踐
使用Linode Ubuntu服務(wù)器快兩年了一直沒(méi)有好好的搭建維護(hù)環(huán)境,,最近弄了下還是有不少的收獲,,下面分享一下,。
用戶創(chuàng)建和SSH無(wú)密碼方式登陸
創(chuàng)建新用戶及用戶管理
# 創(chuàng)建用戶及其目錄和組
$ sudo adduser timtang --home /home/timtang --ingroup root
# 授于timtang用戶root權(quán)限
$ sudo visudo /etc/sudoers 增加 timtang ALL=(ALL) ALL
# 刪除成員連他的 home目錄也一起刪除
$ sudo userdel -r timtang
# 顯示系統(tǒng)中所有的組
$ more /etc/group
# 系統(tǒng)中所有的用戶
$ /etc/passwd
我們經(jīng)常需要使用SSH 登陸遠(yuǎn)程服務(wù)器每次都要輸入密碼會(huì)麻煩,尤其是在使用shell腳本同步備份的時(shí)候無(wú)法自動(dòng)化,,可以添加信任用戶來(lái)解決
#在本地生成id_rsa公鑰和私鑰在~/.ss目錄
$ ssh-keygen -t rsa -C "<your email address>"
# 將id_rsa.pub公鑰上傳到遠(yuǎn)程
$ scp ~/.ssh/id_rsa.pub <user>@<remote-host>:/home/user/.ssh/uploaded_key.pub
# 將上傳的公鑰添加到authorized_key文件中
$ ssh <user>@<remote-host> "cat ~/.ssh/uploaded_key.pub >> ~/.ssh/authorized_keys"
注意一下步驟很重要,,要給定適當(dāng)?shù)臋?quán)限給遠(yuǎn)端服務(wù)器的.ssh目錄
$ chown -R <user>:<group> .ssh
$ chmod 700 .ssh
$ chmod 600 .ssh/authorized_keys
當(dāng)然為了更安全,還需要修改/etc/ssh/sshd_config文件,,禁止 root 遠(yuǎn)程登錄,禁止口令登錄,強(qiáng)制要 求用 private/public key 登錄
PermitRootLogin no
X11Forwarding no
UsePAM yes
PasswordAuthentication no
ChallengeResponseAuthentication no
AuthorizedKeysFile .ssh/authorized_keys #注意這個(gè)authorized_keys的文件位置, 有時(shí)需要注意不要使用/root/.ssh/authorized_keys
修改好SSH服務(wù)后需要重啟服務(wù)
$ sudo service ssh reload
這樣你就可以直接登陸遠(yuǎn)程服務(wù)器,,無(wú)須輸入秘密!
我們有時(shí)會(huì)處于安全考慮避免使用root用戶登陸,,可以如下設(shè)置:
$ sudo vi /etc/ssh/sshd_config
#添加如下兩行
PasswordAuthentication no
PermitRootLogin no
# 重啟ssh 服務(wù)
$ sudo service ssh restart > 這樣就無(wú)法使用root用戶登陸了,!
Nginx 服務(wù)器管理
在Linode VPS Ubuntu 中,Nginx 默認(rèn)安裝在/opt/nginx/目錄,,但是不帶init腳本啟停服務(wù),,所有我們可以安裝Linode提供的腳本來(lái)控制
$ cd /opt
$ wget -O init-deb.shhttp://library./assets/602-init-deb.sh
$ mv /opt/init-deb.sh /etc/init.d/nginx
$ chmod +x /etc/init.d/nginx
$ /usr/sbin/update-rc.d -f nginx defaults > 完成以上步驟就安裝完成了,我們可以使用如下命名來(lái)控制nginx服務(wù):
$ service nginx restart|stop|start|reload
另外在Ubuntu服務(wù)器中我們經(jīng)常使用chkconfig來(lái)查看系統(tǒng)服務(wù)的狀態(tài),,這里需要自己安裝chkconfig
$ sudo apt-get install chkconfig
$ chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
參考: Linode doc
Mysql 數(shù)據(jù)庫(kù)自動(dòng)備份
經(jīng)常手動(dòng)備份數(shù)據(jù)是很麻的事情,,這里我用了AutomySqlBackup這個(gè)工具:
$ sudo apt-get install automysqlbackup
我們可以自定義配置:
$ sudo vi /etc/default/automysqlbackup
# 將備份的目錄改下
BACKUPDIR="/srv/mysql/backups/"
具體詳細(xì)的配置,可以自己查看官方文檔
接著設(shè)置定時(shí)任務(wù),,比如說(shuō)設(shè)定每周備份
$ sudo cp /usr/sbin/automysqlbackup /etc/cron.weekly/automysqlbackup
# 給腳本執(zhí)行權(quán)限
$ sudo chmod +x /etc/cron.weekly/automysqlbackup
當(dāng)然我們也可以手工觸發(fā),,使用如下命令,然后去/srv/mysql/backps/目錄即可看到備份文件
$ sudo automysqlbackup
希望對(duì)大家有幫助,,這篇blog將持續(xù)更新….
240 Words
02 February 2013
Suzhou, China
|