쉿
chsh| 원본 작성자 | 살바토레 발렌테 |
|---|---|
| 운영 체제 | 유닉스 및 유닉스 유사 |
| 유형 | 명령 |
chsh("변경 셸"의 약어)는 로그인 셸을 변경하는 데 사용되는 Unix 유사 운영 체제에 대한 명령어다.사용자는 명령줄에서 변경할 셸의 경로 이름을 제공하거나 인수를 제공하지 않을 수 있으며, 이 경우 인수를 제공하지 않음chsh는 사용자가 셸을 대화형으로 변경할 수 있도록 한다.[1]
사용법
chsh는 /etc/passwd 파일을 수정하는 setuid 프로그램으로 일반 사용자만 자신의 로그인 셸을 수정할 수 있다.superuser는 셸을 수정할 사용자의 이름을 명령줄 인수로 제공하여 다른 사용자의 셸을 수정할 수 있다.보안상의 이유로 일반 사용자와 수퍼유저 모두 지정할 수 있는 셸은 /etc/shells 파일의 내용에 의해 제한되며, 셸의 경로명은 해당 파일에 나타나는 그대로여야 한다.(이 보안 기능은 다른 구성 선택사항으로 명령의 소스 코드를 다시 컴파일하여 변경할 수 있다.따라서 모든 시스템에서 반드시 이온을 사용할 수 있는 것은 아니다.)그러나 superuser는 또한 암호 파일을 직접 수정할 수 있으며, 사용자 셸을 /etc/shell에 참조하지 않고 chsh를 사용하지 않고 시스템의 실행 가능한 파일로 설정할 수 있다.[1][2][3]
대부분의 시스템에서 chsh가 -s 명령줄 옵션 없이 호출될 때(셸의 이름을 지정하기 위해) 사용자에게 선택하라는 메시지를 표시한다.Mac OS X에서 -s 옵션 없이 호출되는 경우 chsh는 사용자가 변경할 수 있는 사용자 계정의 모든 기능을 변경할 수 있도록 기본 편집기(초기적으로 vim으로 설정됨)에 텍스트 파일을 표시하며, 셸의 경로 이름은 "Shell:" 옆에 있는 이름이 된다.사용자가 vim을 종료하면, 거기서 변경한 내용이 루트만 직접 변경할 수 있는 /etc/passwd 파일로 전송된다.[2][4]
-s 옵션 사용(예:% chsh -s /usr/local/bin/bash)은 껍데기 교체 작업을 대폭 간소화한다.
시스템에 따라 chsh는 셸을 변경하거나 대화형 모드로 전환하기 전에 사용자에게 암호를 묻거나 묻지 않을 수 있다.일부 시스템에서는 루트 사용자가 아닌 사용자가 chsh를 사용하는 것은 전적으로 sysadmin에 의해 비활성화된다.[4]
많은 Linux 배포에서 chsh 명령은 PAM 인식 응용 프로그램이다.따라서 PAM 구성 옵션을 사용하여 개별 사용자에 맞게 동작을 조정할 수 있다.예를 들어, pam_listfile.so 모듈을 지정하는 인증 명령을 사용하여 개별 사용자에 대한 chsh 액세스를 거부할 수 있으며, 해당 모듈에 대한 listfile=옵션(sense=deny 옵션과 함께)에 대한 액세스를 거부할 사용자 이름의 파일을 지정할 수 있다.[5]
휴대성
POSIX는 /etc/passwd에서 사용자의 엔트리를 수정하는 데 사용되는 chsh와 같은 유틸리티를 기술하지 않는다.대부분의 유닉스 유사 시스템은 chsh를 제공한다.[6]SVR4 기반 시스템은 passwd와 유사한 기능을 제공했다.passwd -e 외에 나머지 3개의 시스템(IBM AIX[7] 및 HP-UX[8]) 중 2개가 chsh를 제공한다.예외는 Solaris로 NIS나 NIS+와 같은 네트워크 이름 서버를 설치하지 않으면 관리자가 아닌 사용자가 셸을 변경할 수 없다.[9][10]구식[11] SGI SVr4 시스템 IRIX64도 chsh가 부족했다.
참고 항목
참조
- ^ a b Cameron Newham and Bill Rosenblatt (2005). Learning the Bash Shell: [Unix shell programming]. O'Reilly. pp. 272. ISBN 0596009658.
- ^ a b Mark G. Sobell and Peter Seebach (2005). A Practical Guide To Unix For Mac Os X Users. Prentice Hall PTR. p. 448. ISBN 0131863339.
- ^ Æleen Frisch (2002). Essential System Administration. O'Reilly. p. 238. ISBN 0596003439.
- ^ a b Deborah S. Ray and Eric J. Ray (1998). Unix. Peachpit Press. pp. 47. ISBN 0201353954.
- ^ Scott Mann and Ellen L. Mitchell (2000). Linux System Security: The Administrator's Guide to Open Source Security Tools. Prentice Hall PTR. pp. 101–102. ISBN 0130158070.
- ^ Nelson Beebe (August 11, 2005). "chsh command availability".
- ^ "IBM Knowledge Center chsh command". IBM. Retrieved January 24, 2015.
- ^ "chsh(1)". Hewlett Packard. Archived from the original on January 28, 2015. Retrieved January 24, 2015.
- ^ Peter Smulder (March 12, 2000), chsh on Solaris, LinuxForum
- ^ Henry van Cleef (February 4, 2005). "User chsh shell change function needed for Solaris". LinuxForum.
- ^ "Archived copy". Archived from the original on July 6, 2009. Retrieved January 24, 2015.
{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
추가 읽기
- Cynthia Gibas and Per Jambeck (2001). Developing Bioinformatics Computer Skills. O'Reilly. pp. 89–90. ISBN 1565926641. — -s 및 -l 옵션으로 chsh를 호출하는 몇 가지 예
외부 링크
| Unix에 대한 Wikibook Guide에는 다음과 같은 주제의 페이지가 있다.셸 선택 |