Bạn có cần một vỏ cho SCP?


33

Tôi đang cho phép một người bạn một tài khoản cục bộ trên máy của mình, dành riêng cho SCP. Tôi có thể chỉ định trình bao tài khoản của anh ấy như /bin/true, hoặc bằng bất kỳ cách nào khác giới hạn tài khoản, trong khi vẫn cho phép SCP không?

Câu trả lời:


39

Bạn có thể đặt trình bao của người dùng đó thành rsshhoặc scponly, được thiết kế chính xác cho mục đích đó:

rssh là một trình bao hạn chế để sử dụng với OpenSSH, chỉ cho phép scp và / hoặc sftp. Bây giờ nó cũng bao gồm hỗ trợ cho ndist, rsync và cvs.

scponly là một 'vỏ' (loại) thay thế cho các quản trị viên hệ thống muốn cung cấp quyền truy cập cho người dùng từ xa để đọc và ghi các tệp cục bộ mà không cung cấp bất kỳ quyền riêng tư thực thi từ xa nào.

Khi bạn chạy scp, daemon OpenSSH sẽ tắt một scptiến trình với -ftùy chọn. Khi bạn chạy sftp, daemon OpenSSH sẽ tắt một sftp-servertiến trình. Trong cả hai trường hợp, quy trình con được thực thi thông qua trình bao của người dùng, do đó trình bao đó phải hỗ trợ ít nhất các lệnh này, với cú pháp giống như Bourne. Bất kỳ shell kiểu Bourne nào cũng sẽ làm như vậy (tôi nghĩ các quy tắc trích dẫn của nó đủ tương thích cho những gì sshdsử dụng). Rssh và hoàn toàn cho phép các lệnh này và không có gì khác. /bin/truethậm chí sẽ không chạy các lệnh này.


Vì vậy, điều này có nghĩa là / bin / false hoặc / bin / true sẽ không hoạt động - hay chỉ cho phép sftp?
Daniel Staple

2
@DannyStaple Nếu trình bao của người dùng được đặt thành /bin/falsehoặc chương trình khác không có gì, thì cả scp và sftp đều không hoạt động. Đối với cả hai lệnh, trình nền SSH sẽ tắt một lệnh shell chạy quy trình máy chủ chuyên dụng (scp -f hoặc sftp-server). Nó cần một lớp vỏ kiểu Bourne, hoặc ít nhất là một xấp xỉ đủ gần (chẳng hạn như rsshchỉ cho phép một vài lệnh thông qua).
Gilles 'SO- ngừng trở nên xấu xa'

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.