Tôi muốn hạn chế một số người dùng trên máy chủ của mình chỉ có thể thực thi một số lệnh nhất định. Để làm điều này, cách tiếp cận phổ biến nhất mà tôi có thể tìm thấy là sử dụng ăn vạ.
Mặc dù tôi có thể tìm thấy nhiều trang web nói về rbash, nhưng tôi gặp khó khăn khi tìm bất kỳ thông tin nào về cách sử dụng đúng. Cách tiếp cận phổ biến nhất mà tôi có thể tìm thấy là tạo một liên kết tượng trưng từ /bin/rbash đến /bin/bash, hãy đặt shell đăng nhập của người dùng bị hạn chế thành /bin/rbash và sau đó thiết lập một tùy chỉnh CON ĐƯỜNG Trong ~/.bash_profile trong thư mục chính của người dùng.
Tuy nhiên, tôi khá sốc khi biết rằng với thiết lập này, người dùng vẫn có thể sao chép tệp vào máy chủ bằng cách sử dụng scp và họ thậm chí có thể mở một trình bao không hạn chế bằng cách sử dụng người dùng ssh@host -t bash! Điều dường như đang xảy ra là máy chủ SSH đang chuyển lệnh tới trình bao đăng nhập trên máy chủ bằng cách sử dụng -c, Vì thế người dùng ssh@host -t bash làm cho máy chủ chạy /bin/rbash -c bash, hoạt động vì .bash_profile chưa được thực hiện để hạn chế đường dẫn. scp tương tự làm cho máy chủ chạy /bin/rbash -c scp.
Bây giờ tôi đã bắt gặp ForceCommand chỉ thị của sshd. Về cơ bản, lệnh này luôn khiến lệnh được cấu hình được chuyển thành -c vào shell đăng nhập, bỏ qua bất kỳ lệnh nào mà máy khách đã chỉ định. Vì thế nếu ForceCommand được đặt thành ăn vạ, điều đó sẽ luôn thực thi lệnh /bin/rbash -c rbash trên máy chủ, bất kể máy khách có được gọi với -t bash hoặc như scp hay bất cứ cái gì. Không may, /bin/rbash -c rbash gây ra .bash_profile không được thực thi, vì vậy chúng tôi kết thúc với một trình bao bị hạn chế nhưng một trình bao bình thường CON ĐƯỜNG, vì vậy chúng ta chỉ có thể gọi đánh đập ở đó để thoát khỏi nó.
Những gì tôi muốn đạt được:
- Không có cách nào để tránh trình bao bị hạn chế đối với người dùng kết nối qua SSH
- Lý tưởng nhất là vẫn có thể thực thi các lệnh được phép trong trình bao bị hạn chế bằng cách sử dụng
người dùng ssh@máy chủ được phép_command
- Cấu hình không nên chỉ dành cho SSH, vì vậy người dùng đăng nhập chẳng hạn như trên TTY cũng nên bị hạn chế.