![vi는 어떤 사용자로 명령을 실행합니까?](https://linux55.com/image/90286/vi%EB%8A%94%20%EC%96%B4%EB%96%A4%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
이상한 질문일지도 모르지만 잘 들어보세요
파일이 있다고 가정 해 봅시다
-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
명령이 동일한 내용을 알려준다는 것을 의미합니다.whoami
echo $LOGNAME
터미널에서 실행하는 모든 명령은 를 통해 로그인한 사용자에 의해 실행되는 것으로 간주됩니다 sudo
.
ls
참고용으로 출력의 열 이름은 다음과 같습니다. 이것게임 4그 뜻은 Group
.
PERMS LINKS OWNER GROUP SIZE modMONTH modDATE modTIME NAME
-rwx------ 1 lg262728 lg262728 43457 Sep 20 2006 "cpufreq.c"