sử dụng màn hình gnu khi ssh'ed là người dùng, nhưng su là người khác


8

Dưới đây là những gì xảy ra khi cố gắng sử dụng màn hình gnu. Về cơ bản, tất cả đều hoạt động tốt cho đến khi tôi là một người dùng khác. sau đó tôi gặp Cannot open your terminal '/dev/pts/7' - please check.lỗi

l413:~$ ssh sbird@example.com
sbird@example.com password: 
sbird@example:~$ screen
[screen is terminating]
sbird@example:~$ su - gradplan
Password: 
gradplan@example:~$ screen 
Cannot open your terminal '/dev/pts/7' - please check.
gradplan@example:~$ 

Làm cách nào tôi có thể đăng nhập như sbird, su để gradplan và vẫn sử dụng màn hình?

Câu trả lời:


4

Để trả lời trực tiếp câu hỏi của bạn:

ssh sbird@example.com su grandplan -c “script /dev/null -qc \"screen\""

Không thay đổi quyền trên / dev / pts / X - nó chỉ giới thiệu một lỗ hổng bảo mật không cần thiết.


11

Nhập script /dev/nulltrước khi bắt đầu screen.

$ su - gradplan
$ screen
Cannot open your terminal '/dev/pts/15' - please check.
$ script /dev/null
Script started, file is /dev/null
$ screen
# do whatever inside the screen
[detached]
$

ref: ServerFault: Tại sao việc chuyển hướng 'script' sang / dev / null / cho phép 'screen' hoạt động trong khi được sử dụng như một người dùng khác?


Đối với những độc giả tương lai, tôi đã tìm thấy việc sử dụng màn hình bên trong để thực sự tốt hơn, nhưng vì điều này trả lời những gì tôi thực sự hỏi tốt hơn, tôi đã chấp nhận đây là câu trả lời đúng.
Alexander Bird

1

Nếu bạn:

ls -l /dev/pts/7

Bạn sẽ thấy nó thuộc sở hữu của sbird, khi bạn chuyển sang gradplan, anh ta không có quyền chạm vào thiết bị đó.

Bạn có thể thử làm

chmod a+rw /dev/pts/X

(X là pts # bạn hiện đang kết nối, bởi vì nó sẽ thay đổi) trước khi bạn sàng lọc.

Hoặc bạn có thể sàng lọc như sbird, sau đó trong mỗi cửa sổ màn hình ở đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.