CentOS5のOpenSSHに、SFTPで接続できるようになったのですが書き込みができず困っています。
現在、CentOS5でサーバーを立てています、基本的に「CentOSで自宅サーバー構築」
(http://centossrv.com/)のサイトを参考にして(と言うか、そのまま設定して)います。
今回、SFTPで繋ぎたいと言うユーザーのために、(http://centossrv.com/openssh.shtml)の
ページの通りに設定をして(ただし鍵方式ではなくパスワード方式です)SFTPで繋ぐことができました。
しかし、SFTPで接続はできるのですが書き込みができないのです。そこで、確認してみると
(ちなみにFTPでも繋がるが書き込みはできません)
[root@localhost ~]# cd /home
[root@localhost home]# ls -all
合計 28
drwxr-xr-x 4 root root 4096 9月 5 17:27 .
drwxr-xr-x 23 root root 4096 9月 14 16:34 ..
drwxr-xr-x 9 root root 4096 9月 14 16:40 test
(ユーザー(ディレクトリ)名などは書き換えてあります)
のように、ユーザーのディレクトリのオーナーがrootになっていました。
そこで、オーナーをユーザーに戻してあげると、SFTPで繋げなくなってしまいます。
また、オーナーはrootのまま、権限を777に設定してもSFTPで繋げないのです。
ただし、FTPでなら繋ぐことができて書き込みもできるようになりました。
一応、検索して調べてみたりしたのですが、どうしてもできません。
そこで、解決方法をわかる方に教えていただければ大変助かります。
どうか、よろしくお願いします
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
No.3です
>一応、Chrootと言う物はできてるつもりだったのですが、できるとどういう状態になるのかわかりません。
Chroot できると、/etc/ssh/sshd_config ファイル内の ChrootDirectory で指定したディレクトリが、SFTP でログインしたときのルート(/)になります。
今の設定の場合、SFTPでログインしたとき、システム上の /home/test が ルート(/)として見えるようになっているはずです。
(そのために、chroot-useradd で、/bin, /etc, 以下の必要なファイルを /home/test にコピーしています)
・・・なので、
>また、オーナーはrootのまま、権限を777に設定してもSFTPで繋げないのです。
>ただし、FTPでなら繋ぐことができて書き込みもできるようになりました。
・・・の状態では、FTP (SFTP ではなく、FTP)でつないだときにルートに移動すると、そこから /home/test というディレクトリが見える状態ではないでしょうか。
(システムのルート(/)が、FTP で接続したときのルートになり)
Chroot されているかどうかは以下のようにすれば確認できます。
確認用ファイルを /home/test 以下に作成(touch /home/test/flag_test.txt)
SFTP でログインして、下記2点を確認
(1) / の直下に flag_test.txt が見えていること(SFTPでログインしたときに、/home/test/ というディレクトリ構造が見えないこと)。
(2) ルートに移動後、それ以上上のディレクトリに行けないこと(「cd /」 の後、 「cd ..」 ができないこと)
SFTP でログインしたときに Chroot 状況下で /home/test というディレクトリ構造を(仮に)見せたい場合は、/home/test/home/test というディレクトリを作成し、ユーザーへの読込み/書込み権限を与えれば良いことになります。
>public_htmlの外に書き込めるようにするのは
>できないのでしょうか?
/home/test の外のディレクトリ(例えば /var/www/html)に SFTP から書き込みを許したいというのであれば、
/home/test 下に別ディレクトリ(例えば www_html )を作成し、/var/www/html をマウントすれば、SFTP からは、作成した www_html ディレクトリを通してシステム上の /var/www/html に書きこむことができるはずです。
(/var/www/html に、ユーザーの書き込み権限を与える必要はります)
(システムから実行)
mkdir /home/test/www_html
mout --bind /var/www/html /home/test/www_htm
No.3
- 回答日時:
>また、オーナーはrootのまま、権限を777に設定してもSFTPで繋げないのです。
>ただし、FTPでなら繋ぐことができて書き込みもできるようになりました。
これは、FTPで繋げたとしても、Chroot できていない状態ではないでしょうか?
ユーザー test が Chroot 後に使用する、ファイルアップロード用ディレクトリを作成し、
そのディレクトリの所有者および書き込み権限を、ユーザー test に与えてみてください。
(その前に、全ての設定を元に戻してからこれを試してください)
つまり、下のような設定をしてください。
# mkdir /home/test/upload
# chown test:test /home/test/upload
# chmod 0755 /home/test/upload
これで、test さんは、"upload" ディレクトリにファイルを置くことができるのではないかと思います。
この回答への補足
一応、Chrootと言う物はできてるつもりだったのですが、できるとどういう状態になるのかわかりません。
ちなみにSFTPで接続するが書き込めない時はSSHでも接続するが書き込めない状態で、lsを打つと下記の通りです
----------------------------------------------------------------------------
-bash-3.2$ ls -all
total 36
drwxr-xr-x 9 root root 4096 Sep 14 07:40 .
drwxr-xr-x 9 root root 4096 Sep 14 07:40 ..
drwxr-xr-x 4 test test 4096 Sep 5 08:27 .mozilla
drwxr-xr-x 2 root root 4096 Sep 13 08:42 bin
drwxr-xr-x 2 root root 4096 Sep 13 08:42 dev
drwxr-xr-x 2 root root 4096 Sep 13 08:42 etc
drwxr-xr-x 2 root root 4096 Sep 13 08:42 lib
drwxrwxrwx 23 test test 4096 Sep 7 06:59 public_html
drwxr-xr-x 6 root root 4096 Sep 13 08:42 usr
-bash-3.2$
----------------------------------------------------------------------------
それで、試してみると、public_htmlの中になら書き込めることがわかりました!
一応通常のHPならこれで大丈夫だと思いますが、public_htmlの外に書き込めるようにするのは
できないのでしょうか?
No.2
- 回答日時:
sshd_configがどんな設定になっているのか…とか、
書き込みができないと言われているのはどの場所になのか…とか、
SFTPを実行しているクライアントはなにか…とか、いろいろ不明ですが……
とりあえず、ログインできない問題に関しては…
sshd_configのloglevelとか変更して、ログになにか出力されませんかね?
あとは…公開鍵認証ではないようですので、
普通にsshでログインできないのか?
とか、pamはどうなっているのか?
とかでしょうか……。
私のところのでは…普通に動いていますけどね。
# CentOS5.6+openSSH-5.7p1(5.6p1だったかな?)とWinSCP。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Android(アンドロイド) Androidスマホの時刻の自動同期の頻度を短くしたい 4 2022/12/02 17:29
- UNIX・Linux メールアドレスにホスト名が入らないようにする設定 2 2022/06/23 21:06
- UNIX・Linux linuxサーバーのキャッシュをクリアするコマンドを実行したい。 5 2023/01/24 14:52
- SSL・HTTPS ルート証明書の有効期限がだいぶ前なのに時計が進んでいますと表示され今日になってみれなくなったサイト 1 2022/10/26 20:35
- UNIX・Linux ファイル・フォルダーの削除方法 2 2022/05/19 14:04
- UNIX・Linux マスターブートレコード方式のbiosを使ったシステムでインストールされたlinuxで/dev/sda 1 2023/05/13 21:23
- UNIX・Linux Kali Linuxで起動できない - Minimal BASH Like Line Editing 1 2022/06/03 13:14
- ビデオカメラ GoProのWi-Fiパスワードを任意の文字列に変更したい 1 2023/03/09 09:23
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- Android(アンドロイド) QuickPik GalleryでSDカードの「root」のディレクトリが出てこない 3 2022/07/11 14:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPでファイルがダウンロードで...
-
「E212:書込み用にファイルを開...
-
rootユーザのメールボックスへ...
-
shellscript内のコマンドを、su...
-
シンボリックリンクでパミッシ...
-
Index.html表示しない!!
-
PHPでchmod()を使えるようにす...
-
lsでディレクトリのサイズが409...
-
mvコマンド
-
嫌ってるのに真似してきたりマ...
-
Winmerge ファイルの中身は同じ...
-
同期センターのマークが出てま...
-
Windows10 フォルダ内の自動並...
-
onedriveの中身を削除したらパ...
-
教えてgooの常連ってどのカテに...
-
コマンドプロンプトによるフォ...
-
macで、cdで移動できない
-
Excellにて→ファイルエラー:デ...
-
macのdmgファイル(動画)をMP4...
-
ショートカットアイコンと、元...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPでファイルがダウンロードで...
-
lsでディレクトリのサイズが409...
-
ファイルが移動できません。
-
Ubuntu、ファイル移動によるエ...
-
shellscript内のコマンドを、su...
-
シンボリックリンクでパミッシ...
-
Index.html表示しない!!
-
あり得ない!アーカイブを展開...
-
RPM のソースパッケージが展開...
-
PHPでchmod()を使えるようにす...
-
SFTPでファイルのアップロード...
-
rootでも権限が無いようです
-
rootユーザのメールボックスへ...
-
umask757をvar/www/htmlへ適用?
-
ダウンロードしたファイル
-
ファイル所有者を「apache」へ...
-
書き込み権限がありません
-
apacheに詳しい方教えてください
-
winSCPでlinuxフォルダを作りたい
-
ファイル「所有者」と「所有グ...
おすすめ情報