사용자를 소유자로 만들지 않고 서버의 모든 파일에 대한 권한을 부여하는 방법

사용자를 소유자로 만들지 않고 서버의 모든 파일에 대한 권한을 부여하는 방법

최근에 Amazon EC2 서버에 대한 SSH 연결에 관한 프로젝트가 있었습니다. 이 프로젝트에서는 전체 서버(서버에 있는 모든 파일)에 대한 읽기 권한만 갖는 사용자를 생성하라는 요청을 받았습니다. 이 작업을 수행하는 방법을 검색했으며 대부분의 답변은 명령을 사용하는 것입니다.

chown -R

그들은 이 명령이 파일의 소유자를 변경한다고 언급했는데 나는 그렇게 하고 싶지 않았습니다. 그래서 제가 한 일은(저는 Linux를 처음 접했고 많은 것을 알지 못합니다) 다음을 사용하여 루트 파일에 읽기 권한을 추가하는 것이었습니다. 명령

chmod 755 /

그 이후에는 더 이상 서버에 연결할 수 없었기 때문에 잘못된 조치였던 것 같습니다. 내 질문은 루트 파일을 건드리지 않고 파일 소유권을 변경하지 않고 이 작업을 수행할 수 있는 방법이 있느냐는 것입니다. 또한 root일반적으로 작업이 무엇이든 파일을 건드리면 안되는지 묻고 싶습니다 .

답변1

사용자의 를 설정하여 .sshSSH가 키가 손상되었다고 생각하도록 만들 수 있습니다(SSH에서는 이러한 키에 소유자만 읽기/쓰기 액세스 권한이 있어야 함)..ssh/authorized_keys755

일반 시스템에서는 루트 이외의 사용자에게는 범용 읽기 권한이 없습니다. 포괄적인 읽기 권한은 좋은 생각이 아닙니다(*). 실제 요구 사항을 파악하고 필요하고 합리적으로 안전한 경우에만 액세스를 설정하는 것이 좋습니다( /var/log). 그럼에도 불구하고 디렉토리를 보편적으로 읽을 수 있게 만들지 않는 것이 가장 좋습니다. 읽기 액세스 권한이 있는 그룹에 특정 사용자를 추가하거나 ACL을 사용하여 액세스를 미세 조정하십시오.

(*) 예: 읽기 액세스 권한이 있으면 누군가가 서버의 개인 키를 얻을 수 있습니다. 이는 SSH를 사용하여 로그인할 때 서버를 식별하는 키입니다. 이 키를 다른 서버에 복사하면 속아서 가짜 서버에 로그인할 수 있습니다.

관련 정보