1、sudo的基本使用
2、selinux的管理入門
3、手工制作linux系統
4、手工制作linux系統
一、sudo
sudo能做什麼?
1、限制指定用戶在指定主機主機上運行指定的管理命令;
2、詳細記錄用戶基於sudo執行的命令的相關日志信息;
3、“檢票系統”:用戶第一次執行sudo會要求輸入密碼,用戶會獲得一個有固定存活時長的“入場券”;默認為5分鐘;
如何實現此類功能?
/etc/sudoers: 只能由管理編輯以實現授權;
專用編輯命令:visudo
/etc/sudoers:
WHO HOST=(WHOM) COMMAND
%WHO HOST=(WHOM) COMMAND
WHO: 用戶名,也可以用戶列表別名
User_Alias ::= NAME ’=’ User_List
Runas_Alias ::= NAME ’=’ Runas_List
Host_Alias ::= NAME ’=’ Host_List
Cmnd_Alias ::= NAME ’=’ Cmnd_List
用戶別名格式:
用戶別名可用項:
USERNAME, %GROUPNAME, #UID, $#GID, User_Alias
語法格式:
User_Alias NAME = item1, item2, item3 : NAME = item4, item5
別名本身必須使得全大寫字母
主機別名格式:
Host_Alias NAME = item1, item2
可用項:
hostname, ip, network_address, host_alias
命令別名格式:
Cmnd_Alias NAME = item1, item2
可用項:
命令名, 目錄(目錄下的所有命令),"sudoedit",Cmnd_Alias
授權示例:
gentoo ALL=(ALL) /usr/sbin/useradd, /usr/sbin/userdel
sudo命令:
-l: 查看當前用戶可執行的sudo命令
-u 用戶名 命令:以指定用戶的身份運行後面的“命令”;
-k: 清除“入場券”;
-b 命令:在後台運行指定的命令
-p 提示語:可以更改詢問密碼的提示語,其可用%u變量來替換為用戶名,%h替換為主機名;
-e 文件路徑:不是執行命令,而修改指定的文件;
注意:/usr/bin/passwd [a-zA-Z0-9]*, ! /usr/bin/passwd root
! /usr/bin/passwd root需要放在後面;