루트가 없는 Unix 계정 소유자가 sudo를 사용하여 루트가 아닌 사용자가 그와 같은 명령을 실행할 수 있는지 확인할 수 있는 방법이 있습니까?
/etc/sudoers를 읽을 수 없습니다.
개인 보안을 위해 sudo를 사용하여 누가 내 계정에 액세스했는지 확인하고 싶습니다.
예를 들어, 사용자 A가 "sudo -u myaccount -i" 또는 임의의 명령을 실행할 수 있는 경우입니다.
답변1
모든 사용자가 읽을 수 있는 목록을 작성해야 합니다./etc/비밀번호;명확한 목록을 얻으려면 다음을 수행하십시오.
cat /etc/passwd |cut -d : -f 1 > /tmp/userlist.txt
이렇게 하면 모든 사용자가 저장됩니다./tmp/userlist.txt그런 다음 명령과 마찬가지로 간단한 스크립트를 실행하여 사용자가 sudoer인지 확인할 수 있습니다.sudo -l -U 사용자 이름, 사용자에게 이러한 권한이 있는지 확인할 수 있습니다. 예를 들어 다음 스크립트를 실행할 수 있습니다.
#!/bin/bash
cat /etc/passwd |cut -d : -f 1 > /tmp/userlist.txt
while read line
do
sudo -l -U $line
done < /tmp/userlist.txt
rm /tmp/userlist.txt
그러면 각 사용자가 sudoer인지 여부와 실행할 수 있는 명령이 인쇄됩니다.