邊做邊學,順便留個筆記,若有錯誤請不吝指教。
本篇主要介紹 JunOS 的 Class 設定方式
關於如何將 Class 套用至特定使用者請參考我之前的文章:Juniper Junos使用者帳號設定
所有Juniper相關文章列表:Juniper JunOS 系列文章列表
登入類別是用來管理使用者帳號的權限的設定,登入類別允許您定義以下內容:
使用者登入路由器或交換器時的訪問權限
允許、禁止使用特定命令
登入超時設定
在設定模式下使用下列指令來建立新的登入類別:
root# edit system login class [class name]
這時候應該要能夠看到[edit system login class [class name]]字樣,表示你現在處於編輯class的層級下
在編輯class的層級下可以使用以下指令允許、禁止使用者使用某些命令:
root# set allow-commands [正規表達示]
root# set deny-commands [正規表達示]
這邊我們以允許使用者使用所有的show指令及configure指令為例:
root# set allow-commands "(show .*)|configure"
需要特別注意的是正規表達示需要用引號框起來,而所有允許、禁止的指令需要用一個正規表達示完成,其中禁用的優先權會高於允許。
在編輯class的層級下可以使用以下指令允許、禁用使用者存取config檔特定階層:
root# set allow-configuration [正規表達示]
root# set deny-configuration [正規表達示]
這邊我們以允許存取system login為例:
root# set allow-configuration "system login"
綜合以上的設定檔,我們可以得到一個擁有所有show指令權限及查看、編輯config檔system login階層的登入類別。
另外我們也能使用permissions來配置出相同的權限,permissions是系統中以配置好的權限集(Permission Bit),我們只需要將權限集套入登入類別即可,可參考以下指令:
root# permissions [權限集名稱]
我們若要得到一個與上述權限相符的登入類別,我們可以套用以下權限集:
root# set permissions [admin-control configure view]
關於各權限集的權限內容可以參考Juniper官方網站:
https://www.juniper.net/documentation/en_US/junos/topics/concept/access-login-class-overview.html
最後是可以在登入類別中設定超時(idle timeout),設定方式如下:
root# set idle-timeout [minutes]
這邊的超時設定是以分鐘為單位。
完成所有設定後記得commit才能夠生效,在命列模式下使用下列指令查看完成的設定檔:
root> show configuration system login
以下是上面的設定範例所產生的設定檔:
class ADM {
permissions [ admin-control configure view ];
}
Class ADM2 {
idle-timeout 60;
allow-commands "(show .*)|configure"; allow-configuration "system login";
}