ESXi
사용자 xyz로 원격 VM(이 부족함)에 로그인했습니다 . /etc/hosts
기본적으로 표시되지 않는 일부 네트워크 이름을 추가하기 위해 내 이름을 변경하고 싶었습니다 .
처음으로 달려보려고 했는데
sudo vi /etc/hosts
하지만 에 접속했을 때 vi
파일이 읽기 전용이라는 메시지가 계속 표시되었습니다. 권한은 다음과 같습니다.
>ls -l /etc/hosts
-rw-r--r-- 1 root root 416 2013-06-19 08:08 /etc/hosts
또한 의 거의 모든 다른 파일 에는 /etc
of lsattr
가 -----------------e-
있고 . 예:hosts
----i------------e-
>lsattr /etc
...
-----------------e- ./python
----i------------e- ./hosts
...
그런 다음 시도해 보았고 chmod
여기에 내가 얻은 것이 있습니다.
>sudo chmod +w /etc/hosts
chmod: changing permissions of `/etc/hosts': Operation not permitted
나는 루트(내가 전환될 때 전환되는 sudo
)가 무엇이든 할 수 있어야 하기 때문에 그것이 이상하다고 생각했습니다. 내 sudoers
파일은 매우 평범해 보입니다.
1 # /etc/sudoers
2 #
3 # This file MUST be edited with the 'visudo' command as root.
4 #
5 # See the man page for details on how to write a sudoers file.
6 #
7
8 Defaults env_reset
9
10 # Host alias specification
11
12 # User alias specification
13
14 # Cmnd alias specification
15
16 # User privilege specification
17 root ALL=(ALL) ALL
18
19 # Allow members of group sudo to execute any command after they have
20 # provided their password
21 # (Note that later entries override this, so you might need to move
22 # it further down)
23 %sudo ALL=(ALL) ALL
24 #
25 #includedir /etc/sudoers.d
26
27 # Members of the admin group may gain root privileges
28 %admin ALL=(ALL) ALL
이런 일이 발생하는 이유와 해결 방법에 대한 설명을 찾고 있습니다.
답변1
이번 호의 구체적인 속성은 입니다 i
.불변기인하다.
파일이 표시되었습니다.불변.
이는 루트를 포함한 모든 사용자가 이를 전혀 변경할 수 없음을 의미합니다. 루트는 여전히 속성을 변경하고 불변 속성을 제거할 수 있지만 루트가 단순히 무시할 수 있는 파일에 대한 표준 쓰기 금지 권한과 달리 파일을 변경하기 전에 먼저 이를 수행해야 합니다.
이러한 속성은 내가 아는 한 ext[234] 파일 시스템에만 적용 가능합니다.
chattr의 매뉴얼 페이지를 볼 수 있습니다.
$man chattr
사용 가능한 속성의 전체 목록과 설명을 보려면
내가 실제로 사용한 유일한 것은 i입니다. 그러나 다른 것 중 일부는 다음과 같습니다:
A: atime remains unmodified when accessed
a: can only be opened for writing in append-only mode
c: compressed automatically
j: all data is written to the journal before being written to the file
s: blocks are zeros when file is deleted
u: contents of file are saved when file is deleted for later undelete
다른 속성도 있지만 다소 난해하며 chattr 매뉴얼 페이지에서 더 많은 정보를 찾을 수 있습니다.
답변2
나는 확장 속성을 변경하여 제거했고 i
괜찮았습니다.
>sudo chattr -i /etc/hosts
lsattrs
하지만 내가 변경한 속성을 포함하여 출력을 읽는 방법에 대한 설명이 필요합니다 .