Tạo một tài khoản UNIX chỉ thực hiện một lệnh


13

Có cách nào để tạo tài khoản người dùng trong Solaris cho phép người dùng chỉ chạy một lệnh không? Không có vỏ đăng nhập hoặc bất cứ điều gì khác. Tôi có thể có thể làm điều đó với /usr/bin/falsetrong /etc/passwdvà chỉ được sử dụng để ssh <hostname> <command>, nhưng là có một cách đẹp hơn để làm điều đó?

Câu trả lời:


15

Bạn có thể sử dụng một lệnh bắt buộc nếu người dùng chỉ có thể kết nối thông qua ssh. Về cơ bản, bất cứ khi nào người dùng kết nối thông qua ssh với một khóa nhất định và tên người dùng nhất định, bạn buộc anh ta thực thi một lệnh (hoặc tập lệnh hoặc) mà bạn đã xác định trong .ssh / ủy quyền. Các lệnh do người dùng ban hành sẽ bị bỏ qua.

Ví dụ:

# in .ssh/authorized_keys
command="cd /foo/bar && /path/to/scripts/my_script.sh arg1 arg2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa public_key

Vâng, bạn đã đúng cả. Những gì tôi đã làm là tạo một tập lệnh cung cấp một menu trên dấu nhắc và sử dụng lệnh kiểm tra bắt buộc trong .ssh / ủy quyền trên máy chủ trước khóa cho người dùng được ủy quyền. Điều này bây giờ cho phép anh ta ssh đến máy chủ và tại dấu nhắc được cung cấp một menu đẹp với một số lệnh để thực thi. Không có gì khác có thể được chạy. Những ngày hạnh phúc!
Sẽ hạ xuống

2
Đã chỉnh sửa; bạn cần các tùy chọn này để bảo mật một lệnh bắt buộc: "chuyển tiếp không cổng, không chuyển tiếp X11, không chuyển tiếp tác nhân, không chuyển tiếp".
Tobu

11

Bạn có thể đặt shell của người dùng đó thành tập lệnh chỉ chạy lệnh bạn muốn cho phép: Bất cứ khi nào người dùng đăng nhập, lệnh sẽ được chạy, sau đó người dùng sẽ đăng xuất. Và vì không có "toàn bộ", bạn không phải đối phó với người dùng đang thử những thứ thú vị;)


0

Tôi tự hỏi liệu bạn có thể làm điều này với RBAC và cung cấp cho người dùng một vỏ đặc quyền (pfsh, pfcsh hoặc pfksh) và tạo một hồ sơ cho các lệnh mà người dùng sẽ được phép chạy.

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.