

小規模なプログラミング教室の開設を考えております。  
教室は１ヶ所で、LAN内で以下のような構成にしたく考えています。

  * 生徒用PCはPC_A～PC_Dの4台とする。
  * PC_A～PC_DにはCentOS7を入れる。
  * PC_A～PC_Dでログイン情報を共有する。  
つまり、ある生徒が今回PC_Aを利用したが、次回はPC_Bを利用する、ような状況で  
アカウントの設定を一発で済ませる。

  * PC_A～PC_Dで、生徒のホームディレクトリを共有する。  
つまりどのPCからでも同じホームディレクトリにアクセスできるようにする。

  * 上記の共有のホームディレクトリはPC_A～PC_DのいずれかのHDDにマウントするか、  
もしくは共有のストレージを別に用意する。

以上のようなシステムを作ろうとするときにどんな技術を用いればよいか、  
ソフトウェアを用いればよいか、ヒントとなるキーワードでもよいので  
教えていただければと思います。

ちなみに、もうずっと昔ですが、大学の研究室は上記のようになっていました。  
ずいぶん時間がたっているので、使うべき技術も当時とは異なると思います。


CC BY-SA 4.0
2018-06-24T10:00:11.117
45029
2018-06-25T07:33:48.737
question
linux centos network
ログイン情報の共有


細かな設定の話も含めると長くなりますので、こんな方法がありますよという情報を。

### アカウント情報の共有

**NIS**
を使用することで実現出来ます。アカウント情報を管理するサーバ役を1台設定し、その他のクライアントはログイン時にNISサーバを参照して認証を行います。

### ホームディレクトリの共有

**NFS** \+
automountでこちらも実現出来ます。NFSはファイルシステムをネットワーク越しに共有する仕組みで、クライアントからはマウントさえしてしまえばローカルのファイルシステムの様に扱う事ができます。automountは対象のディレクトリにアクセスがあった場合に自動でマウントする仕組みです。

* * *

ご質問の環境であれば、例えば`PC_A`をサーバ役と見立ててNISサーバでアカウントの管理、NFS共有で`/home`を他のクライアントから見えるように設定しておきます。残りのPCからはそれぞれ適切な方法で`PC_A`を参照するようにしておけばいいはずです。


CC BY-SA 4.0
2018-06-24T12:06:02.863
45031
2018-06-24T12:06:02.863
3060
45029
answer


古風なやり方でしたら、Linuxサーバーと、X端末で良い気がします。

もうちょっと、モダンな方法としては、LTSP (Linux Terminal Server Project)サーバーに、Thinクライアント
を接続する方法でできそうです。

前者は各クライアントにOSをインストールして設定する必要がありますが、LTSPの場合は、サーバー側の起動イメージを使って、ネットワーク経由でブートしますので、クライアントの台数が増減する場合も対応が楽になります。

どちらの場合も、クライアント側にデータを保存する必要はなく、ユーザアカウントもサーバー側で管理しますので、クライアント間で 共有させる必要がありません。


CC BY-SA 4.0
2018-06-25T07:33:48.737
45047
2018-06-25T07:33:48.737
5008
45029
answer