Posted at

ファイルのコピーができない時(Permission denied)の対処方法

More than 1 year has passed since last update.


ファイル権限の確認


コピー対象のファイル名 test1

ファイルの所有者でない。

使用コマンド

ls -al 対象パス

標準出力

-rw-------  1 root root  1768  4月  7 18:42 2017 test1

-rwxrw-rw- 1 root root 1768 4月 7 18:42 2017 test2
drwxrw-rw- 1 root root 1768 4月 7 18:42 2017 old

結果の頭10桁が権限を表している

結果の見方

・先頭1桁目

- ファイル

d ディレクトリ
l シンボリックリンク

・残り9桁

 2文字目から4文字目はファイルの所有者に対する権限を表し、

 5文字目から7文字目はファイルの所有グループに対する権限を表し、

 8文字目から10文字目はその他に対する権限を表しています。

r 読み取り

w 書き込み
x 実行
- 権限なし

パーミッションの意味

・ファイル

r: 読める

w: 編集して上書き保存できる
x: コマンドとして実行できる ex) /bin/ls

・ディレクトリ

r: ファイル一覧が表示できる(lsが打てる)

w: ファイル一覧を修正できる(rm, touch, mvとか)
x: ディレクトリ内にcdできる。ディレクトリ内のfind, touch, rmはできない

コピーであれば r が付いていれば可能。

test1にはその他のユーザーに対して読み取り権限が付いていないため、コピーすることができない。


権限の変更


chmodコマンドを使用して読み取り権限をつける

上記の方法をとることでコピーは可能となるが、複数人で共有している場合、権限の変更は厳禁。

今回はこの方法の説明は省略する。この方法を取る場合は以下のURLを参照

http://qiita.com/shisama/items/5f4c4fa768642aad9e06


コピーの作成


サイズの確認

・コマンド

du -sm ファイルパス

・標準出力

3 ファイルパス

このファイルまたはディレクトリが3MBであることがわかる

コピーの実行

cp -pr コピー元 新規名

-prの意味を検索

バックアップの追加

tarコマンドでファイルをまとめる

tar -cvf 新規名.tar ファイル名

圧縮する場合は、-zcvf

解凍は -xcvf -zxvf

コピーしたファイルに対してパーミッションの変更

chmod -R ディレクトリ名

※ -R の意味を調べる