2017-10-01 7 views
0

私はLinuxでユーザーセッションをドッキングする方法についていくつかの助けを探しています。私が探しているのは、誰かがアカウントに入って何かをしたときに、彼らが何かを終了したときに保存されていないとき、どうすればそれを作るのかです。それは私が次回に誰か他のsshがそれに入ったときの設定です。ユーザーセッションをDockerize

これはCTFイベントのためのものです。私はセットアップの任務を遂行しています。このプロセス全体をやることの大部分について実際に知識がなくても、私の学習経験です。

私はそれを設定していることを望んでいますかの良い説明はここで説明されていますhttp://overthewire.org/help/sshinfra.html

+0

を再マッピングユーザーの名前空間でなければなりませんか? –

+0

それぞれのユーザーは、自分のsshセッションに接続するときに独自のコンテナを取得します – Keith

+0

Stack Overflowはプログラミングと開発に関する質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

-1

だから、ユーザーのユーザー

まず作成

のための新しいドッキングウィンドウベースのシェルを作成することによって、我々はコマンドの下

sudo useradd --create-home --shell /usr/local/bin/dockershell tarun 
echo "tarun:tarunpass" | sudo chpasswd 
sudo usermod -aG docker tarun 
を使用してユーザーを作成することを行うことができます

シェルの作成

次はシェルファイル/usr/local/bin/dockershell

#!/bin/bash 

docker run -it --rm ubuntu:latest /bin/bash 

そしてchmod +x /usr/local/bin/dockershellを作成します。今、あなたは新しいユーザー

$ ssh [email protected] 
[email protected]'s password: 
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-66-generic x86_64) 

* Documentation: https://help.ubuntu.com 
* Management:  https://landscape.canonical.com 
* Support:  https://ubuntu.com/advantage 

0 packages can be updated. 
0 updates are security updates. 


Last login: Sun Oct 1 06:50:06 2017 from 192.168.33.1 
Starting shell for tarun 
[email protected]:/# 

であなたのVMへのSSHことができますこれは、ドッキングウィンドウコンテナに私を取り、何のセッションの変更は保存されません。あなたも、より多くのそれを確保したい場合は、あなたは、同じユーザーが別の人またはすべて一緒にそれぞれのだろう、別のユーザーと共有します

https://success.docker.com/KBase/Introduction_to_User_Namespaces_in_Docker_Engine

+0

私は今日これをテストし、どのように動作するかを報告しようとします! – Keith

+0

これは一種のもので、今作業中です!あなたのアドバイスはかなりうまくいった。今の唯一の問題は、ユーザーを作成するときにホームディレクトリが追加されないことです。ホームディレクトリにファイルを追加する必要があります。 – Keith

+0

@Keith、あなたはカスタムイメージを使ってそれを行い、存在するはずのフォルダ名の環境を渡すことができます。 –

-1

彼らはある

が保存されませんでした何を終了したときに、書き込み可能な層理由容器の停止時に容器の内容物は廃棄される。

コンテナがbind mountまたは(より良い)a volumeで実行されていることを確認する必要があります。つまり、右側の(マウントされた)パスで行われた変更がsshで実行されたままになります。

https://docs.docker.com/engine/admin/volumes/images/types-of-mounts-volume.png

+0

あなたは疑問を誤解していると思います。ユーザーセッションがドッカーコンテナで実行され、セッションからの変更は保存されていないサーバーにSSHをセットアップする方法を探しています –

+0

"セッションの変更は保存されません" SSHのものか、ドッカーのコンテナのものか?前者はホスト上に保存されているため保存する必要があります。後者はボリュームが必要です。 – VonC

+0

ホストへのSSHセッションが、ホストではなくドッカーコンテナ内に移動することが期待されます。ドッキング・コンテナの変更は保存しないでください。ボリュームをマップしないと、とにかくいないだろう。ですから、ユーザのSSHをホストシェルの代わりにドッカーのコンテナシェルに直接送ることができるようにサーバを設定する方法についての質問があります –

関連する問題