星期二, 10月 14, 2014

2014IT鐵人賽-29-sudo 授權管理

2014IT鐵人賽-29-sudo 授權管理


今天一樣使用 EasyCloud  雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.


今天練習用sudo 指令進行授權管理.


筆記部份:


**sudo**


管理者可以利用sudo 授權使用者去執行特定的指令
sudo, sudoedit - execute a command as another user


visudo 會編輯 /etc/sudoers 檔案來授權使用者可以變更其他使用者執行指令
語法如下
使用者 電腦=(使用者) 指令


另外在安全管理的部份, 有關於密碼的相關設定
利用chage 設定使用者的密碼相關設定
  • Minimum Password Age: 更改密碼後最少要過幾天才能再換密碼
  • Maximum Password Age: 密碼幾天之後一定要換
  • Password Expiration Warning: 密碼過期前幾天警告
  • Password Inactive: 密碼過期後幾天鎖定
  • Last Password Change: 上次修改密碼的日期
  • Account Expiration Date: 帳戶過期日


/etc/shadow 檔案存放密碼的相關設定
john:$2a$10$2jooBgXdcyVRORcTrOk6O.vgsBnufE.oEH366oSNUDf80oAjfz90y:14196:7:90:5:3:14244:
帳號:加密過後的雜湊值:上次修改密碼的日期:Min age:Max age:幾天前警告:幾天後鎖定:帳戶過期日


要求使用者下次登入必須更改密碼
  • 可以使用 #chage -d 0 使用者帳號
  • 或是使用 #passwd -e 使用者帳號



開始練習吧


Lab: sudo


目的: 授權max可以變更使用者的password, 除了變更root的密碼以外


#visudo
加入
#使用者 電腦=(使用者) 指令
max ALL = /usr/bin/passwd [a-Z]*, !/usr/bin/passwd root


並註解 35 行前後
#Defaults targetpw # ask for the password of the target user i.e. root
#ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!


測試
#su - max
>passwd john < 變更john的密碼, 失敗>
>sudo passwd john <要求輸入max的密碼, 即可變更使用者密碼>
>sudo passwd root <失敗, 不允許變更root 密碼>
>exit

目的:授權john可以變更使用者的password, 除了變更root的密碼以外,且不需輸入密碼


#visudo
加入
john ALL = NOPASSWD:/usr/bin/passwd [a-Z]*, !/usr/bin/passwd root


測試
#su - john
>passwd max
>sudo passwd max


Lab: 設定密碼的相關設定


#chage -l john <列出john密碼的相關設定>
#grep john /etc/shadow <請觀察相關資訊>
#chage john <設定john的密碼相關設定>
# grep john /etc/shadow <請觀察相關資訊>
#chage -d 0 john <設定john一登入必須更改密碼>
# grep john /etc/shadow <請觀察相關資訊>

測試:
#su - john
> < 一登入就被要求要更改密碼>



Fun with Day 29 ~



沒有留言: