サーバの環境構築時に、既存の設定ファイルを編集することが多々あります。ファイルの編集時は、一度ローカル環境にダウンロードして差し替えることが少なくありません。
しかし、一部の設定ファイルは、そのままだとサーバ上からダウンロードできないことがあります。この記事では、ダウンロードできないファイルの原因と対応方法について解説していきます。
ダウンロードできない原因
原因は、パーミッションで権限が付与されていないことが原因です。例えば、一般ユーザの場合、下記の設定ファイルをダウンロードしようとするとエラーが発生します。
[root@koj-VirtualBox 08:21:18 ~]# ls -la /etc/ssh/sshd_config
-rw-------. 1 root root 3674 3月 27 09:00 /etc/ssh/sshd_config


原因としては、ダウンロードの際はログインした際のユーザのパーミッションが適用されてしまうことです。今回の場合、所有者のみ読取りと書込み権限が付いています。そのため、rootでログインしない限り、そのままDLは不可能です。
しかし、多くのケースでrootでは直接ログインしないでしょう。多くのケースで、一般ユーザでログイン後にrootにスイッチして、サーバ操作を行います。
今回のケースは一般ユーザでログインしている関係上、権限が何も付与されていないことでダウンロードが行えない状態になっています。
対応方法
設定ファイルのパーミッションを変更することで、ダウンロードが行えます。パーミッションを変更する際は「chmod」のコマンドで行えます。
chmod 777 /etc/ssh/sshd_config
しかし、オリジナルのファイルのパーミッションを直接変更することはおすすめしません。バックアップを取った後に、バックアップファイルのパーミッションを変更してダウンロードすることをおすすめします。
今回の場合、ダウンロードを行うまでの一連の手順は下記のとおりです。
# コピー先の/tmp配下に同じ名前のファイルが無いかを確認
ls -la /etc/ssh/sshd_config /tmp/sshd_config
#バックアップファイルの取得
cp -p /etc/ssh/sshd_config /tmp/sshd_config
# コピーできているか確認
ls -la /etc/ssh/sshd_config /tmp/sshd_config
#権限の変更
chmod 777 /tmp/sshd_config
#権限変更が行えているかを確認
ls -la /tmp/sshd_config

コメント