728x90
vi(vim) 으로 파일 편집 작업중에 ":shell" 으로 하던 작업을 중지하고, shell 로 빠져나갈 수 있습니다. 편리하긴 하지만, 의도적으로 쉘로 빠져나가는 것을 막기 위해 할 수 있는 방법을 찾아보았습니다. CLI 기능 작성 중 'vi' 를 사용해야하는 경우, root 나 특정 사용자 권한을 가질 수 있는 상황을 막을 경우에 도움이 될 듯합니다.
1. /bin/false 를 이용 : 현재 작업중인 쉘을 /bin/false 로 변경하여 vi 실행
# SHELL=/bin/false vi /tmp/33
문제점 : vi 에서 "set shell=/bin/sh" 으로 쉘을 변경하면, shell 프롬프트로 빠져나올 수 있다.
2. vim -Z 이용 : vim 옵션중 '-Z' 를 붙여서 파일 작업
# vim -Z /tmp/33
그외, 예전 vi 클론 중 nvi 에도 비슷한 옵션인 ('-S') 이 있다고 하는군요.
출처 :
http://unix.derkeiler.com/Newsgroups/comp.unix.shell/2006-06/msg00676.html
1. /bin/false 를 이용 : 현재 작업중인 쉘을 /bin/false 로 변경하여 vi 실행
# SHELL=/bin/false vi /tmp/33
문제점 : vi 에서 "set shell=/bin/sh" 으로 쉘을 변경하면, shell 프롬프트로 빠져나올 수 있다.
2. vim -Z 이용 : vim 옵션중 '-Z' 를 붙여서 파일 작업
# vim -Z /tmp/33
그외, 예전 vi 클론 중 nvi 에도 비슷한 옵션인 ('-S') 이 있다고 하는군요.
출처 :
http://unix.derkeiler.com/Newsgroups/comp.unix.shell/2006-06/msg00676.html
'Engineering > Etc' 카테고리의 다른 글
unix(linux) 에서 date 를 unixtime 형태로 변환 (0) | 2011.07.27 |
---|---|
vim 에서 UTF-8 지원 (0) | 2011.07.26 |
gdb 에서 유용한 기능 refresh (0) | 2011.06.14 |
vimdiff 많이 사용하는 기능 (0) | 2011.04.29 |
svn externals 사용하기 (0) | 2011.04.12 |