새 파일 및 폴더에 대한 기본 권한 설정

새 파일 및 폴더에 대한 기본 권한 설정

사용자가 입력한 정보가 포함된 업로드 디렉토리가 있습니다. 사용자가 가입할 때마다 업로드 디렉토리에 폴더를 만들고 거기에 사진을 저장하는 이미지를 제출합니다. 문제는 기본적으로 이 업로드 디렉터리와 그 안에 있는 사진이 각각 0755와 0644라는 것입니다. 그리고 새 파일과 폴더의 기본값을 안정적으로 변경하는 방법을 찾을 수 없습니다(umask는 유용한 검색인 것 같습니다. 하지만 내 구체적인 상황에 따라 조언을 구해야겠다고 생각했습니다).

업로드 시 새 폴더가 생성되면 소유자와 관리자만 폴더에 액세스할 수 있고 해당 폴더에 생성된 모든 파일에도 동일하게 적용되기를 바랍니다. 이것의 궁극적인 목표는 자신과 관리자만이 접근할 수 있는 개인 "프로필" 영역을 만드는 것입니다. 어떤 도움이라도 대단히 감사하겠습니다.

답변1

새 파일의 권한은 실제로 생성 프로세스의 영향을 받지만 umask파일이 생성될 때 시스템 호출에 사용된 프로세스의 권한에 의해서도 제한됩니다. open()(즉, 제한된 권한으로 명시적으로 생성된 파일(이와 같은 사적인 내용을 생각해 보세요 ~/.ssh/id_rsa)은 더 넓은 권한을 가질 수 없습니다.)

새 파일이 받게 될 권한을 수정하는 또 다른 방법은 POSIX ACL, 특히 기본 ACL을 사용하는 것입니다. 디렉터리에 기본 ACL이 있으면 새 파일에 대신 사용됩니다 umask.

admin이렇게 하면 소유자, 소유자 그룹, 호출 사용자 및 다른 사람이 현재 디렉터리의 모든 새 파일에 액세스할 수 없게 됩니다 .

$ setfacl -d -m user::rwx -m user:admin:rwx -m other::- .

추가 -m group::-하면 자신이 속한 그룹에서도 액세스 권한을 제거할 수 있습니다.

파일을 생성할 때 사용된 권한은 여전히 ​​적용되지만 파일을 업로드하는 데 사용되는 유틸리티에 문제가 될 가능성은 없습니다.

답변2

다음 이름 중 하나로 파일을 만듭니다.

  1. .cshrc
  2. .profile
  3. .bash_profile

(이 파일들은 숨겨집니다)

파일 내용을 추가하고 umask저장하면 새 파일/폴더의 기존 권한이 유지됩니다.

관련 정보