web-development-kb-ko.site

Vim : "sudo vim bad_idea"?

#vim의 IRC 사용자는 다음과 같이 VIM으로 sudo를 사용하지 말라고 촉구했습니다.

Sudo vim bad_idea

/ var/www /와 같은 위치에서 일을 할 때 나는 그것 없이는 쓸 수 없다. 그래서 sudo를 사용하지 마십시오. 문제가됩니다. 물론/tmp /와 같은 다른 위치를 변경하여 DIRS를/var/www로 복사 할 수 있습니다. 그러나 나는 더 쉬운 방법을 느낀다.

  1. 당신이 "vim sudo"하지 않으면 왜?
  2. 첫 번째 질문에 예인 경우 Sudo를 사용하지 않아도되는 문제는 어떻게 할 수 있습니까?

나는 첫 번째 카테고리에 빠지게됩니다 : Sudo vim /var/www/html/some_file은 나쁜 생각이다. 그것은 기록되지 않은 쉘 이스케이프를 허용합니다. 대신, sudoedit /var/www/html/some_file; 그것은 같은 효과가 있습니다.

37
Kevin M

vim을 사용하면 사용자가 임의의 쉘 명령을 실행할 수 있으므로 많은 시스템 관리자가 VIM을 Sudo와 함께 사용할 수 없습니다.

rvim은 vim에 포함되어 있습니다. 쉘 명령을 허용하지 않는 제한된 VIM입니다. (또는 동일한 이유로 Vim을 일시 중지 할 수 있습니다.)

자신의 상자에서 극단적 인 것으로 가야하는지 여부는 논의됩니다.

7
Richard Hoskins

시스템 전체 구성 파일을 편집 할 때 완전히 괜찮습니다 --- 항상 루트를 항상 기억하고 있으므로 모든 권한이 있으므로 더 이상 필요하지 않은 경우 해당 권한을 떨어 뜨리십시오.

특별한 경우 /var/www/, 즉 웹 서버 페이지에서 일부 소유자/그룹/사용 권한을 변경하는 것에 대해 생각할 수 있습니다. 그러나 특정 설치 (단일/다중 사용자, 실제 웹에 따라 달라질 수 있습니다. 서버/그냥 Localhost, Dynamic/Static 등)

6
balpha

이것과 같은 질문은 내가 이마를 때리는 것처럼 만든다. 저는 보안의 다른쪽에 있으며, 악의적 인 활동을 방지하기 위해 예상되거나 필요하지 않으면 사용자 경험을 방해해서는 안됩니다. "

Vim의 Sudo 사용을 방지하는 것은 단지 밴드 원조 일뿐입니다. 앞서 언급했듯이 누군가가 사용할 수 있습니다 :

Sudo su -

또는

Sudo /bin/bash

또는

Sudo nano file

또는

Sudo my_exectuable_text_editor file

ect.

상자에서 악의적 인 일을하는 누군가에 대해 정말로 걱정하고 있다면, Sudo (또는 루트 암호를 분명히) 권한을주지 마십시오. Sudo를 사용하여 악의적 인 활동을 방지하기 위해 슬리버 글 머리 기호는 없으며 "수정"을 모두 "적용"하여 사람이 악의적 인 일을 할 수 없는지 확인하십시오.

누군가 변화하는 소유권/그룹을 언급했습니다. 이것은 웹 서버가 다른 사용자로 실행되는 것처럼 끈적한 문제입니다. 파일에 대한 사용 권한을 변경하면 갑자기 사이트가 모두 작동하지 않습니다. 글쎄, 분명히 당신을 도울 수 없습니다. 그룹에 파일에 대한 쓰기 액세스 권한이없는 경우 그룹에 웹 서버가 실행되는 그룹에 자신을 추가 할 수 있습니다. 그렇지 않은 chmod -r g + w * (또는 chmod 개별 파일)을 수행해야합니다. 당신이 원하는 것은 chmod 모든 파일을 가야하는 경우 번거롭지 않을 수 있습니다.

어떤 사람들은 RVIM을 사용하여 제안했습니다. 물론,/etc/sudoers에 특정 사용자가 Sudo RVIM을 허용하는 행을 추가 할 수 있습니다. 그러나라는 경로가되어야하는 경우 웹 기반 파일 관리자를 구현하는 것이 좋습니다. 이렇게하면 웹 서버가 실행중인 사용자로 실행 중이므로 파일 권한 문제가 없으므로 파일을 편집하는 사람을 여전히 제어 할 수 있습니다.

어쨌든 나의 두 센트.

4
Natalie Adams

달리기 Sudo vim$HOME 디렉토리이므로 루트 권한으로 VIM을 실행 중이지 만 $HOME은 여전히 ​​정상적인 사용자를 가리키고 있습니다.

이것이 처음으로 vim을 실행하는 경우, 그것은 일어날 수 있습니다 ~/.viminfo 파일은 일반 사용자 디렉토리 안에 생성되지만 루트 권한이 있습니다.

2
Denilson Sá Maia