언제 "nano" 대신 "rnano"를 사용해야 합니까?

언제 "nano" 대신 "rnano"를 사용해야 합니까?

나는 그것을 좋아 nano하고 정기적으로 사용합니다. 관련 애플리케이션은 입니다 rnano.

rnano매뉴얼 에서 :

DESCRIPTION
       rnano  runs  the  nano  editor in restricted mode.  This allows editing
       only the specified file or files, and doesn't allow the user access  to
       the filesystem nor to a command shell.

       In restricted mode, nano will:

       • not allow suspending;

       • not allow saving the current buffer under a different name;

       • not allow inserting another file or opening a new buffer;

       • not allow appending or prepending to any file;

       • not make backup files nor do spell checking.

언제 사용해야 합니까 rnano?

답변1

rnano나는 의도된 사용 사례가 nano -R권한 있는 시나리오나 신뢰할 수 없는 키보드 입력에서 사용할 수 있는 편집기를 제공하는 것이라고 생각합니다. 예를 들어, 귀하의 계정을 사용하여 다른 사람에게 편집자를 제공하려는 경우 해당 사람은 다른 파일에 액세스할 수 없습니다. 마찬가지로, sudo편집자 위험에 대한 액세스를 제한하는 것이 유용할 수 있지만 sudoedit이 경우에 사용해야 합니다.

제한 모드버전 1.3.3에 추가됨, 2004년 6월 출시.초기 패치2004년 2월부터는 별다른 이유가 제시되지 않았습니다.

최근에는 사용자가 기본 파일 시스템이나 명령 셸에 액세스하는 것을 허용하지 않고 하나 이상의 특정 파일만 편집할 수 있는 작은 텍스트 편집기가 필요했습니다. 나노는 사용하기 쉽기 때문에 나노를 선택했습니다. 하지만 chroot와 유사한 모드를 갖고 있음에도 보안이 충분하지 않기 때문에 약간의 패치를 해야 했습니다.

데이비드 로렌스 램지대폭 확장된 패치2004년 4월 합병 전.

다른 편집기에는 "제한됨"에 대한 정의가 다양한 제한 모드가 있습니다.Vim 5에 제한 모드 추가2002( 원래 패치와 동일하게 사용되거나 호출됨)는 외부 쉘에 대한 모든 액세스를 차단 합니다 -Z.rvimrnano

답변2

이와 같이 sudoers선택한 사용자 그룹이 특정 프로필을 편집하도록 허용 할 수 있습니다.

Cmnd_alias EDITFILE = rnano /path/to/that/file
User_alias FILEEDITORS = user1, user2
User_alias FILEOWNER = otheruser
FILEEDITORS ALL=(FILEOWNER) EDITFILE

파일은 에서만 쓸 수 있어야 하므로 otheruser해당 사용자는 정상적으로 편집할 수 없습니다. 그러면 다음을 사용할 수 있습니다.

sudo -u otheruser rnano /path/to/that/file

파일을 편집할 수는 있지만 rnano다른 파일에 액세스하거나 셸을 종료하는 것은 금지되어 있으므로 해당 사용자의 권한으로 다른 작업을 수행할 수 없습니다.

답변3

이를 사용하면 사람들에게 쉘 액세스 권한을 부여하지 않고도 선택한 파일을 편집할 수 있습니다.

Steve 비서가 직원들에게 다양한 회사 이메일 별칭을 할당할 수 있어야 한다고 가정해 보겠습니다. 그러나 Steve에게 회사 메일 서버의 전체 쉘 계정을 제공하고 싶지는 않을 것입니다. 이렇게 하면 Steve가 주변을 둘러보고 임의의 명령을 실행할 수 있기 때문입니다. 어느 날 스티브는 지루해져서 서버에서 CEO의 사적인 대화를 읽는 데 사용할 수 있는 악용 가능한 명령을 발견했을 수도 있고, 스티브의 일회용 계정이 일부 악성 코드에 의해 손상되어 서버에 비트코인 ​​채굴기를 배포하는 데 사용되었을 수도 있습니다. 사람들이 필요하지 않은 특권을 갖게 되면 온갖 불쾌한 일이 일어날 수 있습니다.

그럼 당신은 무엇을 합니까? 메일 서버에 Steve의 계정을 만들었지만 해당 계정만 허용하고 rnano /etc/aliases다른 것은 허용하지 않도록 구성했습니다. ForceCommandin 옵션을 사용 sshd_config하거나 command=in을 사용하여 이 작업을 수행할 수 있으며 authorized_keys(이 경우 자체 계정이 필요하지 않음) SSH가 아닌 다른 것을 사용하여 로그인하는 경우 그에 따라 로그인 셸을 구성할 수 있습니다.

답변4

다른 애플리케이션의 일부로 편집기 창을 제공하는 데 사용할 수 있습니다.

간단한 예로는 병합 충돌을 수정하거나(CVS 작업 흐름이 이와 유사하다고 생각합니다) 오류 피드백 메시지를 보내기 전에 편집하는 것입니다.

권한도 필요하지 않으며 파일 이름이 변경되는 것을 원하지 않습니다.

관련 정보