새 파일에는 다른 권한이 있습니다.

새 파일에는 다른 권한이 있습니다.

Linux centos 7 상자에 다른 사용자와 공유된 폴더가 있습니다. 전체 폴더에 대한 권한을 777로 설정했는데도 다른 사용자가 만든 새 파일은 여전히 ​​잠깁니다.

폴더는 /data 폴더입니다. "현재 /data에 있는 모든 파일과 /data에 생성된 모든 파일은 누구나 원하는 모든 작업을 수행할 수 있도록 항상 완전히 사용할 수 있어야 합니다"라고 Linux에 어떻게 알릴 수 있습니까?

몇 가지를 시도했지만 Linux가 처음이라 잘 이해가 되지 않습니다. chmod를 사용하여 권한을 변경하는 방법을 알고 있지만 디렉토리 자체를 변경하더라도 변경 사항이 새 파일에 유지되지 않는 것 같습니다.

답변1

생성한 파일의 권한은 파일 생성 시 사용자의 umask에 의해 정의됩니다. 다음을 통해 내 umask를 볼 수 있습니다.

ljm[~]$ umask
0022

사용자는 다음과 같은 방법으로 umask를 설정할 수 있습니다:

umask 0000

(이렇게 하면 모든 사람이 모든 파일을 읽고 쓸 수 있게 됩니다. 이렇게 하지 마세요.)

일반적으로 권한은 파일 소유자에 의해 결정됩니다. 이를 임의 액세스 제어라고 합니다. 소유자는 다음을 수행할 수 있습니다.

chmod a+rw /data/file

시스템의 루트라면 모든 파일에 대해 이 작업을 수행할 수 있습니다. 루트의 crontab에 행을 추가하여 chmod -R a+rw /data1분마다 실행할 수도 있습니다.

그러나 컴퓨터의 다른 모든 사용자(또는 시스템에 액세스할 수 있는 임의의 행인이나 해커)와 매우 좋은 친구가 아닌 이상 이 작업을 수행하지 마십시오. 보안이 완화된 환경의 솔루션은 다음과 같습니다.

  • 액세스할 그룹을 만듭니다 /data.chown root.datagrp /data
  • 디렉터리 3777(chmod 1777 /data)을 만듭니다. 이를 통해 사용자는 자신의 파일을 삭제할 수 있습니다. 하지만 다른 파일은 아니고 모든 파일이 이 그룹에 속합니다.datagep
  • 0002의 모든 사용자에 대해 umask를 설정하고 사용자를 추가합니다.datagrp

그리고 실제로 Unix/linux 권한에 대해 읽어보세요. Google의 "unix 파일 권한 umask 설명"입니다.

관련 정보