
다음과 같이 문자열로 끝나는 시스템 개인 디렉터리 이름을 발견했습니다.
systemd-private-3108aa34ce664b6dbb374430ba5f0592-mariadb.service-Q78z1I
그런 문자열은 무엇을 의미합니까?
답변1
여기저기 파고들다소스공개하다
./src/core/namespace.c: x = strjoin(prefix, "/systemd-private-", sd_id128_to_string(boot_id, bid), "-", id, "-XXXXXX", NULL);
결국에는mktemp(3)
상위 디렉터리에 대한 쓰기 권한이 있는 로컬 공격자가 추측하거나 미리 생성하는 데 어려움을 겪는 고유한 파일을 생성하는 호출입니다.
Six X는 짧은 것으로 간주될 수 있습니다. 대신 OpenBSD 개발자는 10 X를 권장합니다. 이상적인 숫자는 파일 시스템에 따라 다르지만 공격자가 모든 가능성을 생성하는 데 얼마나 부지런할 수 있는지(가능성의 대부분 또는 전부를 생성할 수 있다면 서비스 거부가 될 수 있음) , 파일 시스템에서 허용하는 inode 수 및 문제의 디렉터리에서 터무니없는 수의 파일(또는 inode 고갈)을 얼마나 부지런히 모니터링하는지와 비교합니다. 사용수학적 조합주어진 수의 X가 주어진 수의 입력 문자(보통 영숫자와 밑줄)에 대해 허용하는 잠재적인 파일 수를 파악합니다.