솔라리스에서 쉘스트립트로 사용자의 로그인 셀을 변경시킬려고 합니다.
글쓴이: dcmru / 작성시간: 일, 2007/06/10 - 6:09오후
솔라리스에서 쉘스크립트를 사용하여 여러사용자의 로그인쉘을 변경시킬려고 합니다.
먼저 솔라리스에서 사용자의 로그인쉘을 변경시킬 수 있는 명령어는
passwd -e user_name
usermod -s shell_full_path user_name
가 있는 것 같습니다.
솔라리스에서는 기본적으로 chsh 명령어는 없더군요.
그런데 쉘에서 명령어 한 줄로 사용자의 로그인쉘을 변경할려면 usermod 명령어로 해야될 것 같습니다.
왜냐하면 passwd -e 는 명령어 한 줄에서 사용자의 로그인 쉘을 지정을 못하는군요.
다음과 같기 때문입니다.
# passwd -e user_name
Old shell: /bin/sh
New shell: /bin/csh
이런식으로 New shell을 물어봅니다.
그러나 usermod 명령어는 변경할려는 사용자가 로그인되어 있으면 정보를 변경할 수 없더군요.
UX: usermod: ERROR: user_name is in use. Cannot change it.
이런식의 에러메시지를 냅니다.
결론은 사용자가 로그인이 되어 있어도 사용자의 로그인 쉘을 변경할 수 있는 다른방법이 있냐고 하는 것입니다.
/etc/passwd 파일을 직접적으로 수정해도 되겠지만,
잘못 변경하면 안되기 때문에 직접 수정하는 방법은 사용하지 않을려고 합니다.
다른 방법이 있나요?
Forums:
댓글 달기