vi는 어떤 사용자로 명령을 실행합니까?

vi는 어떤 사용자로 명령을 실행합니까?

이상한 질문일지도 모르지만 잘 들어보세요

파일이 있다고 가정 해 봅시다

-rwxr-w--- user3 user2 4095  somefile

이제 저는 user2' 셸에 있습니다(그렇습니까?). vi 편집기로 이 'somefile'을 실행하면 이 일부 파일이 에 속한다고 생각합니다 . 따라서 vim에서 일부 명령줄을 실행하면 셸 user3에 있게 됩니다. Execute user3명령?

답변1

아니요, vim사용자 ID를 설정하지 않습니다(즉, 유효 사용자 ID를 변경하지 않습니다). vim에서 명령줄을 실행하면 아래와 같은 쉘(즉, 단어)이 표시됩니다 user2.

그런데 이 파일을 편집하려면 다음을 수행해야 합니다.

  • 사용자가 되세요user3
  • 제자리에 있다그룹 user2, 단지 user2인 것만으로는 충분하지 않습니다.

visudo를 실행할 때 루트로 쉘을 실행할 수 있는 버그가 Redhat 4.x에 있었습니다(또는 여전히 그렇습니다). visudo를 실행하려면 sudoers에 있을 준비가 되어 있어야 하기 때문에 이는 사소한 버그입니다.

답변2

쉘 에 있다는 것은 user2으로 로그인되어 있음을 의미하며 or user2명령이 동일한 내용을 알려준다는 것을 의미합니다.whoamiecho $LOGNAME

터미널에서 실행하는 모든 명령은 를 통해 로그인한 사용자에 의해 실행되는 것으로 간주됩니다 sudo.

ls참고용으로 출력의 열 이름은 다음과 같습니다. 이것게임 4그 뜻은 Group.

PERMS       LINKS  OWNER     GROUP     SIZE     modMONTH  modDATE  modTIME  NAME
-rwx------  1      lg262728  lg262728  43457    Sep       20       2006     "cpufreq.c"

관련 정보