問題:某些場景下,需要修改一些root許可權的配置檔案,然後執行一些root許可權的命令,不想老是使用root賬號;
解決方案:
第一步:將配置檔案歸到乙個特殊的組,如confgp,對組成員開放寫許可權,同時在usera的附加組裡面加上confgp;
這一步也可以使用setfacl工具來進行許可權控制,參考:
第二步:為usera配置sudo,使其可使用root許可權執行某些命令。
參考:所有的使用者帳戶及相關資訊都儲存在/etc/passwd
檔案中,/etc/shadow
和/etc/group
檔案儲存了使用者資訊。
useradd [-g usera -g groupa,groupb...] usera
-g usera usera的主要使用者組,預設建立
-g groupa,groupb... usera的附加使用者組,多個使用者組直接用英文逗號隔離
usermod -a -g groupc usera 將已有使用者usera加到groupc
usermod -g groupd usera 將已有使用者usera的主使用者組修改為groupd
gpasswd -d usera groupd 將usera從groupd中刪除,groupd不能是usera的主使用者組
第二步:配置sudo
參考:使用visudo來修改sudo配置檔案:/etc/sudoers
配置基礎規則:授權使用者 主機=命令動作,如:usera all=/bin/chown
配置詳解:授權使用者 主機=[(切換到哪些使用者或使用者組)] [是否需要密碼驗證] 命令1,[(切換到哪些使用者或使用者組)] [是否需要密碼驗證] [命令2],[(切換到哪些使用者或使用者組)] [是否需要密碼驗證] [命令3]......
別名定義參考:
host_alias fileservers = server1, server2
user_alias admins = usera,userb
cmnd_alias services = /sbin/service, /sbin/chkconfig
admins
fileservers=(root) nopasswd:services
sudo配置示例:
visudo
## allow root to run any commands anywhere
root all=(all) all
ooxx all=(all) nopasswd:services
配置檔案新增:/etc/sudoers.d/下新增檔案ooxx
ooxx all=(root) nopasswd:/sbin/service nginx start,passwd:/sbin/service nginx stop
ooxx all=(root) nopasswd:/sbin/service nginx reload
如此,即可在ooxx使用者下使用sudo service nginx reload等命令
Linux使用者管理及sudo提權
目錄 一 使用者及組管理 1.管理使用者帳號 1.1 新增使用者 useradd 1.2 檢查使用者屬性 id 1.3 修改使用者屬性 usermod 1.3 設定登陸密碼 passwd 1.4 設定帳號有效期 chage 1.5 鎖定使用者帳號 passwd 1.6 刪除使用者 userdel 2...
linux下建立使用者 使用者組及賦予sudoer許可權
如現在建立使用者hadoop 使用者組hadoop,並賦予使用者hadoop以sudo許可權。以下命令均需要超級使用者執行。1 建立使用者組hadoop groupadd hadoop 2 建立使用者hadoop並新增進使用者組hadoop useradd d home hadoop g hadoo...
Linux 增加使用者sudo許可權
參考 為使用者增加sudo許可權 修改sudoers檔案 輸入 su root 輸入密碼進入root許可權 檢視etc sudoers檔案許可權,如果是唯讀,改為可寫 ls l etc sudoers 修改可寫 chmod 777 etc sudoers 再重新輸入ls l etc sudoers檢...