SUDO 說明
- sudo 是受限制的 su ,使用 sudo 時不需要知道管理密碼,以保證安全
- 通過 /etc/sudoers 來進行授權配置
- 只允許普通用戶登陸系統,並通過此配置業實現特殊權限的分配
- 流程:切換到指定用戶下,並以此用戶身份執行命令,完成後直接退出
- 設計目的:讓用戶授權儘可能少的權限,又能完成自己的工作
基本
操作:在 /etc/sudoers 中添加配置: user01 ALL=/bin/more /etc/shadow
說明:
當用戶【user01】在執行 more /etc/shadow 時,會要求輸入當前用戶的密碼
密碼正確之後,會在5分鐘內獲得相應的執行權限
默認時間只能在編譯內核時修改
超時後要重新輸入密碼
進價
如果每次都需要輸入密碼,則有些腳本無法在後臺執行,此時可配置【免密SUDO】
操作:在 /etc/sudoers 添加配置: user01 ALL=NOPASSWD:/etc/init.d/nginx restart
說明:此時,用戶【user01】就可以免密執行 nginx的重啟了
高級
讓普通用戶擁有超級用戶的權限,而又不需要輸入密碼
操作:在 /etc/sudoers 添加配置: user01 ALL=(ALL) NOPASSWD:ALL
說明:此時,用戶【user01】登陸系統後,可使用 sudo su – [root] 切換到 root 身份並擁有相應的權限,注意 su 後面需要的“-”,此表示bash也一起切換
配置文件 之 別名定義
## Host Aliases 【主機組別名】
# Host_Alias FILESERVERS = fs1, fs2
# Host_Alias MAILSERVERS = smtp, smtp2
## User Aliases 【用戶組別名】
# User_Alias ADMINS = jsmith, mikem
## Installation and management of software 【安裝和管理軟件命令的別名組】
# Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
####TIPS: 其它方面的別名命令組參考上面的
配置文件 之 別名使用
## [配置特定用戶的SUDO權限]
## Syntax: [語法]
## user MACHINE=COMMANDS
## 【允許root用戶運行任意命令】
root ALL=(ALL) ALL
## 【允許"sys"組成員運行networking, software, service management apps】等,此處使用的別名都在開頭定義了
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
## 【允許“wheel”組運行所有命令】
%wheel ALL=(ALL) ALL
## 【不需要密碼運行命令】
# %wheel ALL=(ALL) NOPASSWD: ALL
## 【允許"users"組以root身份掛載與卸載cdrom】
# %users ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom
## 【允許"users"組成員關閉此係統】
# %users localhost=/sbin/shutdown -h now
## 【包含此目錄下的配置】
#includedir /etc/sudoers.d
閱讀更多 Linux猿 的文章