端末を複数のユーザーと共有する(画面などを使用)


11

複数のアプリケーションで作業する複数の開発者がいるサーバーをセットアップしています。

私が使用して、特定の開発者に必要なアプリケーション・ディレクトリへの共有アクセス権を与える方法を考え出したsetgid bitdefault ACLsグループアクセスで誰を与えます。

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

機能する1つの方法は、画面のマルチユーザー機能を使用することです。これらはそのままでは機能しませんが、画面にはが必要であるという不満がありsuid rootます。それを与えることには欠点がありますか?私はsuid root何かを使用することにかなり注意しています。多分それがデフォルトではない理由がありますか?

私はそれを行うべきscreenですか、それとも私がやりたいことを実行する他のインテリジェントな方法はありますか?

回答:


22

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

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

screen -d -m -S multisession

それに添付:

screen -r multisession

マルチユーザーサポートをオンにします。

押しCtrl-aて入力

: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)

これで、マルチユーザー画面セッションができました。multisessionacl'dユーザーに名前を付けて、アタッチできるようにします。

screen -x youruser/multisession

以上です。

唯一の欠点は、root screenとして実行する必要があることsuidです。しかし、私の知る限りでは、デフォルトの通常の状況です。

別のオプションはscreen -S $screen_id -X multiuser onscreen -S $screen_id -X acladd authorized_user

お役に立てれば。


1
これは私が試したもので、画面が必要だと文句を言うところまでsuid rootです。私は、これはデフォルトでそれらを持っていないプログラムにroot権限を追加する前に、物事の好ましい方法だった場合、私は尋ねたい考え出した
varesa

奇妙な。私screensuid根です。
Scyld de Fraud 2014

それは、ディストリビューションに依存することかもしれません。CentOS 6または7を試しました(確認が必要です)
varesa

それだけの価値screenがあるのでsuid root、Ubuntu 16.04にもありません。
アイスウォーター

6
screen -S $screen_id -X multiuser onscreen -S $screen_id -X acladd authorized_user control-aコマンドの代わりに、コマンドに答えを追加することをお
勧め
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.