sudo应用
sudo需求,公司程序員某些數據同步后需重啟服務,給予root免登錄權限固然簡單,但存在太大的風險;所以我做了sudo限制,只允許用戶從固定IP連接執行指定的命令,不需輸入用戶名 密碼 技術要點:sudo???? ssh遠程執行命令?? ssh免登錄 1.useradd? wang? 創建用戶并設置密碼? passwd?? wang 2.visudo??? 或 vim /etc/sudoers 寫下如下內容,我用了wang這個用戶,讓他可以從遠程執行 useradd? userdel 命令 #Defaults??? requiretty?
Defaults??? env_reset
Defaults??? env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
??????????????????????? LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
??????????????????????? LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
??????????????????????? LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
??????????????????????? LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
??????????????????????? _XKB_CHARSET XAUTHORITY"
root?ALL=(ALL) ?ALL
wang? localhost,192.168.200.99,192.168.200.245= NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel 注釋: #Defaults??? requiretty? 該行需注釋,否則會報如下錯誤 sudo: sorry, you must have a tty to run sudo wang(用戶名)? localhost,192.168.200.99,192.168.200.245(允許的IP)= NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel 執行sudo命令不用輸入用戶密碼 該行的意思是? 允許wang這個用戶從本地和245這些服務器執行 useradd? 和userdel命令localhost,192.168.200.99是本機,不知道為什么只使用localhost時sudo沒有生效 3.測試 IP:192.168.200.99?? 添加用戶名 sudo /usr/sbin/useradd? user1?? 執行成功 IP:192.168.200.245?? 遠程刪除用戶名 [root@BETA2 ~]# ssh -p2222 wang@192.168.200.99 "/usr/bin/sudo /usr/sbin/userdel -r user1"
wang@192.168.200.99's password: [root@BETA2 ~]# 這里提示輸入passwd,是因為沒有做ssh免登錄,接下來我又做了ssh免登錄 參考連接: http://hi.baidu.com/%CD%FC%D5%E6%E9%AA/blog/item/9d550f4b43447438afc3ab9c.html http://www.51testing.com/?uid-225738-action-viewspace-itemid-216699 http://linux.vbird.org/linux_basic/0410accountmanager.php#visudo http://www.tygbless.tk/?p=121
Defaults??? env_reset
Defaults??? env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
??????????????????????? LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
??????????????????????? LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
??????????????????????? LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \
??????????????????????? LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
??????????????????????? _XKB_CHARSET XAUTHORITY"
root?ALL=(ALL) ?ALL
wang? localhost,192.168.200.99,192.168.200.245= NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel 注釋: #Defaults??? requiretty? 該行需注釋,否則會報如下錯誤 sudo: sorry, you must have a tty to run sudo wang(用戶名)? localhost,192.168.200.99,192.168.200.245(允許的IP)= NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel 執行sudo命令不用輸入用戶密碼 該行的意思是? 允許wang這個用戶從本地和245這些服務器執行 useradd? 和userdel命令localhost,192.168.200.99是本機,不知道為什么只使用localhost時sudo沒有生效 3.測試 IP:192.168.200.99?? 添加用戶名 sudo /usr/sbin/useradd? user1?? 執行成功 IP:192.168.200.245?? 遠程刪除用戶名 [root@BETA2 ~]# ssh -p2222 wang@192.168.200.99 "/usr/bin/sudo /usr/sbin/userdel -r user1"
wang@192.168.200.99's password: [root@BETA2 ~]# 這里提示輸入passwd,是因為沒有做ssh免登錄,接下來我又做了ssh免登錄 參考連接: http://hi.baidu.com/%CD%FC%D5%E6%E9%AA/blog/item/9d550f4b43447438afc3ab9c.html http://www.51testing.com/?uid-225738-action-viewspace-itemid-216699 http://linux.vbird.org/linux_basic/0410accountmanager.php#visudo http://www.tygbless.tk/?p=121
轉載于:https://blog.51cto.com/wangzhennan/749683
總結
- 上一篇: XP访问Linux共享错误提示
- 下一篇: Rocchio算法