複数のユーザーと端末を共有する(画面やその他の手段で)

複数のユーザーと端末を共有する(画面やその他の手段で)

複数の開発者が複数のアプリケーションを操作するサーバーを設定しています。

私は特定の開発者に必要なアプリケーションディレクトリへの共有アクセスを使用しsetgid bitdefault ACLsグループ内のすべての人にアクセスを許可する方法を見つけました。

これらのアプリケーションの多くは、開発中に簡単にアクセスできるように端末で実行されます。自分で作業するときは、アプリケーションのユーザーを設定し、そのユーザーとして画面を実行します。欠点は、それを使用するすべての開発者がscreen sessionパスワードを知る必要があり、ユーザーアカウントとアプリケーションアカウントを分離するのが難しいことです。

これを行う1つの方法は、画面マルチユーザー機能を使用することです。デフォルトでは機能しませんが、画面が必要だと文句を言いますsuid root。欠点はありますか?私は私が使用するすべてに非常に注意を払いますsuid root。たぶんデフォルトではない理由はありますか?

これを行う必要がありますかscreen、それとも私が望むことをする他の合理的な方法はありますか?

ベストアンサー1

screenはい、マルチユーザーサポートではこれを行うことができます。

まず、新しいセッションを作成します。

screen -d -m -S multisession

それに加えなさい:

screen -r multisession

マルチユーザーサポートを有効にします。

押してCtrl-a入力します(注:Ctrl+aすべてのコマンドの前に必要です、つまりここでは2回)。

:multiuser on
:acladd USER ← use username of user you want to give access to your screen

ここでCtrl-a dセッションをリストします。

$ screen -ls
There is a screen on:
    4791.multisession   (Multi, detached)

これでマルチユーザースクリーンセッションができました。 acl'dユーザーに名前を割り当てて、multisessionユーザーが接続できるようにします。

screen -x youruser/multisession

それはすべてです。

唯一の欠点は、screenrootとして実行する必要があることですsuid。しかし、私が知っている限り、これは基本的で正常な状況です。

別のオプションは次のとおりですscreen -S $screen_id -X multiuser onscreen -S $screen_id -X acladd authorized_user

お役に立てば幸いです。

おすすめ記事