다음 줄이 있습니다 /etc/fstab
( //freenas/share/
삼바 공유이며, 삼바 공유 사용자는 콘텐츠를 수정할 수 있는 ACL 권한이 있습니다).
//freenas/share /run/media/myname/freenas/share cifs _netdev,credentials=/home/myname/.smbcredentials,iocharset=utf8,perm,uid=myname,gid=myname,setuids 0 0
디렉터리 /run/media/myname/freenas/share/test_dir/
와 파일을 만든 /run/media/myname/freenas/share/test_dir/test_file
다음 디렉터리와 파일을 읽기 전용으로 만들었습니다.
chmod a-w test_dir
chmod a-w test_dir/test_file
파일을 편집하려고 하면 nano test_dir/test_file
변경 사항을 저장할 수 없습니다. 파일( )을 삭제하려고 하면 rm test_dir/test_file
읽기 전용 파일을 삭제할 것인지 묻는 메시지가 나타나서 를 입력 yes
하고 Enter 키를 누르면 파일이 삭제됩니다.
보호된 디렉토리('rm -rf test_dir/')를 삭제하려고 하면 작동하지 않습니다. rm: cannot remove 'test_dir/test_file': Permission denied
디렉토리가 비어 있는 경우에도 마찬가지입니다 rm: cannot remove 'test_dir/': Permission denied
.
어느 시점에서 touch: cannot touch 'test_dir/test_file': Permission denied
새 파일을 만들려고 시도한 후에도 마찬가지였습니다. 그러나 이 동작을 재현할 수는 없습니다. 이제 내가 가진 권한과 디렉터리에 이미 있는 파일에 관계없이 새 파일을 만들 수 있습니다.
편집: 서버에서 사용자가 a
공유를 수정할 수 있도록 ACL을 구성했습니다. 클라이언트 컴퓨터(즉, 내가 설명했던 모든 것을 시도한 컴퓨터)에서 나는 이름의 로컬 사용자로 로그인했고 myname
( 삼바 공유를 마운트하는 데 사용했던) 다음과 같이 ~/.smbcredentials
설정했습니다 password=1234
. 1234
비밀번호 사용자 a
) 및 user=a
.fstab
줄에 다음 매개변수를 추가하여 posix 권한을 적용할 수 있다고 생각했습니다. perm,uid=myname,gid=myname,setuids
클라이언트 컴퓨터에서 로컬로 권한을 편집하고 로컬로 적용하기 위해서였습니다.
상위 디렉터리가 읽기 전용인 경우 파일을 삭제할 수 없도록 내용을 구성하려면 어떻게 해야 합니까?