최근에 Amazon EC2 서버에 대한 SSH 연결에 관한 프로젝트가 있었습니다. 이 프로젝트에서는 전체 서버(서버에 있는 모든 파일)에 대한 읽기 권한만 갖는 사용자를 생성하라는 요청을 받았습니다. 이 작업을 수행하는 방법을 검색했으며 대부분의 답변은 명령을 사용하는 것입니다.
chown -R
그들은 이 명령이 파일의 소유자를 변경한다고 언급했는데 나는 그렇게 하고 싶지 않았습니다. 그래서 제가 한 일은(저는 Linux를 처음 접했고 많은 것을 알지 못합니다) 다음을 사용하여 루트 파일에 읽기 권한을 추가하는 것이었습니다. 명령
chmod 755 /
그 이후에는 더 이상 서버에 연결할 수 없었기 때문에 잘못된 조치였던 것 같습니다. 내 질문은 루트 파일을 건드리지 않고 파일 소유권을 변경하지 않고 이 작업을 수행할 수 있는 방법이 있느냐는 것입니다. 또한 root
일반적으로 작업이 무엇이든 파일을 건드리면 안되는지 묻고 싶습니다 .
답변1
사용자의 를 설정하여 .ssh
SSH가 키가 손상되었다고 생각하도록 만들 수 있습니다(SSH에서는 이러한 키에 소유자만 읽기/쓰기 액세스 권한이 있어야 함)..ssh/authorized_keys
755
일반 시스템에서는 루트 이외의 사용자에게는 범용 읽기 권한이 없습니다. 포괄적인 읽기 권한은 좋은 생각이 아닙니다(*). 실제 요구 사항을 파악하고 필요하고 합리적으로 안전한 경우에만 액세스를 설정하는 것이 좋습니다( /var/log
). 그럼에도 불구하고 디렉토리를 보편적으로 읽을 수 있게 만들지 않는 것이 가장 좋습니다. 읽기 액세스 권한이 있는 그룹에 특정 사용자를 추가하거나 ACL을 사용하여 액세스를 미세 조정하십시오.
(*) 예: 읽기 액세스 권한이 있으면 누군가가 서버의 개인 키를 얻을 수 있습니다. 이는 SSH를 사용하여 로그인할 때 서버를 식별하는 키입니다. 이 키를 다른 서버에 복사하면 속아서 가짜 서버에 로그인할 수 있습니다.