/ home / <user> /에 대한 권한 755


15

왜 기본적으로 내 디렉토리 /home/<user>/에 권한이 설정되어 있는지 궁금 합니다 755. 이것은 다른 사용자가 내 집에있는 디렉토리에 들어가서 파일을 읽을 수있게합니다. 이것에 대한 정당한 이유가 있습니까?

700예를 들어, 내 집 및 모든 하위 디렉토리에 대한 권한을 설정할 수 있습니까?

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

아무것도 깨지 않고?

또한 집에 대한 권한을 설정하여 생성 된 모든 새 파일 600과 디렉토리 를 가질 수 700있습니까?


1
RHEL / CentOS는 5 기본값은 700이지만, 우분투 755에서
라훌 파틸

2
특정 설정 public_html에서 웹 서버가 디렉토리에 액세스 할 수 있도록하는 것이 일반적입니다 . 사용자에게는 매우 편리하지만 그다지 좋아하지는 않습니다.
Marco

답변:


18

홈 디렉토리가 개인용 디렉토리 인 경우, 아무도 다른 파일에 액세스 할 수 없습니다. 파일에 액세스하려면 프로세스는 루트 디렉토리에서 트리 아래의 경로에있는 모든 디렉토리에 대한 실행 권한이 있어야합니다. 예를 들어, 다른 사용자가 읽을 수 있도록하기 위해 /home/martin/public/readme, 디렉토리를 /, /home, /home/martin/home/martin/public권한이 모든 필요 d??x??x??x(이 될 수있다 drwxr-xr-x, 또는 drwx--x--x또는 다른 조합) 및 추가 파일이 readme공개적으로 읽을 수 있어야합니다 ( -r??r??r??).

홈 디렉토리가 모드 drwxr-xr-x(755) 이상 drwx--x--x(711) 인 것이 일반적 입니다. 디렉토리의 모드 711 (실행 권한 만)을 사용하면 다른 사람이 이름을 알고있는 경우 해당 디렉토리의 파일에 액세스 할 수 있지만 디렉토리의 내용은 나열 할 수 없습니다. 해당 홈 디렉토리에서 원하는대로 공용 및 개인용 서브 디렉토리를 작성하십시오.

다른 사람이 파일을 읽지 않게하려면 홈 디렉토리 drwx------(700)를 만들 수 있습니다 . 그렇게하면 파일을 개별적으로 보호 할 필요가 없습니다. 이것은 다른 사람들이 파일을 읽을 수있는 능력 이외의 다른 것을 파괴하지 않습니다.

파일을 읽는 다른 사람들의 인스턴스이기 때문에 깨질 수있는 일반적인 한 가지는 웹 페이지 와 같은 디렉토리가 ~/public_html있거나 디렉토리가있는 경우 ~/www입니다. 웹 서버의 구성에 따라이 디렉토리는 세계가 읽을 수 있어야합니다.

에서 umask 값을 설정하여 생성 한 파일의 기본 권한을 변경할 수 있습니다 .profile. umask는 파일의 최대 권한을 보완합니다. 일반적인 값은 022 (소유자 만 쓸 수 있고 모든 사람이 읽고 실행할 수 있음), 077 (소유자 만 액세스 할 수 있음) 및 002 (022와 같지만 그룹 쓰기 가능)를 포함합니다. 최대 권한입니다. 응용 프로그램은보다 제한적인 권한을 설정할 수 있습니다. 예를 들어 파일을 만들 때 응용 프로그램이 파일을 만들 때 실행 권한 비트를 설정하지 않았기 때문에 대부분의 파일은 실행 불가능하게됩니다.


내 컴퓨터에서 웹 서버를 실행하고 있지 않으므로에 액세스를 허용 할 필요가 없습니다 ~/public_html. 내 집에 액세스해야 할 수도있는 Apache 이외의 다른 일반적인 프로그램이 있습니까? 무엇에 대한 postfix예를 들어,.
Martin Vegter

1
@MartinVegter 좋은 지적입니다. 전자 메일 프로그램은 메일을 배달 할 때 항상 사용자로 실행 되지만 일부 시스템은 .forward시스템 사용자로 실행되는 메일 시스템에서 읽을 수 있어야 합니다. 그러나 Postfix 는 개인용으로는 괜찮습니다 .forward.
Gilles 'SO- 악마 그만해

3

RHEL / CentOS 5.x에서 체크인하면 기본 권한은 700이지만 우분투에서는 755입니다.

Ubuntuforms.org 직원 에 따르면 새 사용자간에 파일을보다 쉽게 ​​공유 할 수있게하는 것입니다. 다른 사람이 파일을 읽고 실행할 수 없도록하려면 권한을 700 또는 750으로 변경할 수 있습니다.

또한 집에 대한 권한을 설정하여 생성 된 모든 새 파일에 600 및 디렉토리 700이 포함되도록 할 수 있습니까?

당신은 umask 0077그것에 대해 설정할 수 있습니다

다음과 같이 작동합니다.

디렉토리의 기본 권한은 0777당신이 umask를 설정 그렇게 할 때, 0077다음 새 디렉토리 권한으로 만들 것 (0777-0077) 즉, 0700당신이 원하는대로.


않을 umask뿐만 아니라 파일에 적용? 새 디렉토리를 만들 때만 효과가있는 것 같습니다.
Martin Vegter

2
예 ... 현재 쉘에서 체크인하고 umask 0077파일, 디렉토리 및 권한 확인을 할 수 있습니다stat filename
Rahul Patil

3

예, 매우 합당한 이유가 있습니다. 다른 사용자는 파일을 읽을 수는 있지만 쓸 수는 없습니다. 이것은 동료와 파일을 쉽게 공유 할 수 있기 때문에 전문 네트워크에서 매우 유용합니다.

예를 들어, 내가 작업했던 랩에서 우리 모두는 서로의 $HOME디렉토리에 액세스하여 데이터 또는 스크립트를 서로 쉽게 공유 할 수있었습니다. 내 친구 Alice가 X를 수행하는 데 좋은 스크립트를 가지고 있다면 그냥 실행할 것입니다.

~alice/bin/scriptX.pl mydata

다른 사람들이 언급했듯이 이것을 변경하려면 umask를 설정해야합니다. 예를 들어, 새 파일과 폴더를 본인 만 읽을 수있게하려면 이것을 다음에 추가하십시오 ~/.bashrc.

umask 0077

3
Alice의 Perl 스크립트 사용에 관한 내용은 끔찍합니다. 스크립트를 홈 디렉토리에 복사하고 감사 한 후 사본 만 사용하십시오.
AlexWebr

6
@AlexWebr 우선, 나는 그것을 먼저 읽을 것입니다.이 경우 Alice는 내 옆에 앉아 멋진 스크립트를 작성한 사람입니다. 우리는 내가 기계에 맹목적으로 설치하고 실행할 일을하는 개발자만큼이나 신뢰한다고 가정 할 수 있습니다. 실제로 가장 많은 것. 또한 이것은 실험실 이었으므로 우리는 종종 몇 GB의 게놈을 다운로드했으며 서로에게 접근 할 수있는 쉬운 방법이었습니다.
terdon

1

홈 폴더에서 새 파일을 작성하는 방법을 변경하려면 umask를 변경해야합니다. 이것은 일반적으로 쉘 시작 스크립트를 편집하여 수행됩니다. 여기에 좋은 개요가 있습니다.

홈 폴더의 모든 권한을 700으로 변경하는 경우 홈 폴더의 구성 정보가 필요한 서비스 계정으로 실행되는 서비스에 어떻게 영향을 미치는지 궁금합니다 ...이 서비스가 필요한 구성 파일을 읽지 못하게 될 수 있습니다 .

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