Izinkan akses ke Linux Console

8

Misalkan seseorang menjalankan SSHsesi ke dalam GNU/Linuxkotak klien dan dia meminta Anda untuk melihat "apa yang Anda lakukan". Bagaimana Anda bisa membiarkan pihak lain ini melihat apa yang terjadi di sesi Anda?

Drt
sumber

Jawaban:

12

Anda dapat mencoba menggunakan perintah " layar ". Ini akan memungkinkan Anda untuk menjalankan sesi multi-pengguna dimana 2 pengguna dapat terhubung dan berbagi. Pertama, Anda perlu mengatur bit suid. Layar sudah dimatikan, dan perlu untuk mode multiuser:

sudo chmod +s /usr/bin/screen
sudo chmod 755 /var/run/screen

Pengguna pertama terhubung, berjalan

screen -S shared

"-S" hanya memberikan sesi nama yang mudah digunakan. Untuk mengizinkan akses multi-pengguna, gunakan "CTRL + A" untuk menjalankan perintah layar :

CTRL+A
:multiuser on
:acladd otheruser

Ketika pengguna lain terhubung melalui ssh, ia hanya perlu menjalankan

screen -x firstuser/shared

untuk bergabung dengan sesi

katriel
sumber
2
Jika salah satu pihak dapat menggunakan su/sudountuk menjadi pengguna lain maka Anda tidak perlu mengacaukan setuid atau izin sama sekali. Cukup gunakan su sehingga kedua belah pihak menggunakan akun yang sama. Pengguna pertama berjalan screen, dan kemudian jalankan screen -x.
Zoredache
Itu tidak secara eksplisit dinyatakan dalam jawaban, tetapi pengguna kedua hanya bisa melihat apa yang berjalan di sesi layar; yaitu pengguna pertama harus menjalankan layar sebelum melakukan bit "menarik". Juga jika ukuran terminal tidak cocok, pengalaman pengguna kedua mungkin ... menarik.
David Mackintosh
@zoredache: dengan begitu Anda dapat mengalami masalah dengan izin tty
ptman
2

Bekerja seperti pesona.

Saya juga menerima petunjuk offline dari seorang pria yang saya mengobrol dengan mengusulkan solusi alternatif:

pengguna yang ingin berbagi menggunakan "w" untuk melihat di mana orang lain bekerja ...

# w
 16:27:10 up 30 days,  8:37,  3 users,  load average: 0,99, 0,94, 0,89
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1     -                26Apr10  9days  0.04s  0.01s login -- root
root     pts/0    192.168.2.25     15:31   54:29   0.04s  0.00s script
root     pts/1    192.168.2.235    16:21    3:29   0.05s  0.05s -bash

sekarang kami sekarang sedang orang lain bekerja, kami mengeluarkan ini:

# script | tee /dev/pts/1 

Metode ini memiliki kelemahan untuk yang diusulkan oleh katriel, karena ini adalah satu-satunya cara dan jika Anda lupa untuk menggunakan keluar untuk memutus koneksi, Poin lain terus menerima data bahkan jika pengguna log keluar dari itu, menjadi ancaman keamanan potensial. Tapi saya pikir itu layak disebut.

Pokoknya berkat Katriel dan yang lainnya.

"Miniro
sumber
1

Jalankan saja server VNC di workstation Anda dan biarkan dia terhubung. Murah dan mudah :)

apenwarr
sumber
VNC baik untuk sesi X, tetapi tidak untuk sesi konsol.
Cristian Ciupitu
Jika klien ssh Anda diluncurkan dari sesi X, maka itu tidak masalah.
apenwarr
1

Saya memiliki proyek open-source kecil yang (saya harap) memenuhi kebutuhan ini dengan sempurna: Termbeamer .

Ini memungkinkan Anda memulai sesi terminal dan mengirimkannya ke satu atau lebih orang lain di internet. Ia bekerja dari belakang firewall dan NAT dan memiliki opsi kendali jarak jauh jika Anda ingin membiarkan orang lain "mengemudi" - bagus untuk pemrograman berpasangan.

Benji York
sumber
0

Apenwarr memiliki saran yang bagus, tetapi saya baru-baru ini menggunakan TeamViewer hanya untuk tujuan ini. Ini mirip dengan VNC, tetapi membutuhkan instalasi NOL, di kedua ujungnya. Tidak perlu menginstal server, tidak perlu menginstal klien. Bahkan NAT traversal tanpa konfigurasi ... sesuatu yang tidak bisa dilakukan VNC.

http://teamviewer.com/

Cobalah, Anda akan jatuh cinta.

fsckin
sumber
Juga, harganya jutaan dolar.
apenwarr
Juga berjalan di bawah Wine yang berjalan di bawah X.
Wranorn