나는 흔히 "장난꾼"이라고 부르는 사람들이 내 콘솔에 접근할 수 있는 환경에서 일합니다.
chmod -R 777 *
자리를 비울 때마다 화면을 잠그는 데 어려움을 겪지만, 충분한 시간이 주어지면 내가 다른 쪽을 보고/연필을 깎는 동안/무엇이든 누군가가 입력할 기회가 있습니다.
특정 명령에 대해 강제로 비밀번호를 다시 입력할 수 있는 방법이 있습니까( , rm
, chmod
, chown
, vi ~/.bashrc
&c 생각 중입니다)?
.bashrc 및 .bash_profile을 모든 사용자(나 자신 포함)에 대해 읽기 전용으로 변경한 다음 chown/chmod/비밀번호가 필요한 모든 스크립트에 별칭을 지정하는 방법을 생각했지만 해커인 것 같습니다.
편집: 나는 이 컴퓨터에서 sudoer가 아닙니다.
답변1
몇 가지 다른 방법이 떠오릅니다.
1)
파일 시스템 ACL을 사용하여 이러한 특정 바이너리에 대한 사용자의 실행 권한을 제거합니다. 그런 다음 실행하는 데 사용하도록 요청하십시오 sudo
.
예를 들어 사용자가 chmod를 실행하지 못하도록 방지합니다.
setfacl -m u:trideceth12:- `which chmod`
이제 실행을 시도하면 chmod
"권한 거부" 오류가 발생합니다.
(이 접근 방식의 단점은 바이너리가 업데이트되면 ACL이 재설정된다는 것입니다. 하지만 쉘 시작 스크립트에서 ACL을 간단히 확인하고 누락된 경우 경고할 수 있습니다.)
2)
주석에서 언급했듯이 명령에 다른 이름을 붙입니다(예: /bin/true
명령이 유효한 것처럼 보이도록 하려면 yes).
삼)
약간 덜 쉬운 수정(그러나 여전히 쉬운)은 $PATH
일반 검색 위치 앞에 특수 디렉토리를 배치하고 .txt 파일을 /bin/true
해당 디렉토리에 복사하는 것입니다 chmod
. 이렇게 하면 별칭으로 표시되지 않습니다.
확실히#1실제로 사용자를 오도하는 것 이상을 수행하고 실제 보안을 구현하기 때문에 최고의 솔루션입니다.