{"id":442,"date":"2015-07-28T15:05:30","date_gmt":"2015-07-28T07:05:30","guid":{"rendered":"http:\/\/www.ipcpu.com\/?p=442"},"modified":"2015-07-28T15:05:30","modified_gmt":"2015-07-28T07:05:30","slug":"shell-lshell","status":"publish","type":"post","link":"https:\/\/c.ipcpu.com\/2015\/07\/shell-lshell\/","title":{"rendered":"Linux\u53d7\u9650shell\u8f6f\u4ef6lshell\u9650\u5236\u7528\u6237\u884c\u4e3a"},"content":{"rendered":"

Linux\u53d7\u9650shell\u8f6f\u4ef6lshell\u9650\u5236\u7528\u6237\u884c\u4e3a<\/h2>\n

\u6709\u65f6\u6211\u4eec\u9700\u8981\u9650\u5236\u767b\u5f55\u5230Linux\u7cfb\u7edf\u7528\u6237\u7684\u884c\u4e3a\uff0c\u6700\u7b80\u5355\u7684\u529e\u6cd5\u83ab\u8fc7\u4e8e\u9650\u5236\u5176\u6240\u80fd\u6267\u884c\u7684\u547d\u4ee4\u3002<\/p>\n

\u4e4b\u524d\u6211\u4eec\u5199\u8fc7bash\u81ea\u5e26\u7684\u53d7\u9650\u6a21\u5f0f\uff0c\u867d\u7136\u4e5f\u80fd\u9650\u5236\uff0c\u4f46\u662f\u5bb9\u6613\u9003\u9038\uff0c\u5e76\u4e14\u4e0d\u662f\u65b9\u4fbf\uff08\u4e0d\u80fd\u6267\u884ccd\uff09\u3002<\/p>\n

Lshell\u662f\u53e6\u4e00\u6b3e\u53ef\u4ee5\u5b9e\u73b0\u8fd9\u4e2a\u529f\u80fd\u7684\u8f6f\u4ef6\uff0c\u662f\u7531Python\u7f16\u5199\u3002<\/p>\n

\u5b98\u65b9\u7f51\u7ad9<\/h2>\n

https:\/\/github.com\/ghantoos\/lshell<\/a><\/p>\n

lshell\u5b89\u88c5<\/h2>\n
  1. #@\u9700\u8981\u5148\u5b89\u88c5EPEL<\/span><\/code><\/li>
  2. yum install lshell <\/span>-<\/span>y<\/span><\/code><\/li><\/ol><\/pre>\n

    lshell\u7684\u4f7f\u7528<\/h2>\n

    \u6211\u4eec\u53ef\u4ee5\u65b0\u5efa\u4e00\u4e2a\u7528\u6237user001\u5e76\u6307\u5b9a\u5176shell\u4e3alshell<\/p>\n

    1. useradd <\/span>-<\/span>s <\/span>\/<\/span>usr<\/span>\/<\/span>bin<\/span>\/<\/span>lshell user001<\/span><\/code><\/li><\/ol><\/pre>\n

      \u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\/etc\/lshell.conf<\/p>\n

      1. ##\u5168\u5c40\u914d\u7f6e<\/span><\/code><\/li>
      2. [<\/span>global<\/span>]<\/span><\/code><\/li>
      3. logpath <\/span>:<\/span> <\/span>\/var\/<\/span>log<\/span>\/<\/span>lshell<\/span>\/<\/span><\/code><\/li>
      4. loglevel <\/span>:<\/span> <\/span>2<\/span><\/code><\/li>
      5. logfilename <\/span>:<\/span> <\/span>%<\/span>y<\/span>%<\/span>m<\/span>%<\/span>d<\/span>-%<\/span>u<\/span><\/code><\/li>
      6. <\/code><\/li>
      7. ##\u9ed8\u8ba4\u7528\u6237\u7b56\u7565<\/span><\/code><\/li>
      8. [<\/span>default<\/span>]<\/span><\/code><\/li>
      9. allowed <\/span>:<\/span> <\/span>[<\/span>'ls'<\/span>,<\/span>'echo'<\/span>,<\/span>'cd'<\/span>,<\/span>'ll'<\/span>,<\/span>'pwd'<\/span>,<\/span>'whoami'<\/span>,<\/span>'w'<\/span>,<\/span>'top'<\/span>,<\/span>'free'<\/span>,<\/span>'ps'<\/span>]<\/span><\/code><\/li>
      10. forbidden <\/span>:<\/span> <\/span>[<\/span>';'<\/span>,<\/span> <\/span>'&'<\/span>,<\/span> <\/span>'|'<\/span>,<\/span>'`'<\/span>,<\/span>'>'<\/span>,<\/span>'<'<\/span>,<\/span> <\/span>'$('<\/span>,<\/span> <\/span>'${'<\/span>]<\/span><\/code><\/li>
      11. warning_counter <\/span>:<\/span> <\/span>2<\/span><\/code><\/li>
      12. aliases <\/span>:<\/span> <\/span>{<\/span>'ll'<\/span>:<\/span>'ls -l'<\/span>,<\/span> <\/span>'vi'<\/span>:<\/span>'vim'<\/span>}<\/span><\/code><\/li>
      13. #\u8bbe\u7f6e\u7528\u6237\u53ef\u4ee5\u8bbf\u95ee\u7684\u8def\u5f84<\/span><\/code><\/li>
      14. path <\/span>:<\/span> <\/span>[<\/span>'\/home\/'<\/span>,<\/span>'\/etc\/'<\/span>,<\/span>'\/tmp\/'<\/span>]<\/span><\/code><\/li>
      15. <\/code><\/li>
      16. ##\u7528\u6237user001\u7684\u7b56\u7565\uff08\u548cdefault\u72ec\u7acb\uff0c\u6ca1\u6709\u7ee7\u627f\u5173\u7cfb\uff09<\/span><\/code><\/li>
      17. [<\/span>user001<\/span>]<\/span><\/code><\/li>
      18. allowed <\/span>:<\/span> <\/span>[<\/span>'ls'<\/span>,<\/span>'echo'<\/span>,<\/span>'cd'<\/span>,<\/span>'ll'<\/span>,<\/span>'pwd'<\/span>,<\/span>'whoami'<\/span>,<\/span>'w'<\/span>,<\/span>'top'<\/span>,<\/span>'free'<\/span>,<\/span>'ps'<\/span>,<\/span>'su'<\/span>]<\/span><\/code><\/li>
      19. forbidden <\/span>:<\/span> <\/span>[<\/span>';'<\/span>,<\/span> <\/span>'&'<\/span>,<\/span> <\/span>'|'<\/span>,<\/span>'`'<\/span>,<\/span>'>'<\/span>,<\/span>'<'<\/span>,<\/span> <\/span>'$('<\/span>,<\/span> <\/span>'${'<\/span>]<\/span><\/code><\/li>
      20. warning_counter <\/span>:<\/span> <\/span>3<\/span><\/code><\/li>
      21. aliases <\/span>:<\/span> <\/span>{<\/span>'ll'<\/span>:<\/span>'ls -l'<\/span>}<\/span><\/code><\/li>
      22. intro <\/span>:<\/span> <\/span>\"\\n\\nWelcome to Linux!\\nPlease use su to switch your user.\"<\/span><\/code><\/li>
      23. prompt <\/span>:<\/span> <\/span>\"%u@%h\"<\/span><\/code><\/li>
      24. path <\/span>:<\/span> <\/span>[<\/span>'\/home\/user001'<\/span>]<\/span><\/code><\/li><\/ol><\/pre>\n

        lshell\u7684\u6d4b\u8bd5<\/h2>\n

        \u73b0\u5728\u6211\u4eec\u4f7f\u7528user001\u7528\u6237\u767b\u5f55\u8fdb\u884c\u6d4b\u8bd5<\/p>\n

        1. user001@localhost<\/span>.<\/span>localdomain<\/span>:~<\/span>$ ll<\/span><\/code><\/li>
        2. total <\/span>0<\/span><\/code><\/li>
        3. -<\/span>rw<\/span>-<\/span>r<\/span>--<\/span>r<\/span>--.<\/span> <\/span>1<\/span> root root <\/span>0<\/span> <\/span>Aug<\/span>  <\/span>8<\/span> <\/span>15<\/span>:<\/span>06<\/span> file01<\/span><\/code><\/li>
        4. user001@localhost<\/span>.<\/span>localdomain<\/span>:~<\/span>$ pwd<\/span><\/code><\/li>
        5. \/<\/span>home<\/span>\/<\/span>user001<\/span><\/code><\/li>
        6. user001@localhost<\/span>.<\/span>localdomain<\/span>:~<\/span>$ cat file01<\/span><\/code><\/li>
        7. ***<\/span> unknown command<\/span>:<\/span> cat<\/span><\/code><\/li>
        8. user001@localhost<\/span>.<\/span>localdomain<\/span>:~<\/span>$ cd <\/span>\/<\/span>tmp<\/span><\/code><\/li>
        9. ***<\/span> forbidden path <\/span>-><\/span> <\/span>\"\/tmp\/\"<\/span><\/code><\/li>
        10. ***<\/span> <\/span>You<\/span> have <\/span>2<\/span> warning<\/span>(<\/span>s<\/span>)<\/span> left<\/span>,<\/span> before getting kicked <\/span>out<\/span>.<\/span><\/code><\/li>
        11. This<\/span> incident has been reported<\/span>.<\/span><\/code><\/li>
        12. user001@localhost<\/span>.<\/span>localdomain<\/span>:~<\/span>$ su <\/span>-<\/span><\/code><\/li>
        13. Password<\/span>:<\/span><\/code><\/li><\/ol><\/pre>\n

          \u7ecf\u6d4b\u8bd5\uff0clshell\u9650\u5236\u4e86\u7528\u6237\u53ef\u4ee5\u8fdb\u5165\u7684\u76ee\u5f55\u548c\u53ef\u4ee5\u6267\u884c\u7684\u547d\u4ee4\u3002<\/p>\n

          \u6765\u81ea\u4e3a\u77e5\u7b14\u8bb0(Wiz)<\/a><\/div>\n

          \u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1aIPCPU-\u7f51\u7edc\u4e4b\u8def<\/a> » Linux\u53d7\u9650shell\u8f6f\u4ef6lshell\u9650\u5236\u7528\u6237\u884c\u4e3a<\/a><\/p>","protected":false},"excerpt":{"rendered":"

          Linux\u53d7\u9650shell\u8f6f\u4ef6lshell\u9650\u5236\u7528\u6237\u884c\u4e3a \u6709\u65f6\u6211\u4eec\u9700\u8981\u9650\u5236\u767b\u5f55\u5230Linux\u7cfb\u7edf\u7528\u6237\u7684\u884c\u4e3a\uff0c\u6700\u7b80\u5355\u7684\u529e\u6cd5\u83ab\u8fc7\u4e8e\u9650\u5236\u5176\u6240\u80fd\u6267\u884c\u7684\u547d\u4ee4\u3002 \u4e4b\u524d\u6211\u4eec\u5199\u8fc7bash\u81ea\u5e26\u7684\u53d7\u9650\u6a21\u5f0f\uff0c\u867d\u7136\u4e5f\u80fd\u9650\u5236\uff0c\u4f46\u662f\u5bb9\u6613\u9003\u9038\uff0c\u5e76\u4e14\u4e0d\u662f\u65b9\u4fbf\uff08\u4e0d\u80fd\u6267\u884ccd\uff09\u3002 Lshell\u662f\u53e6\u4e00\u6b3e\u53ef\u4ee5\u5b9e\u73b0\u8fd9\u4e2a\u529f\u80fd\u7684\u8f6f\u4ef6\uff0c\u662f\u7531Python\u7f16\u5199\u3002 \u5b98\u65b9\u7f51\u7ad9 https:\/\/github.com\/ghantoos\/lshell lshell\u5b89\u88c5 #@\u9700\u8981\u5148\u5b89\u88c5EPELyum install lshell -y lshell\u7684\u4f7f\u7528 \u6211\u4eec\u53ef\u4ee5\u65b0\u5efa\u4e00\u4e2a\u7528\u6237user001\u5e76\u6307\u5b9a\u5176shell\u4e3alshell useradd -s \/usr\/bin\/lshell user001 \u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\/etc\/lshell.conf ##\u5168\u5c40\u914d\u7f6e[global]logpath : \/var\/log\/lshell\/loglevel : 2logfilename : %y%m%d-%u##\u9ed8\u8ba4\u7528\u6237\u7b56\u7565[default]allowed : [‘ls’,’echo’,’cd’,’ll’,’pwd’,’whoami’,’w’,’top’,’free’,’ps’]forbidden : [‘;’, ‘&’, ‘|’,’`’,’>’,'<‘, ‘$(‘, ‘${‘]warning_counter : 2aliases : {‘ll’:’ls -l’, ‘vi’:’vim’}#\u8bbe\u7f6e\u7528\u6237\u53ef\u4ee5\u8bbf\u95ee\u7684\u8def\u5f84path : [‘\/home\/’,’\/etc\/’,’\/tmp\/’]##\u7528\u6237user001\u7684\u7b56\u7565\uff08\u548cdefault\u72ec\u7acb\uff0c\u6ca1\u6709\u7ee7\u627f\u5173\u7cfb\uff09[user001]allowed : [‘ls’,’echo’,’cd’,’ll’,’pwd’,’whoami’,’w’,’top’,’free’,’ps’,’su’]forbidden : [‘;’, ‘&’, ‘|’,’`’,’>’,'<‘, ‘$(‘, ‘${‘]warning_counter : 3aliases : {‘ll’:’ls -l’}intro : […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[17,42,15],"_links":{"self":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts\/442"}],"collection":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/comments?post=442"}],"version-history":[{"count":0,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts\/442\/revisions"}],"wp:attachment":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/media?parent=442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/categories?post=442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/tags?post=442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}