ユーザーを1つのフォルダに制限するだけで、そのフォルダから移動することを許可しない方法

ユーザーを1つのフォルダに制限するだけで、そのフォルダから移動することを許可しない方法

私はdigitaloceanにUbuntuサーバーを持っていて、他の人のドメインのために私のサーバーにフォルダを持っていたいと思います。私の問題は、そのユーザーが自分のフォルダやファイルを表示したり、ファイルをフォルダから移動できないようにすることです。

このユーザーを自分のフォルダに制限し、他のファイル/ディレクトリを移動または表示できないようにするにはどうすればよいですか。

ベストアンサー1

私はこのように問題を解決しました。

新しいグループの作成

$ sudo addgroup exchangefiles

chrootディレクトリの作成

$ sudo mkdir /var/www/GroupFolder/
$ sudo chmod g+rx /var/www/GroupFolder/

グループ書き込み可能ディレクトリの作成

$ sudo mkdir -p /var/www/GroupFolder/files/
$ sudo chmod g+rwx /var/www/GroupFolder/files/

どちらも新しいグループに提供

$ sudo chgrp -R exchangefiles /var/www/GroupFolder/

次に、/etc/ssh/sshd_configファイルの末尾に以下を追加します。

Match Group exchangefiles
  # Force the connection to use SFTP and chroot to the required directory.
  ForceCommand internal-sftp
  ChrootDirectory /var/www/GroupFolder/
  # Disable tunneling, authentication agent, TCP and X11 forwarding.
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

今、私のグループにObamaという新しいユーザーを追加したいと思います。

$ sudo adduser --ingroup exchangefiles obama

これですべての作業が完了したので、SSHサービスを再起動する必要があります。

$ sudo service ssh restart

注:現在、ユーザーはディレクトリfile外で何もできません。 私は、彼のすべてのファイルがそのフォルダにある必要があることを意味します。

おすすめ記事