'sudo chmod +w /etc/hosts'를 실행할 수 없습니다.

'sudo chmod +w /etc/hosts'를 실행할 수 없습니다.

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

또한 의 거의 모든 다른 파일 에는 /etcof 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하지만 내가 변경한 속성을 포함하여 출력을 읽는 방법에 대한 설명이 필요합니다 .

관련 정보