이 특정 시나리오에서 디렉터리와 파일 권한의 차이점

이 특정 시나리오에서 디렉터리와 파일 권한의 차이점

최근에는 웹 서버에 연결하기 위한 SSH 기반 인증을 배우고 있습니다. 게시물에서는 특정 파일 권한을 권장합니다. 로컬 시스템의 .ssh 폴더에는 디렉터리 권한 700과 콘텐츠(예: 키의 파일 권한 640이 있어야 함)가 있어야 합니다.

이해가 되지 않는 것은 소유자에 대해 rwx 권한을 설정하고 디렉터리에 대해 그룹 및 다른 사람에 대한 권한을 설정하면 그룹과 다른 사람이 디렉터리를 나열하거나 CD로 이동할 수 없다는 의미입니다. 그렇다면 그 안에 있는 파일에 대해 640 권한을 설정하는 것(즉, 그룹의 rw, 다른 사람은 권한이 없음)의 추가 의미는 무엇입니까? 애초에 해당 디렉토리는 그룹이나 다른 사람이 읽거나 이동할 수 없습니다.

답변1

내부 권한이 주어진 디렉토리 구조 및 권한과 기능적으로 독립적이라는 것은 맞지만 한 가지가 빠졌습니다. 하드 링크 공유 권한.

위의 예에서 다른 위치에 대한 하드 링크(심볼릭 링크 아님)를 생성하면 ~/.ssh/id_rsa결과 파일은 권한을 미러링하므로 ~/.ssh/id_rsa사용자가 홈 디렉터리에 액세스할 수 있는 경우 사람들이 해당 파일에 액세스할 수 있습니다. ,또는새로운 위치를 통해

따라서 SSH 요구 사항은 실제로 기술적으로 그래야 하는 것만큼 엄격하지는 않지만(이상적으로는 해당 디렉터리의 개인 키에 0640이 아닌 0600 권한이 있어야 함) 대부분의 사람들은 (심볼릭 링크와 달리) 더 이상 하드 링크를 이해하거나 신경 쓰지 않습니다. (파일 시스템 경계를 확장할 수 있음) 또는 참조 링크(링크 중 하나가 기록될 때 모든 경우에 링크를 올바르게 분할함)에 비해 그다지 유용하지 않습니다.

다른 파일의 경우에도 여전히 특정 보안 요구 사항이 있습니다. 특히:

  • .ssh/authorized_keys파일에는 귀하도 액세스할 수 있는 다른 공개 키에 대한 정보가 포함되어 있습니다.
  • .ssh/known_hosts파일에는 어떤 시스템에 연결했는지에 대한 정보가 포함되어 있습니다(OpenSSH는 실제로 호스트 이름과 IP 주소에 대한 단방향 해시를 사용하여 허가 없이 이 시스템을 보호하는 기능을 제공합니다).
  • 키의 공개 부분은 계정을 연결하기 위해 다른 시스템과 일치시키는 데 사용될 수 있습니다 .ssh/authorized_keys. 또는 이론적으로 개인 키가 공격을 받을 수 있습니다(두 번째 시나리오는 정부 수준의 적과 마주하지 않는 한 대부분 이론적이지만).

이러한 파일은 모두 귀하의 정보가 도난당할 가능성이 있는 다른 장소를 식별하는 데 사용될 수 있으므로 보호하는 것이 가장 좋습니다.

관련 정보