Chia sẻ thiết bị đầu cuối với nhiều người dùng (có màn hình hoặc cách khác)


11

Tôi đang thiết lập một máy chủ có nhiều nhà phát triển làm việc trên nhiều ứng dụng.

Tôi đã tìm ra cách cung cấp cho các nhà phát triển nhất định quyền truy cập được chia sẻ vào các thư mục ứng dụng cần thiết bằng cách sử dụng setgid bitdefault ACLscung cấp cho bất kỳ ai trong nhóm truy cập.

Nhiều trong số các ứng dụng này chạy dưới một thiết bị đầu cuối trong khi đang phát triển để dễ dàng truy cập. Khi tôi làm việc một mình, tôi thiết lập người dùng cho một ứng dụng và chạy màn hình với tư cách là người dùng đó. Điều này có nhược điểm là mọi nhà phát triển sử dụng đều screen sessioncần biết mật khẩu và khó tách tài khoản ứng dụng và người dùng hơn.

Một cách có thể hoạt động là sử dụng các tính năng đa màn hình. Tuy nhiên, chúng không hoạt động tốt, màn hình phàn nàn về việc cần thiết suid root. Liệu cho đi có bất kỳ nhược điểm? Tôi khá cẩn thận về việc sử dụng suid rootbất cứ điều gì. Có lẽ có một lý do tại sao nó không phải là mặc định?

Tôi nên làm điều đó với screenhoặc có một số cách thông minh khác để làm những gì tôi muốn?

Câu trả lời:


22

Có, bạn có thể làm điều đó với screensự hỗ trợ nhiều người dùng.

Đầu tiên, tạo một phiên mới:

screen -d -m -S multisession

Đính kèm với nó:

screen -r multisession

Bật hỗ trợ nhiều người dùng:

Nhấn Ctrl-avà gõ

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

Bây giờ, Ctrl-a dvà liệt kê các phiên:

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

Bây giờ bạn có một phiên màn hình nhiều người dùng. Đặt tên multisessioncho người dùng acl'd để anh ta có thể đính kèm:

screen -x youruser/multisession

Và đó là nó.

Hạn chế duy nhất là screenphải chạy bằng suidroot. Nhưng theo tôi biết là mặc định, tình hình bình thường.

Một lựa chọn khác là làm screen -S $screen_id -X multiuser on,screen -S $screen_id -X acladd authorized_user

Hi vọng điêu nay co ich.


1
Đây là những gì tôi đã cố gắng, cho đến khi màn hình phàn nàn về việc cần thiết suid root. Tôi đã tìm ra tôi hỏi liệu đây có phải là cách làm việc ưa thích trước khi thêm quyền root vào các chương trình không có chúng theo mặc định
varesa

Lạ thật. Của tôi screensuidroot.
Scyld de Fraud

Tôi nghĩ rằng đó có thể là một điều phụ thuộc vào distro. Tôi đã thử trên CentOS 6 hoặc 7 (cần kiểm tra)
varesa

Đối với những gì nó có giá trị, screencũng không có suid roottrên Ubuntu 16.04.
đá

6
screen -S $screen_id -X multiuser on, screen -S $screen_id -X acladd authorized_user thay vì điều khiển - một lệnh sẽ là một bổ sung tốt cho câu trả lời
ribamar 15/03/18
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.