Browsing category

Linux

Linux, Ubuntu, Wordpress,

MySQL/MariaDB Backup/Restore and chmod only files or folders

網站中最有價值的就是日積月累的資料
因此資料庫的備份工作可說是非常重要

但如果資料庫很多 該怎麼處理?
不管你是MySQL還是MariaDB
其實只要短短一行就能快速把所有資料庫備份及還原

備份全部資料庫
$ mysqldump -u DBUser -p –all-databases > allDBbackup.sql;
還原全部資料庫
$ mysql -u DBUser -p < allDBbackup.sql
當然如果你是到/var/lib/mysql 去備份檔案
日後還原只需把它覆蓋回去同路徑即可

 

而伺服器掛掉了
該如何讓網站在其他伺服器上東山再起
只要事先有把原先的網站資料做備份
把整個網站的根目錄資料夾備份起來
當然不能忘記資料庫也要備份
之後還原只要把備份的網站根目錄放回去
再用上述說明的方式將資料庫還原回去
這樣原先的網站就又重新東山再起了

而曾經有個還原經驗是把所有的資料都還原回去了
但是網站還是無法正常讀取
最後發現是還原到新的伺服器上的檔案與資料夾權限都亂掉了
有時經過不同系統的資料傳遞、壓縮或解壓的過程也會有此現象
因此快速且大量更改檔案與資料夾權限的指令就很重要拉

修改目前資料夾下的所有檔案權限為644
$ find

Linux, Ubuntu,

使用者帳號與程序管理

/etc/passwd

提到使用者帳號就必須要談到這個檔案,檔案裡的每一行都代表一個帳號,所以總共幾行就表示有多少的帳號在你的系統中,至於每一行所成列的順序與意義如下:

帳號名稱:密碼:UID:GID:使用者資訊:家目錄:Shell

 

/etc/shadow

早期Unix 系統的密碼是放在/etc/passwd,但基於檔案特性而易使密碼被竊,因此密碼資料改放至/etc/shadow裡,所以要打開這個檔案是必須要有系統管理者權限,但打開後是不是真的密碼一覽無疑呢?當然沒那麼簡單,系統會加密所有的密碼。重點來了,使用者在登入系統時,系統如何去驗證密碼的正確性呢?其實,在你登入系統時所鍵入的密碼,系統仍然會將你鍵入的密碼加密,在去/etc/shadow裡比對兩組都已被加密的密碼是否一致,因此密碼是沒有經過解密的程序。至於檔案每行成列的順序與意義如下:

帳號名稱:密碼:近期更動密碼的日期(1970/1/1):密碼不可被更動的天數:密碼需要重新變更的天數:密碼需要變更期限前的警告天數:密碼過期後的帳號寬限時間:使用者帳號的有效期限:保留欄位
<Tips>
基於系統安全,系統的最高權限root通常不會設定密碼,否則有心人士知道密碼後,即可在你的系統內恣意妄為,當然你也可以直接把root停權,其做法就是在/etc/shadow找到root此行後,直接在加密密碼前加上”!”,下次就無法用該帳號登入了,其他帳號的停權方式也是比照辦理,但編輯此檔案務必謹慎小心,只要少一個冒號都有可能發生慘劇,務必謹慎,謹慎,再謹慎!

 

adduser : 新增使用者帳號(互動式)

useradd : 新增使用者帳號(非互動式)
~# useradd [使用者帳號] -g [加入已存在的群組] -d [使用者家目錄] -m
<Tips>
1.除非加上 -m 參數,否則不會自動建立使用者目錄
2.須使用passwd指令給予密碼使帳號生效

 

userdel : 刪除使用者
~#

Linux, Ubuntu,

使用文字界面與Linux溝通

如果我們要與Linux對話,就必須學習shell,而shell是一支程式,提供方便的文字介面使我們能與作業系統溝通。

查看系統中有哪些shell可用

~$ cat /etc/shells

查看目前使用的shell

~$ echo $0

改變預設使用的(登入時的)shell(change shell)

~$ chsh <shell name>
常用基本指令

協助資訊:whatis, man, info, help
檔案與資料夾操作:cd,

Linux, Ubuntu,

啟動或重啟Apache時出現AH00558

如果Ubuntu在啟動apache或重啟apache時
出現AH00558:Could not reliably determine the server’s fully qualified domain name
可以使用下列方法其中一種:

 

1.修改/etc/apache2/apache2.conf
$ sudo vim /etc/apache2/apache2.conf
在文件最後加上
ServerName localhost
 

2.在/etc/apache2/conf-enabled資料夾裡新增servername.conf
$ sudo vim /etc/apache2/conf-enabled/servername.conf
在文件中加入
ServerName localhost

Linux, Ubuntu,

vim文字編輯器

vim(Vi  IMproved)

就英文來看即可知vim是vi的進階版本,具顏色顯示功能的文字編輯器。

安裝方式:

~$ sudo apt-get install vim
順便一提,我們常常下安裝指令,之後都需要做安裝的確認,如果想全自動安裝,不詢問yes或no,只要加上-y即可,以安裝vim為例:
~$ sudo apt-get -y install vim

 

vim設定檔位置:  ~/.vimrc

 

vim常用的模式:

一般模式(Command mode/Normal mode):一進入vim就是進入此模式,只能下按鍵指令,無法輸入文字。

Linux, Ubuntu,

Linux的認識與使用

近期報名了Linux系統的課程,想透過課程方式補足一些因為自學而忽略的知識。
說到LINUX必然會提到UNIX這個作業系統,透過下面這張圖即可了解其淵源:

(由Eraserhead1, Infinity0, Sav_vas – Levenez Unix History Diagram, Information on the history of IBM’s AIX on ibm.com,創用CC