CentOS 버전 6.10
리눅스엔 기본으로 bash 쉘이 깔려있지만
여러가지 이유로 ksh 쉘을 사용해야 하는 경우
1. 우선 chsh -l 으로 ksh 설치가 되어있는지 확인
[root@localhost ~]# chsh -l /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh
2. root 계정으로 콘쉘 설치 yum install ksh
[root@localhost ~]# yum install ksh Loaded plugins: fastestmirror, refresh-packagekit, security Setting up Install Process Determining fastest mirrors * base: mirror.kakao.com * extras: mirror.kakao.com * updates: mirror.kakao.com Resolving Dependencies --> Running transaction check ---> Package ksh.x86_64 0:20120801-38.el6_10 will be installed --> Finished Dependency Resolution Dependencies Resolved =========================================================================================================== Package Arch Version Repository Size =========================================================================================================== Installing: ksh x86_64 20120801-38.el6_10 updates 762 k Transaction Summary =========================================================================================================== Install 1 Package(s) Total download size: 762 k Installed size: 1.7 M Is this ok [y/N]: y Downloading Packages: ksh-20120801-38.el6_10.x86_64.rpm | 762 kB 00:00 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Importing GPG key 0xC105B9DE: Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org> Package: centos-release-6-10.el6.centos.12.3.x86_64 (@anaconda-CentOS-201806291108.x86_64/6.10) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : ksh-20120801-38.el6_10.x86_64 1/1 Verifying : ksh-20120801-38.el6_10.x86_64 1/1 Installed: ksh.x86_64 0:20120801-38.el6_10 Complete!
3. root 계정으로 /etc/passwd 파일을 vi 로 열기
[root@localhost ~]# vi /etc/passwd
4. 변경할 계정을 찾아 /bin/bash 를 /bin/ksh 으로 변경 후 저장
yazasus:x:500:500::/home/yazasus:/bin/ksh
키보드 방향키로 콘쉘로 변경할 계정 줄의 오른쪽 끝으로 가서 bash 의 b 위에 커서를 올리고 x를 눌러 bash 삭제
i 를 눌러 / 오른쪽에 커서를 두고 ksh 입력 후 esc
키보드로 : (shift + ;)누르고 wq 입력 후 엔터누르면 수정 완료
5. Switch User 한다
쉘을 변경할 계정으로 로그인
[root@localhost ~]# su - yazasus $ $ $
잘 변경된 것 같다.
6. 계정 홈에서 vi .profile 하여 .profile 파일을 만들어 아래 내용 입력
$ vi .profile
export PS1='$LOGNAME@:$PWD>' export EDITOR=vi
PS1 : 프롬프트 설정
EDITOR : bash 에서 기본으로 제공하는 텝 자동완성 등을 콘쉘에서도 사용하기 위한 설정이니 원하면 넣으면 됨.
7. 변경된 사항을 반영하기 위해 Switch user 로 다시 접속
변경한 사항이 반영된다. (혹은 source .profile)
chsh -l 으로 설치된 것까지 확인하면 끝
$ su - yazasus Password: yamasus@:/home/yamasus> yamasus@:/home/yamasus>chsh -l /bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh /bin/ksh
끝 !