Bir terminali birden fazla kullanıcıyla paylaşma (ekranlı veya başka bir şekilde)


11

Birden fazla uygulamada çalışan birden çok geliştiricinin bulunduğu bir sunucu kuruyorum.

Belirli geliştiricilere gerekli uygulama dizinlerine paylaşılan erişimi nasıl vereceğini setgid bitve default ACLsbir gruptaki herkese nasıl erişebileceğini anladım .

Bu uygulamaların çoğu, kolay erişim için geliştirme aşamasındayken bir terminal altında çalışır. Yalnız çalıştığımda, bir uygulama için bir kullanıcı ayarladım ve ekranı bu kullanıcı olarak çalıştırdım. Bu, her geliştiricinin screen sessionparolayı bilmek için ihtiyaç duyduğu dezavantaja sahiptir ve kullanıcı ve uygulama hesaplarını ayrı tutmak daha zordur.

Çalışmanın bir yolu, ekran çok kullanıcılı özelliklerini kullanmaktır. Kutudan çıktığı gibi çalışmıyorlar, ancak ekran ihtiyaçtan şikayet ediyor suid root. Vermenin herhangi bir dezavantajı var mı? Bir suid rootşey kullanma konusunda oldukça dikkatli davranıyorum . Belki de bunun varsayılan olmamasının bir nedeni var mı?

Bunu yapmalı mıyım yoksa screenistediğimi yapmanın başka bir akıllı yolu var mı?

Yanıtlar:


24

Evet, bunu screençoklu kullanıcı desteğine sahip olarak yapabilirsiniz.

İlk olarak, yeni bir oturum oluşturun:

screen -d -m -S multisession

Takın:

screen -r multisession

Çok kullanıcılı desteği açın:

Basın Ctrl-ave yazın

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

Şimdi, Ctrl-a doturumları listeleyin:

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

Artık çok kullanıcılı bir ekran oturumunuz var. multisessionKullanıcıya ad verin , böylece ekleyebilir:

screen -x youruser/multisession

Ve bu kadar.

Tek dezavantajı, root screenolarak çalışması gerektiğidir suid. Ama bildiğim kadarıyla varsayılan, normal durum.

Başka bir seçenek yapmak screen -S $screen_id -X multiuser on,screen -S $screen_id -X acladd authorized_user

Bu yardımcı olur umarım.


1
Bu ekranın ihtiyaçtan şikayet ettiği yere kadar denedim suid root. Ben varsayılan olarak onları olmayan programlara kök izinleri eklemeden önce bir şeyler yapmanın tercih edilen yolu olup olmadığını
sorardım

Garip. Benim screenise suidkökü.
Scyld de Fraud

Bence bu distro bağımlı bir şey olabilir. CentOS 6 veya 7'de denedim (kontrol
etmeniz

Ne 's değerinde için screende değil suid rootUbuntu 16.04 üzerinde.
icedwater

6
screen -S $screen_id -X multiuser on, screen -S $screen_id -X acladd authorized_user kontrol-a komutları yerine cevaba iyi bir ektir
ribamar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.