나는 이것이 사실인지 전혀 몰랐기 때문에 충격적인 것을 배웠습니다.
다음 권한을 가진 디렉터리가 있는 경우:
user@host:~$ ls -la testdir
total 8
drwxrwxrwx 2 user user 4096 Mar 3 20:36 .
drwx------ 34 user user 4096 Mar 3 20:36 ..
-rw-r--r-- 1 user user 0 Mar 3 20:36 testfile 1
-rw-r--r-- 1 user user 0 Mar 3 20:36 testfile 2
파일 testfile 1
이 testfile 2
있고소유자 쓰기 권한만누구나 쓸 수 있습니다.
지금까지는 디렉토리 권한이 영향을 미친다고 생각합니다.디렉토리 자체.
이제 내 질문은 - 모든 것이 파일이 있는 디렉토리의 권한에 의해 설정되는 것 같으면 파일에 대한 파일 권한이 무슨 용도로 사용됩니까?
====편집 1====
반면에 다음 권한을 확인하세요.
[user@geruetzel2 default]$ ls -la
total 24
drwxr-xr-x. 2 root root 41 Dec 19 23:07 .
drwxr-xr-x. 96 root root 8192 Mar 3 20:28 ..
-rw-r--r--. 1 root root 354 Dec 19 23:07 grub
-rw-r--r--. 1 root root 1756 Nov 30 19:57 nss
-rw-------. 1 root root 119 Mar 6 2015 useradd
cat useradd
여기서 루트가 아닌 사용자로 실행하면허가가 거부되었습니다실수. 왜 그런 겁니까? 디렉토리에 "기타"에 대한 읽기 권한이 있으므로 읽을 수 있어야 합니까? 제가 제시한 두 가지 예 사이에는 차이가 있는 것 같습니다. 그러나 다른 동작에 대한 이유는 보이지 않습니다.
답변1
디렉토리 권한은 "오직" 디렉토리 내용에 영향을 미칩니다. 따라서 파일이나 폴더의 권한이 쓰기 액세스 금지로 설정되어 있어도 디렉터리에 대한 쓰기 액세스 권한이 있는 사람은 누구나 해당 디렉터리에 있는 파일이나 폴더를 삭제할 수 있습니다. 이나 다른 텍스트 편집기를 사용하여 폴더를 열면
이해하기 더 쉬울 수 있습니다 . vi
Unix와 Linux에서는 "모든 것이 파일입니다".
예를 들어 파일 편집 을 사용하면 vi
파일을 제자리에서 편집하는 대신 복사본을 만들고 저장 시 원본 파일을 삭제합니다.
반면, 파일을 소유하지 않은 사용자는 echo
해당 파일에 직접 접근할 수 없습니다.
답변2
아니요, 허가 없이 파일을 쓸 수 없습니다. -- 하지만 삭제하고 같은 이름으로 새 파일을 만들 수는 있습니다. 이렇게 하려면 해당 파일이 있는 디렉터리에 대한 쓰기 권한이 필요합니다.
목차와 함께...
x
허락 없이는 거의 아무것도 할 수 없습니다- 혼자서
r
는 할 수 있다오직내용을 비재귀적으로 나열하고 이름만 표시합니다. 항목이 디렉터리인지 파일인지 알 수 없으며 항목을 열 수도 없습니다.
- 혼자서
- 혼자서
x
는 할 수 있다cd
해당 디렉토리로 이동- 모든 파일 및 하위 디렉터리에 액세스읽기 및 쓰기 포함 권한 설정(그들의 말에 따르면내 자신의권한) 이름을 아는 경우
- 혼자서 는 아무것도 할 수 없어
w
(!?) - 당신은해야합니다
x
그리고w
도착하다- 항목 추가(예: 파일/디렉토리 생성)
- 항목 삭제(예: 파일 삭제 또는 빈 디렉터리 삭제)
- 이 작업을 수행하려면 파일 자체에 대한 권한이 필요하지 않습니다.
- 비어 있지 않은 디렉토리는 삭제할 수 없습니다...
- ...하위 디렉터리에 대한 권한이 부족하면 상위 디렉터리의 소유자가 해당 콘텐츠를 삭제하지 못할 수도 있습니다. 즉, 반복 삭제가 가능합니다.
dir1/dir2/dir3/file
필요에 따라 하세요x
dir1
, 및dir2
dir3
dir3
및/또는file
작업에 따라 일부 권한