2016-07-16 2 views
1

예를 들어, 루트는 일반 사용자의 (그 이름을 밥) 홈 디렉토리 아래에 새 파일을 터치의 홈 디렉토리에서 다른 사용자의 파일을 덮어 쓸 수 있습니다 :왜 정력

/home/bob $ ls -alh a.txt 
-rw-r--r-- 1 root root 0 Jul 16 17:45 a.txt 

지금 사용자 밥은 정력과를 열고, 읽기 전용이어야합니다.

나는 :w!으로 덮어 강제로 시도하고, 저장하고 owner:group는 밥으로 변경 : IMO

/home/bob $ ls -alh a.txt 
-rw-r--r-- 1 bob bob 4 Jul 16 17:47 a.txt 

, 나는 그것을 거부 허가를 저장할 수 없습니다 생각하지만, 수,과 소유자 : 그룹도 변경되었습니다.

그리고 이것은 바브의 홈 디렉토리 밑에있을 수 있습니다./tmp 또는 기타와 같은 외부 디렉토리 아래에 있다면, 나는 생각한대로 작성할 수 없습니다.

는 사람이 설명 할 수

? 무슨 프로세스가 :w! 실제합니까? 고마워.

+1

이것은 vim과 아무 관련이 없습니다. –

답변

3

파일을 Bob이 읽을 수 있으므로 Bob이 Vim에서 열 수 있습니다.

디렉터리에 Bob이 쓸 수 있으므로 Bob은 그 안에있는 파일의 연결을 해제 (제거)하고 새 파일을 쓸 수 있습니다. 이것은 :w!을 사용할 때 발생합니다.

/tmp 디렉토리의 경우 "sticky"비트가 설정되어 있기 때문에 그렇지 않습니다. 는 OS X sticky(8) 매뉴얼에서

:

'스티키 비트'로 설정되는 추가 전용 디렉토리가되거나, 파일 의 삭제가 제한되는 더 정확하게, 디렉토리 디렉토리. 끈적 디렉토리의 파일은 사용자가 디렉토리에 대한 쓰기 권한이 있고 사용자가 파일 소유자, 디렉토리 소유자 또는 수퍼 유저 인 인 경우에만 제거되거나 의 이름이 바뀔 수 있습니다. 이 기능은 과 같은 디렉토리에 유용하게 적용되며 공개적으로 쓸 수 있어야하지만 사용자가 서로의 파일을 임의로 삭제하거나 이름을 바꿀 수있는 라이센스를 거부해야합니다.

+0

Thx, 나는 디렉토리의'w' 권한을 무시했습니다. –