目的:
我想讓別人可以 SSH 使用一個我開給他的帳號 cross2 登入主機操作處理事情,但這個帳號 cross2 能夠有 root 權限,並我能夠記錄這個帳號 cross2 作了那些事情,且能禁止這個帳號 cross2 不能執行那些指令。
然後不能讓這個帳號 cross2 可以 sudo -s 、sudo su 、sudo bash 來切換成 root 環境,如果讓它切換成 root 環境就不會有 sudo 的記錄了。
1.) 編輯
visudo
Defaults syslog=auth
# 概念大致是先 ALL 來允許全部,再一個一個用 ! 來設定你要禁止的然令
cross2 ALL = ALL,!/bin/bash,!/usr/bin/passwd,!/usr/sbin/visudo,!/bin/su
2.) 結果
成功的話,可在使用這個帳號 cross2 SSH 登入後看到你想要切換時失敗的訊息
Sorry, user cross2 is not allowed to execute ‘/bin/bash’ as root on ssorc.tw.
也能夠在 /var/log/messages 看到記錄
Aug 4 22:12:27 ssorc sudo: cross2 : command not allowed ; TTY=pts/2 ; PWD=/home/cross2 ; USER=root ; COMMAND=/bin/su
Aug 4 22:12:36 ssorc sudo: cross2 : command not allowed ; TTY=pts/2 ; PWD=/home/cross2 ; USER=root ; COMMAND=/bin/bash
Aug 4 22:18:20 ssorc sudo: cross2 : TTY=pts/2 ; PWD=/home/cross2 ; USER=root ; COMMAND=/bin/ls /root/
留言