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