1,631 瀏覽數

Drupal – 在 Linux 下使用 copy(#cp -p) 指令

最近為了實驗一些新功能,常常將 benjr.tw 的內容搬到不同的 VM(Virtual Machine) 但搬移後卻變的不能用了!!原來我忽略了 Linux 最基本的 cp 要注意的事項,就是檔案權限問題.在 Linux 下透過 cp 去複製檔案內容其權限是會被改變成預設值的所以要搬移網站內容不要忘記了 cp 要加上參數 -p

note: Linux 檔案權限
Linux 系統下的檔案有所謂的權限設定,系統會依據這些權限的設定來決定使用者是否能讀取,寫入或執行指令 .
#ls -l (ls "list directory contents",-l "use a long listing format")就可以看到檔案權限目前是如何設定的.
ls01
這邊和檔案權限有關的是[檔案屬性][擁有者][所有者群組]
以上 -rw-r–r– [檔案屬性]的每一個位置都有他所代表的意思,每三個為一組,每一組皆為 rwx ,因為每一組皆代表不同人所有擁有的權限.
ls02
第一組 User 代表的權限是針對自己所擁有的權限,也又是剛剛看到的[擁有者].
第二組 Group代表同一群組的使用者所擁有的權限,也又是剛剛看到的[所有者群組].
第三組 Other 代表[其他的使用者]所擁有的權限.
 
而權限可以區分為 rwx ,而當我們在看 rwx 時檔案和目錄是具有不同的意義
I. 對檔案而言:
可讀(r):可以cat檔案內容
可寫(w):可以cp,move檔案的內容
可執行(x):可以執行檔案
II. 對目錄而言:
可讀(r):對目錄而言單獨有此權限是沒有用的,還要同時有x的權限.才能有 ls 讀取目錄的內容.
可寫(w): 對目錄而言單獨有此權限是沒有用的,還要同時有x的權限.才能有cp,move,touch目錄內的檔案.
note: 當目錄擁有 w 的權限而目錄下的檔案並沒有設定 w 的權限,此時檔案還是可以編輯及刪除.
可執行(x): 具有 cd (change directory)進入目錄的權限
 
note:當檔案的User,group為同一人時,權限是看 User 的.

發表迴響