1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SCPでPermission deniedが出るトラブルシュート

Posted at

はじめに

SCPコマンドを使って、ローカル環境からリモート環境にファイルをコピーしようとしたところ、Permission deniedのエラーが出たため、そのトラブルシュートの記事です。

環境

Ubuntu20.4

内容

結論を言えば、コピー先のディレクトリにファイルを書き込む権限がなかったとことが原因です。

次のコマンドで「権限がありません」と言われました。

$scp -r /hoge hoge-user1@remote-hostname:/hoge
Permission denied

そして、コピー先のhogeディレクトリの権限を確認してみます。

hogeディレクトリの所有者はhoge-user2です。hoge-user2ユーザーであれば、hogeディレクトリへの書き込みはできるようになっています。しかし、hoge-user2以外のユーザーからの書き込みに関しては、権限が付与されていません。SCPコマンドでは、hoge-user1ユーザーで書き込みをしようとしたため、権限がありませんといわれてしまいました。

$ls -la
drwxr-xr-x  2 hoge-user2 hoge-user2    4096  5月 10 11:09 hoge

方法その1

SCPでコピーするときに、ユーザーをコピー先のディレクトリの所有者と同じユーザーを指定すればコピーができるようになります。

つまり、hoge-user1ユーザーではなく、hoge-user2ユーザーでSCPをすれば、問題なくコピーができます。

$scp -r /hoge hoge-user2@remote-hostname:/hoge

方法その2

コピー先のディレクトリの所有者を変えてしまいます。

コピー先のディレクトリの所有者を、既存のhoge-user2ユーザーからhoge-user1ユーザーに変更すれば、SCPでhoge-user1ユーザーを指定してコピーができるようになります。

hogeディレクトリの所有者とグループを、hoge-user1に変更するコマンドです。

$chown hoge-user1 /hoge
$chown :hoge-user1 /hoge

方法その3

コピー先のディレクトリで、所有者以外のユーザーからでも書き込みができるようにします。

コピー先のディレクトリの所有者はhoge-user2ユーザーのままで、hoge-user2ユーザー以外のユーザーからでもhogeディレクトリへの書き込みができるように権限を付与してあげればOKです。

hogeディレクトリの権限は、もともと、755になっており、他ユーザーからの書き込みはできないようになっていました。他ユーザーからの書き込みができるように、755→757に変更します。

これで、SCPでhoge-user1ユーザーからhoge-user2ユーザーが所有するディレクトリにコピーすることができるようになります。

$chrom 757 /hoge
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?