양호 : 시스템에 로그인이 가능한 모든 계정이 패스워드가 설정되어 있는경우



로그인이 가능한지 확인하기 위해서는 해당 계정 쉘을 확인할 필요가 있다. (/bin/false 또는 /sbin/nologin 쉘인 경우 확인 계정 제외)


#cat /etc/passwd | egrep -v 'nologin|false'


이렇게 확인된 계정 중


passwd 파일 내, ':' 을구분자로 2번째 필드는 * 이어야한다.


aix의 passwd 파일 내 2번째 필드는 * 또는 !이다.


1) * : 해당 user에 비밀번호가 없는경우

2) ! : 해당 user에 비밀번호가 존재하는 경우


따라서 해당 user에 *가 있는지 없는지만 확인하면 된다.


tip ) 패스워드를 설정하지 않아서 passwd 파일 내 *가 존재하는 계정은

/etc/security/passwd 파일 내 정보가 존재하지 않는다.


- 쉘스크립트 부분.



보통 기본적으로 centos를 많이 사용하다보면 snmp나 smtp, ftp 등등 다양한 프로세스가 올라가있는지 확인하기 위해서


ps -ef | grep snmp 식으로 확인하게 됩니다. 그런데  snmp 프로세스만을 정확히 잡아내기 위해서는 ps -ef | grep snmp | grep -v grep 등등 파이프를 계속 줘야하고 프로세스만을 정확히 잡아내기 힘든 때가 있다. 


AIX의 경우

ps 가 그대로 먹히지만, 프로세스를 위한 lssrc, stopsrc, startsrc, refreshsrc 라는 명령어가 존재한다.

아주 고마운 명령어들..............



간단한 예를 들어보자.


- snmp

<상태확인> lssrc -s snmpd

example >> lssrc -s snmpd | grep active 면 간단하다. 다른 값이 포함될 일도 없고 ps보다 훨씬 낫다.

<중지> stopsrc -s snmpd

<시작> startsrc -s snmpd

<재설정> refresh -s snmpd


-sendmail

<상태확인> lssrc -s sendmail

<중지> stopsrc -s sendmail

<시작> startsrc -s sendmail

<재설정> refresh -s sendmail


-nfs

<상태확인> lssrc -g nfs

<중지> stopsrc -g nfs

<시작> startsrc -s nfs


........등등의 다양한 서비스....들..


------------------- 이러다보면 lssrc에 프로세스 네임만 주면 되나? 라는 생각을 하게된다.


예로 ftp와 telnet의 경우 ( 더 다양한 서비스들이 있지만 ) 


cat /etc/inetd.conf 하게되면 각종 서비스들이 적혀있고, 


불필요한 서비스들에 대해서는 해당 라인에 주석처리 후 재설정 refresh -s inetd 를 해야한다.






+ Recent posts