1. TOPTOP
  2. Webサービス
  3. Linux

パーミッションを変更した ファイルとディレクトリを 削除するためにはどうすれば良いか?

|

linuxの本

linuxの本

さて。今回の記事もこの本を読みながら、
サーバーを立てていた時に困っていて、
人力検索で解決したことをメモ書き。WindowsのTeraTermで公開鍵を作成し、
Linuxのサーバーで登録しようとした時のことです。
(P.206あたり)

困りごとの内容

Linux上で作成し、パーミッションを変更した
ファイルとディレクトリを削除
するためには、
どうすれば良いか?

困りごとの詳細

一般ユーザーのホームディレクトリ上に
公開鍵のファイル(id_rsa.pub)を置いています。

このファイルの内容を下記のコマンドで、
/.ssh/authorized_keysに書き込み
パーミッションを変更しました。

$ls
id_rsa.pub
$mkdir .ssh/
$cat id_rsa.pub > /home/user/.ssh/authorized_keys
$chmod 600 .ssh/authorized_keys
$chmod 700 .ssh/

ここで公開鍵をもう一度、TeraTermで作成し直し
id_rsa.pubの内容を差し替えたい考えました。
そのため、

・rmコマンドで、authorized_keysを
・rmdirコマンドで.sshを

それぞれ削除しようとしましたができません。

パーミッションの変更が必要かと思い、
rootユーザーでログインし直したうえで、
下記のコマンドを実行してみましたが、
上手くいきません。

#chmod 755 .ssh/authorized_keys
chmod: cannot access ‘.ssh_authorized_keys’:No such file or directory

#chmod 755 .ssh/
chmod: cannot access ‘.ssh/’:No such file or directory

※LinuxはCentOS6.0を使用しています。

解決方法

カレントディレクトリを /home/userにしていないことが原因。

1.rootでログイン

2.カレントディレクトリを、/home/userに変更

3.#chmod 755でパーミッションの変更

4.#rm,#rmdirコマンドで、authorized_keysと.ssh/を削除

結論として、パーミッションの変更をした
ファイルやディレクトリを削除するためには、
rootでログインした後に、
一般ユーザーの環境を引き継ぐことが、解決になりました。