(10101101)173/UNIX2008. 12. 1. 03:52

passwd 명령어는 사용자의 비밀번호를 변경하는 명령어 이다 기본적으로 사용하는 방식은 다음과 같습니다.

passwd [사용자 이름]

[]안의 사용자 이름을 생략 가능하며 만약 "superman"이란 사용자가 passwd라고 입력하게되면 superman 자신의 비밀번호를 변경하겠다는 말이 됩니다. 하지만 superman 사용자가 passwd 명령어 뒤에 사용자 이름을 betman이라고 주게 되면 변경이 불가능 하다는 경고가 출력됩니다. 이는 최고 관리자인 root만 가능한 기능입니다.


[solaris10vm:/]$ passwd
passwd: Changing password for superman
New password:
passwd(SYSTEM): Password too short - must be at least 6 characters.

superman이라는 사용자가 비밀번호를 바꾼다는 메시지가 출력되어 있다. 위에서 말한바와 같이 사용자 이름을 생략해 자기 자신의 비밀번호를 바꾼다는 명령이 되었습니다. 문제는 새로 입력한 비밀번호가 6글자 이하여서 시스템이 너무 짧다고 비밀번호 변경을 취소 시켰습니다.


[solaris10vm:/]$ passwd betman
passwd(SYSTEM) : Permission denied
passwd(SYSTEM) : Can't change local passwd file

superman 사용자가 betman의 비밀번호를 바꾸기 위해 passwd명령을 사용했지만 다른 사용자 이기 때문에 비밀번호 변경이 거절 당했습니다. 이는 프롬프트를 볼고 알수도 있습니다. root사용자라면 프롬프트가 #으로 표시 됩니다.([solaris10vm:/]#) 하지만 root사용자가 아닌 일반 사용자는 $라 표시 됩니다.([solaris10vm:/]$) 때문에 일반 사용자가 다른 사용자의 비밀번호를 바꾸려 했다는게 위에 상황에서 보이게 됩니다.


[solaris10vm:/]$ passwd
passwd: Changing password for superman
New password:
Re-enter new passwrd:
passwd(SYSTEM) : passwd successfully changed for superman

여기서 위의 사용자는 root가 아니라 일반 사용자 인것을 알 수 있습니다.


[solaris10vm:/]# passwd betman
Net password:
Re-enter new password:
passwd(SYSTEM) : passwd successfully changed for betman

위 상황은 프롬프트가 #인걸 보아 root 사용자 이며 root 사용자가  betman의 비밀번호를 변경성공한 메시지 입니다.


비밀번호 변경에는 몇가지 제약사항이 따릅니다.
1. 6글자 이하는 안됨
2. 사용자 이름과 같아서는 안됨
3. 적어도 두개 이상의 영문자와 하나 이상의 특수 기호를 포함해야 한다.
4. 새로운 암호는 기존에 쓰던 암호와 적어도 세글자 이상 달라야 한다.

하지만 root계정은 위에 제약사항을 받지 않는다.

Posted by Special Alex
(10101101)173/UNIX2008. 12. 1. 03:07
솔라리스를 설치하고 나서 보면 명령창 프롬프트가 간단합니다.
"#"
이와 같을 경우 매번 pwd명령어로 위치를 확인해 줘야 합니다.
때문에 많은 번거로움이 발생하는대 이를 줄이는 방법 입니다.

우선 vi에디터로 /etc/passwd를 열어봅니다.
아마도 맨 윗줄에  root:x:0:0:Super-User:/:/sbin/sh 라인이 보일껍니다. 이라인을 다음과 같이 수정합니다.
root:x:0:0:Super-User:/:/bin/bash
즉 SHELL을 bash SHELL로 바꾸는 겁니다.
이렇게 /etc/passwd를 변경하면 다음으로 할일이 있습니다.
"/"폴터에 ".profile"파일을 생성하는 겁니다.

.profile 파일에 존재 유무와 상관없이 vi 에디터로 열어 봅니다. 많약 존재하면서 설정이 들어있다면 적당한 위치에 다음에 문구를 넣으면 됩니다.

PS1=[`hostname`:'\w]#  ' export PS1

위와 같이 입력하고 저장하고 vi 에디터를 빠져 나옵니다.
터미널 창을 다시 띄워 접속해 보면 명령프롬프트가 #에서 [hostname:/]로 바뀌어 있습니다. 여기서 hostname은 솔라리스의 호스트 이름이기 때문에 사용자마다 다릅니다.
Posted by Special Alex
(10101101)173/UNIX2008. 11. 30. 22:20
솔라리스 10에서 root계정의 SSH접속을 하기 위해서는 다음의 과정이 필요 합니다.

cat /etc/ssh/sshd_config | grep PermitRoot

그러면 다음과 같이 나옵니다.
#cat /etc/ssh/sshd_config | grep PermitRoot
PermitRootLogin no
#

이 부분에서 "no"라고 표시된 곳을 vi에디터를 통해 yes로 봐꿔 줍니다.

#vi /etc/ssh/sshd_config [엔터]
/PermitRoot [엔터] 하게되면
PermitRootLogin no위치로 이동하게 됩니다.
no를 yes로 봐꾸고 PermitRootLogin yes
ESC → : → wq! [엔터]
하고서 vi에디터를 빠져 나옵니다.

솔라리스 10에서는 Windows의 서비스 같은 기능이 생겼습니다. 이 부분을 담당하는 명령어가 svcs명령어 입니다. svcs명령어로 ssh를 확인해 보면 다음과 같이 나옵니다.
#svcs ssh
STATE        STIME       FMRI
online          12:00:00     svc:/network/ssh:default
#

봐꿔준 ssh 설정을 적용해 주기 위해서 ssh서비스를 재시작 해야 하는대 두가지 방법으로 재시작 할 수 있습니다. 직접 재시작 방법과 그냥 재시작 시키는 방법입니다.

1. 직접 재시작
#svcadm disable ssh [엔터] (ssh 서비스 비활성화)
#svcadm enable ssh [엔터] (ssh 서비스 활성화)

2. 재시작
#svcadm restart ssh

이 후 ssh로 접속해 보면 root Login이 가능해 집니다.
Posted by Special Alex