Câu trả lời:
Để được mô tả, nó sẽ không phải là ctrl + c, nhưng SIGHUP
(gần với ctrl + d) sẽ giết chết ứng dụng.
Về cơ bản, bạn có thể đặt bất cứ thứ gì bạn muốn vào vỏ của người dùng /etc/passwd
. Chỉ cần thay thế mặc định trên dòng passwd của người dùng (có thể /bin/bash
) bằng một chương trình khác. Chương trình đó có thể là một tập lệnh, chẳng hạn như /usr/bin/tail_log_file
, với các nội dung này, được sở hữu bởi root: root, với umode 0755:
#!/bin/rbash
tail -f /path/to/logfile
Bạn có thể sử dụng một số trình thông dịch khác ngoài rbash, nhưng nên sử dụng trình bao hạn chế trong các trường hợp như vậy.
Để cực kỳ khoa trương về nó, bạn nên thêm đường dẫn của tập lệnh /etc/shells
, nhưng tôi thường thấy nó vẫn hoạt động.
Cũng nên nhớ rằng người dùng có khả năng có thể đặt tập lệnh ở chế độ nền hoặc sử dụng một số tùy chọn ( ssh username@host bash
) và vẫn có được trình bao. Nếu bạn muốn hạn chế người dùng theo những cách như vậy, quyền hệ thống tập tin tốt là giải pháp thực sự duy nhất.
/etc/shells
là cho phép người dùng có cái gì đó khác là vỏ của họ để đặt vỏ của họ thành cái này; superuser ( root
) luôn có thể thay đổi vỏ của bất kỳ ai thành bất cứ thứ gì họ muốn.
/etc/shells
đó sẽ cho phép người dùng thay đổi trình bao của mình (vì /usr/bin/tail_log_file
khi đó sẽ được coi là "trình bao không giới hạn")!
Bạn có thể định cấu hình ssh để chạy lệnh bạn chọn khi đăng nhập bằng xác thực khóa chung. Để làm điều này, tạo một cặp khóa:
djs@sardinia:~$ ssh-keygen -f restricted-key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in restricted-key.
Your public key has been saved in restricted-key.pub.
The key fingerprint is: b1:8f:26:47:c2:c5:f2:8d:ed:a0:c4:bd:9a:30:9d:08 djs@sardinia
[...]
restricted-key.pub
chứa một dòng phù hợp để đưa vào ~/.ssh/authorized_keys
tệp của người dùng :
ssh-rsa AAAA...UDz47Nl djs@sardinia
nhưng bạn có thể thêm một lệnh vào đây và ssh sẽ chạy lệnh đó khi đăng nhập bằng khóa:
command="tail -f /my/interesting/file" ssh-rsa AAAA...UDz47Nl djs@sardinia
Sau đó, người dùng có thể ssh vào máy bằng cách sử dụng ssh -i restricted-key
.