This page is READ-ONLY. It is generated from the old site.
All timestamps are relative to 2013 (when this page is generated).
If you are looking for TeX support, please go to VietTUG.org

limited shell

easier, flexier than jail/chroot
Added by about 3 years ago  »  Votes: 2/2

Trang chủ của lshell: http://lshell.ghantoos.org/Overview

Limited shell là một cách tiếp cận đơn giản hơn so với việc dùng jail hay chroot trong môi trường Linux. Ý tưởng của nó là, thay thế các shell thông thường (/bin/bash, /bin/sh) bởi một shell với các hạn chế có thể quy định được

  1. Hạn chế về những lệnh được dùng
  2. Hạn chế về thư mục được truy cập
  3. Hạn chế về các lệnh được thi hành qua SSH
  4. Hạn chế về thời gian sử dụng shell

Rõ ràng, mặc dù không đầy đủ như chroot, nhưng lshell lại rất uyển chuyển, thích hợp khi cần cung cấp shell cho người dùng trung bình.

Dưới đây là một cấu hình đơn giản, trong đó

  1. Người dùng backup chỉ được phép sử dụng một trong các lệnh ls, tar, gzip, cat, sudo (kèm với hạn chế trong cấu hình của sudo), df, du. Trong khi đó, các lệnh được phép thi hành qua ssh được thiết lập riêng, chỉ có hai lệnh là targzip.
  2. Các thư mục được phép truy cập là /BACKUP/sbin/.
  3. Không được phép sử dụng sftp hay scp để tải tập tin lên server.
  4. Nếu người dùng backup truy cập tới các thư mục khác hoặc sử dụng các lệnh khác so với những quy định trên, hoặc sử dụng các dấu chuyển hướng >, thì sẽ bị tính lỗi, và số lần bị lỗi này không vượt quá 100. Ngoài ra, thời gian cho phép của mỗi lần login không quá 60 giây.
  5. v.v...

PS1: Cấu hình này được áp dụng thực tế, cho một máy khách chạy backup dữ liệu hàng ngày lên một server
PS2: Bài này được viết sau khi đọc một câu hỏi của các bạn ở diễn đàn http://ubuntu-vn.org về chroot.
PS3: lshell được viết bằng Python. Sau khi cấu hình, bạn nhớ cài đặt shell cho người dùng. Ví dụ usermod -s /usr/bin/lshell backup. Xem trong /etc/passwd để xem kết quả.

 1 # /etc/lshell.conf 
 2 [global]
 3 logpath         : /var/log/lshell/
 4 loglevel        : 2
 5 logfilename     : %y%m%d-%u
 6 
 7 [backup]
 8 allowed         : ['ls','tar','gzip','cat','sudo','df','du']
 9 forbidden       : ['>','<','|','&']
10 warning_counter : 100
11 timer           : 60
12 path            : ['/BACKUP/', '/sbin/']
13 home_path       : '/BACKUP/'
14 env_path        : ':/usr/bin:/usr/local/bin:/usr/sbin'
15 scp             : 0
16 sftp            : 0
17 overssh         : ['tar','gzip']
18 strict          : 1
19 scpforce        : '/BACKUP/uploads/'

Ghi chú: Xem thêm lỗi ở http://viettug.org/blogs/501


Comments