<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 受限Shell \#!/bin/bash -r\(restricted bash\)即受限制的bash,其可以用作中轉服務器或者僅使用 ssh 來訪問網頁等等。我們可以用\#!/bin/bash -r或set -r方式運行Bash受限模式,開啟受限模式后具體表現如下: * 通過 cd 來改變工作目錄 * 設置或取消環境變量: SHELL, PATH, ENV, BASH\_ENV * 命令名中不能包含目錄分隔符 ‘/’ * 包含有 ‘/’ 的文件名作為內置命令 ‘.’ 的參數 * hash 內置命令有 -p 選項時的文件名參數包含 '/' * 在啟動時通過 shell 環境導入函數定義 * 在啟動時通過 shell 環境解析 SHELLOPTS 的值 * 使用 &gt;,&gt;\|, &lt;&gt;, &gt;&, &&gt;, &gt;&gt; 等重定向操作符 * 使用 exec 內置命令 * 通過 enable 內置命令的 -f 和 -d 選項增加或刪除內置命令 * 使用 enable 內置命令來禁用或啟用 shell 內置命令 * 執行 command 內置命令時加上 -p 選項 * 通過 set +r 或 set +o restricted 關閉受限模式 * 現在通過受限bash來創建只讀用戶。 開啟Bash受限模式后會發現變得更安全,再來看一個案例通過set -r方式運行Bash限制模式。 ``` #!/bin/bash echo "Changing current work directory" cd /etc echo "Now in $PWD" set -r echo "------IN RESTRICTED MODE---------" echo "Trying to change directory" cd /usr/local ``` 但要注意的是bash提供的受限環境的安全程度取決于用戶能執行的命令,很多命令都能調用外部命令,從而導致逃逸出受限環境。例如用 vim 打開一個文件: ``` [root@blog.puppeter.com_centos ~]# vim /etc/passwd 然后執行外部命令: [root@blog.puppeter.com_centos ~]# !bash ``` 這樣就可以啟動一個不受限的bash,這對 more,less,man 等命令同樣有效。如果還能執行腳本,如 python,perl 等,則有很多方式來啟動一個不受限的 shell。要讓bash受限模式更安全,可以限制用戶能夠執行的命令,如我們讓用戶執行執行 ssh 命令。一種方法是,修改 PATH 環境變量。例如我們創建一個user\_00用戶,讓他只能執行 ssh 命令: ``` [root@blog.puppeter.com_centos ~]# ls -s /bin/bash /bin/rbash [root@blog.puppeter.com_centos ~]# useradd -s /bin/rbash user_00 [root@blog.puppeter.com_centos ~]# chown -R root:user_00 /home/user_00/.bashrc /home/user_00/.bash_profile [root@blog.puppeter.com_centos ~]# chmod 640 /home/user_00/.bashrc /home/user_00/.bash_profile [root@blog.puppeter.com_centos ~]# mkdir /home/user_00/bin ``` 然后修改 PATH 環境變量的值為 /home/user\_00/bin,并將允許執行的命令放到這個目錄下。: ``` [root@blog.puppeter.com_centos ~]# echo "export PATH=/home/user_00/bin" >> /home/user_00/.bash_profile ``` 把用戶可執行的命令鏈接到用戶 PATH 路徑下: ``` [root@blog.puppeter.com_centos ~]# $ ln -s /user/bin/ssh /home/ruser/bin/ssh ``` 這樣就可以只讓登錄的用戶執行 ssh 命令。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看