모든 파일에 대한 읽기 전용 액세스 권한을 가진 사용자를 어떻게 만들 수 있습니까? (즉, 쓰기 권한이없는 루트)


9

서버를 백업하기 위해 SSH를 통해 원격으로 서버에 액세스하고 싶습니다. 모든 위험을 최소화하려면 루트와 마찬가지로 모든 파일에 대해 읽기 권한 만있는 사용자를 사용하십시오. 그러나 그는 쓰기 권한이 없어야합니다.

그것을 달성하는 방법에 대한 아이디어가 있습니까?


답변:


7

유지 관리 집약도가 적은 문제를 해결하는 다른 방법을 제안 할 수 있습니다.

특정 프로그램에 대한 액세스가 제한된 ssh 키를 만들 수 있습니다. 루트에 무제한 액세스 권한을 부여하는 것을 싫어하지만 때로는 원격을 통해 특정 명령을 실행해야합니다. ssh 키를 사용하면 ssh 명령을 통해 백업 프로그램을 실행할 수 있습니다.

sshd 매뉴얼 페이지의 'AUTHORIZED_KEYS FILE FORMAT'섹션을 확인하십시오 (OpenSSH를 사용하고 있다고 가정합니다).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8


1
나는 그 아이디어를 좋아한다. 단순히 들어 당겨 을 통해 파일 rsync의 모든 no-*에 설명 된대로 -options 사람이 안전해야합니다. 특히 노 PTY 와 함께 에서이 보안을 강화하는 좋은 시작입니다. 예 :from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

ACL을 사용하여이를 달성 할 수 있습니다. 모든 파일의 권한을 변경하는 루트로 실행되는 스크립트가 여전히 필요합니다. 관심이 있으시면 ACL, setfacl 및 getfacl 매뉴얼 페이지를 참조하십시오.


1

ACL을 사용하지 않고 이것을 만드는 다른 방법이 있습니다. 그러나 여기서주의를 기울여야합니다. 먼저, 예를 들어 roroot (읽기 전용 루트)라는 그룹을 만듭니다. 그런 다음 해당 그룹 ID를 모든 디렉토리에 적용하십시오. 그룹 비트에 대한 권한을 r 또는 400 8 진수로 설정 한 다음 일반 사용자와 같이 사용자 계정을 만들 수 있습니다 (예 : rorootusr). 시스템에있는 다음 ID를 설정하여 다음 ID를 설정하십시오. 그룹의 루트 사용자 만 해당 그룹이 설치중인 항목에 따라 휠, 빈 등의 일부로 만들지 마십시오. 다음 비트는 클러지가 될 것입니다. vim / nano / emacs / joe /를 사용하여 / etc / passwd 파일을 열고 편집기가 보트를 흔들면 방금 만든 ID를 찾으십시오. rorootusr, passwd 파일은 다음과 같습니다

root : x : 0 : 0 :: / root : / bin / sh

콜론으로 구분하여 왼쪽에서 오른쪽으로 읽으면 사용자 이름, 암호 (암호화 + 음영 처리), 사용자 ID, 그룹 ID, 주석, 홈 디렉토리 및 쉘이 있습니다. 주어진 위의 예에서

rorootusr : x : 512 : 450 : 루트 사용자 RO : / home / rorootusr : / bin / bash

0으로 변경하는 것은 세 번째 필드 (512)입니다. 450은 roroot의 그룹 ID입니다. 편집 세션을 저장하면 완료됩니다. 이제 rorootusr은 루트 액세스 권한을 갖지만 그룹 roroot의 구성원 일 뿐이며 시스템에 대한 읽기 전용 액세스 권한을 갖습니다.

이것이 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.