Sudoers 블랙리스트

Sudoers 블랙리스트

Linux에서는 sudoers 파일에 일부 사용자를 추가해야 합니다. 그들은 다음을 제외하고 루트가 할 수 있는 모든 것을 할 수 있어야 합니다:

  • 수정, 읽기, 삭제하면 안 됩니다./nfsshare/config
  • 수정, 읽기, 삭제하면 안 됩니다./etc/passwd
  • 아무것도 설치되어서는 안 됩니다.
  • 루트 비밀번호는 변경하면 안 됩니다.
  • 추가 사용자를 추가하기 위해 편집 /etc/sudoers하거나 실행 하면 안 됩니다.visudo

가능합니까?

답변1

이 점에 있어서 나는 기본적으로 Wissam Al-Roujoulah의 의견에 동의합니다.

sudoers 파일에 일부 사용자를 추가해야 합니다.

너,진짜이것이 필요한가요? 일반 UNIX 권한을 사용하거나 일반 UNIX 권한을 사용하는 다른 방법이 있을 수 있습니다 acl.

Wissam Al-Roujoulah가 이미 지적했듯이 특정 명령을 "블랙리스트"에 추가하는 것은 실제로 매우 나쁜 생각입니다(아래 참조 man sudoers, 강조 표시).

하지만 내장된 "!"
 모든 별칭사용자가 "몇 가지" 명령을 제외한 모든 명령을 거의 실행하지 못하도록 허용
 예상대로 작동

대신 사용자의 실제 명령 등의 "허용 목록"을 지정할 수 있습니다.허용하다달리기. 이 같은:

user1 ALL=/sbin/shutdown

위의 내용을 통해 폐쇄가 허용됩니다 user1. 쉼표로 구분된 목록에 더 많은 명령을 추가할 수 있습니다.

이에 대해 자세히 알아보기여기.

답변2

사용자가 다른 편집기를 설치하거나 바이너리를 다른 위치로 이동하여 사용할 수 있기 때문에 사용자가 편집기를 사용하는 것을 방지해야 하기 때문에 거의 불가능하다고 생각합니다.

중요한 점은 사용자를 추가 sudoers하고 그에게 일부 권한을 제외한 모든 권한을 부여할 수 없다는 것입니다.

다른 방법으로 해야 합니다.

답변3

su/ sudo접속은 선택 해제가 아닌 선택입니다. 루트 셸을 얻을 수 있게 되면 다른 모든 보호 기능을 우회할 수 있습니다. 실행해야 하는 특정 항목이 있고 sudoers파일 관리가 너무 복잡한 경우(일반적으로 가장 좋은 방법일 수 있음) 해당 항목을 실행하고 setuid플래그를 설정하는 작은 단일 목적 바이너리를 작성하는 것을 고려하세요.

답변4

SELinux 사용을 살펴보셨나요? 어떤 배포판을 사용하고 있나요?

새로운 SELinux 사용자를 생성하고 필요한 권한(액세스 역할)만 부여할 수 있습니다. 이는 선택 사항이므로 사용자가 수행해야 하는 모든 작업을 나열해야 합니다.

관련 정보