Oneiricのホームディレクトリでユーザーを投獄するシンプルで簡単な方法が必要です。ジェイルユーザー向けのシンプルな構成、完全なヘルプ、または適切なWebリンクがありますか?
10〜20 GBの空き容量を持つオンラインの無料公開サーバーを提供します。ユーザー数がわかりません。FileZillaを介して接続できるように、SSHとSFTPを提供したいと思います。
Oneiricのホームディレクトリでユーザーを投獄するシンプルで簡単な方法が必要です。ジェイルユーザー向けのシンプルな構成、完全なヘルプ、または適切なWebリンクがありますか?
10〜20 GBの空き容量を持つオンラインの無料公開サーバーを提供します。ユーザー数がわかりません。FileZillaを介して接続できるように、SSHとSFTPを提供したいと思います。
回答:
Jailkitは、ユーザーアカウントを特定のディレクトリツリーおよび特定のコマンドに制限できるユーティリティのセットです。刑務所のセットアップは、「手作業」で行うJailkitユーティリティを使用する方がはるかに簡単です。刑務所は、ファイルシステム内に作成するディレクトリツリーです。ユーザーは、jailディレクトリの外部にあるディレクトリまたはファイルを見ることができません。ユーザーはそのディレクトリとそのサブディレクトリで投獄されます。
http://olivier.sessink.nl/jailkit/index.html#download
VERSION=2.20 # from November 2018
cd /tmp
wget https://olivier.sessink.nl/jailkit/jailkit-$VERSION.tar.gz
tar -zxvf jailkit-$VERSION.tar.gz
cd jailkit-$VERSION/
./configure
make
su -
make install
ここで、jailディレクトリを設定します。投獄されたユーザーには、このディレクトリがサーバーのルートディレクトリとして表示されます。/ home / jailを使用することにしました:
mkdir /home/jail
chown root:root /home/jail
jk_initを使用すると、特定のタスクまたはプロファイルに必要な複数のファイルまたはディレクトリを含むジェイルをすばやく作成できます(クリックして詳細を確認します)。
jk_init -v /home/jail basicshell
jk_init -v /home/jail netutils
jk_init -v /home/jail ssh
jk_init -v /home/jail jk_lsh
ホームディレクトリとbashシェルを持つ新しいユーザーを追加し、パスワードを設定します。
useradd -d /home/jailtest -m jailtest -s /bin/bash
passwd jailtest
次のコマンドを使用します。
jk_jailuser -m -j /home/jail jailtest
あなたは/etc/passwd
今、このようなものが含まれている必要があります。
jailtest:x:1001:1001::/home/jail/./home/jailtest:/usr/sbin/jk_chrootsh
jk_cpを使用すると、bashライブラリがjailにコピーされます。
jk_cp -v -f /home/jail /bin/bash
/home/jail/etc/passwd
次の行を置き換えます。
jailtest:x:1001:1001::test:/usr/sbin/jk_lsh
これとともに:
jailtest:x:1001:1001::/home/jailtest:/bin/bash
jk_update
実際のシステムで更新プログラムを使用すると、刑務所で更新できます。
ドライランは何が起こっているかを示します:
jk_update -j /home/jail -d
-d引数を指定しないと、実際の更新が実行されます。その他のメンテナンス操作については、こちらをご覧ください。
(/home/jail/opt
不足している場合は、もう一度mkdir -p /home/jail/opt/
実行jk_update -j /home/jail
して作成します)
jailユーザーがアクセスできる特別なフォルダーをマウントできます。例えば:
mount --bind /media/$USER/Data/ /home/jail/home/jailtest/test/
http://olivier.sessink.nl/jailkit/howtos_chroot_shell.html
http://olivier.sessink.nl/jailkit/index.html#intro(非常に良いヘルプ)
これはチェックおよび検証され、正常に動作しています
システムのバイナリ、bash、および/ etc内の構成ファイルにアクセスする必要があるため、それらを/ homeに限定することはできません。
IMOのユーザーを保護する最も簡単な方法は、防具を使用することです。
ハードリンクを作成します
ln /bin/bash /usr/local/bin/jailbash
/ etc / shellsにjailbashを追加します
次に、jailbashをユーザーシェルに割り当て、jailbashのapparmorプロファイルを作成して、最小限のアクセスを許可します。
sudo chsh -s /usr/local/bin/jailbash user_to_confine
自分で防具プロファイルを作成する必要がありますが、私はあなたが潜在的に始めることができるプロファイルを持っています
http://bodhizazen.com/aa-profiles/bodhizazen/ubuntu-10.04/usr.local.bin.jailbash
You can not confine them to /home as they need access to the system binaries and bash and configuration files in /etc
必要だと思うファイルのリンク/コピーを妨げるものは何もありません。
jailkit
OPが言及しているツールのように。
どのような目的を達成したいのかを推測するのは困難です。FTP経由で投獄されたアクセスを提供しながらssh / sftpを拒否する場合...簡単:
/ etc / shellsに新しいシェルを追加します。
sudo -e /etc/shells
1行追加します。
/bin/false
セーブ。ssh / sftpを拒否するユーザーごとに、ユーザーのシェルを変更します。
sudo chsh -s /bin/false userx
現在、userxはssh / sftp経由でログインできません。
vsftpdをインストールします。
sudo apt-get install vsftpd
構成ファイルを編集します。
sudo -e /etc/vsftpd.conf
そして、いくつかの変更....
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
セーブ。vsftpdを再起動します。
sudo /etc/init.d/vsftpd restart
rbash
ユーザーのシェルとしてチェックアウトできます。
man bash
RESTRICTED SHELL
セクションを検索
または、このページhttp://linux.die.net/man/1/bashをご覧ください
rbash
ですか?