-perm /6000과 -perm /u+s의 찾기 및 차이점

-perm /6000과 -perm /u+s의 찾기 및 차이점

나는 `one liner'를 사용하여 setuid 실행 파일을 찾으려고 노력해 왔습니다.

내가 처음 시도한 라인은 다음과 같습니다.

find / -perm /u+s -type f

그런 다음 비슷하지만 다른 결과를 제공하는 줄을 찾았습니다.

find / -perm /6000 -type f

내가 알 수 있는 한 이것들은 동일해 보이지만 첫 번째 결과는 두 번째 결과만큼 많은 결과를 표시하지 않습니다(대부분 이상한 그룹이 있는 결과는 누락됨). 왜, 무엇이 다른가요?

답변1

대부분의 사람들은 알지 못하지만 Unix 권한은 실제로 단순한 사용자, 그룹 및 기타(rwx) 권한이 아닙니다. 이 3개 트라이어드는 사용자, 그룹 및 기타 사용자가 파일 및 디렉터리에 액세스할 수 있도록 허용하는 일반적인 권한입니다. 그러나 사용자 비트 앞에 오는 비트 그룹도 있습니다. 이러한 비트를 "특수 모드"라고 합니다.

.chmod

$ chmod 644

실제로는 다음과 같습니다.

$ chmod 0644

비트 목록은 다음과 같습니다.

다음과 같은 제목의 Wikipedia 기사를 발췌했습니다.chmod

Flag                Octal value     Purpose
----                -----------     -------
S_ISUID             04000           Set user ID on execution
S_ISGID             02000           Set group ID on execution
S_ISVTX             01000           Sticky bit
S_IRUSR, S_IREAD    00400           Read by owner
S_IWUSR, S_IWRITE   00200           Write by owner
S_IXUSR, S_IEXEC    00100           Execute/search by owner
S_IRGRP             00040           Read by group
S_IWGRP             00020           Write by group
S_IXGRP             00010           Execute/search by group
S_IROTH             00004           Read by others
S_IWOTH             00002           Write by others
S_IXOTH             00001           Execute/search by others

귀하의 질문

따라서 첫 번째 명령에서 찾고 있는 u+s것은 bit 가 될 것입니다 04000. 비트를 요구하는 숫자 표기법을 사용할 때04000 그리고 02000. 이렇게 하면 사용자 또는 그룹 setuid 비트가 설정된 파일이 제공됩니다.

추가 자료

나는 Unix의 권한을 더 잘 이해하고 싶은 사람에게 다음을 읽어볼 것을 강력히 제안합니다.Wikipedia 페이지에 대해chmod. 매우 간단하게 설명되어 있어 잊어버렸을 때 훌륭한 참고 자료가 됩니다.

참고자료

답변2

모드 6000u+s,g+s단순한 u+s것이 아닙니다 4000.

find / -perm /u+s또는 find / -perm /4000setuid 비트가 설정된 파일만 찾습니다. find / -perm /u+s또는 find / -perm /6000setuid 비트가 설정되거나 setgid 비트가 설정된 파일을 찾습니다.

관련 정보