728x90

1. 계정상태 확인
$ lsuser [계정명]
ex) lsuser padmin
padmin roles=PAdmin account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=0
sally roles=DEUser account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330
henry roles=DEUser account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330
admin1 roles=Admin account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330
deuser1 roles=DEUser account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330
sadan roles=Admin account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330 registry=LDAP
SYSTEM=LDAP sruser1 roles=SRUser,RunDiagnostics
account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330
view1 roles=ViewOnly account_locked=false expires=0 histexpire=0
histsize=0 loginretries=0 maxage=0 maxexpired=-1 maxrepeats=8 minage=0
minalpha=0 mindiff=0 minlen=0 minother=0 pwdwarntime=330

또는

$ vi /etc/security/lastlog
ex)
bck:
   time_last_unsuccessful_login = 732475345
   tty_last_unsuccessful_login = tty0
   host_last_unsuccessful_login = waterski
   unsuccessful_login_count = 0
   time_last_login = 734718467
   tty_last_login = lft/0
   host_last_login = waterski

□ 항목별 설명
time_last_login : 마지막으로 성공한 로그인 이후 경과된 시간 (초) 을 지정합니다 (00:00:00 GMT, 1970년 1월 1일). 값은 10진수 정수입니다.
tty_last_login : 사용자가 마지막으로 로그인한 터미널을 지정합니다. 값은 문자열이다.
host_last_login : 사용자가 마지막으로 로그인한 호스트를 지정합니다. 값은 문자열이다.
unsuccessful_login_count : 마지막으로 성공한 로그인 이후 로그인 시도 실패 횟수를 지정합니다. 값은 10진수 정수입니다. 이 속성은 지정된 수의 연속 실패 로그인 시도 후 사용자 계정을 잠그기 위해 /etc/security/user 파일에 지정된 사용자의 로그인 재시도 속성과 함께 작동합니다. 사용자 계정이 잠기면 시스템 관리자가 사용자의 성공적인 login_count 속성을 로그 재시도 값 미만으로 재설정할 때까지 사용자는 로그인할 수 없습니다. 이를 수행하려면 다음을 입력하십시오.
chsec -f /etc/security/lastlog -s username -a \ unsuccessful_login_count=0
time_last_unsuccessful_login : 마지막으로 실패한 로그인 이후 경과된 시간 (초) 을 지정합니다 (00:00:00 GMT, 1970년 1월 1일). 값은 10진수 정수입니다.
tty_last_unsuccessful_login : 마지막으로 실패한 로그인 시도가 발생한 터미널을 지정합니다. 값은 문자열이다.
host_last_unsuccessful_login : 마지막으로 실패한 로그인 시도가 발생한 호스트를 지정합니다. 값은 문자열이다.

>  통상적으로 unsuccessful_login_count 가 30 이상이면 잠김상태

2. 계정 로그인 시 패스워드 변경  여부 확인 통과
$ pwdadm -f NOCHECK [계정명]

pwdadm 명령은 사용자의 비밀번호를 관리합니다. 루트 사용자 또는 보안 그룹의 멤버는 User 매개변수에서 지정하는 사용자의 비밀번호를 제공하거나 변경할 수 있습니다. 명령의 호출자가 다른 사용자의 비밀번호를 변경할 수 있으려면 우선 요청이 있을 때 비밀번호를 제공해야 합니다. 명령이 실행되면 이는 ADMCHG 속성을 설정합니다. 이에 따라 사용자는 다음 번에 su 명령이 사용자에 대해 제공될 때 비밀번호를 변경해야 합니다.

$ vi /etc/security/passwd

smith:
  password = MGURSj.F056Dj
  lastupdate = 623078865
  flags = ADMIN,NOCHECK

□속성별 정의
암호 : 암호화된 암호를 지정합니다. 시스템은 암호 명령 또는 pwdadm 명령으로 작성된 비밀번호를 암호화합니다. 비밀번호가 비어 있으면 사용자에게 비밀번호가 없습니다. 암호가 * (별표) 인 경우 사용자는 로그인할 수 없습니다. 값은 문자열이다. 디폴트 값은 * 입니다.
lastupdate : 암호가 마지막으로 변경된 시간 (초) 이후의 시간 (초) 을 지정합니다. 비밀번호 에이징 ( 음지 속성 또는 격언 속성) 이 적용되는 경우, 시간 제한이 만료되면 lastupdate : 속성이 비밀번호 변경을 강제 실행합니다. (암호 에이징에 대한 정보는 /etc/security/user 파일을 참조하십시오.) 일반적으로 암호 및 pwdadm 명령은 암호가 변경될 때 이 속성을 설정합니다. 값은 시간을 보내다 서브루틴을 사용하여 텍스트 문자열로 변환할 수 있는 10진 정수입니다.
플래그 : 로그인, 암호및 수 명령에 의해 적용되는 제한사항을 지정합니다. 값은 쉼표로 구분된 속성 목록입니다. 깃발 속성은 공백으로 둘 수도 있고 다음 값 중 하나 이상일 수도 있습니다.
- admin
비밀번호 정보의 관리 상태를 정의합니다. 관리 속성이 설정된 경우, 루트 사용자만 이 암호 정보를 변경할 수 있습니다.
- ADMCHG
비밀번호가 보안 그룹의 구성원 또는 루트 사용자에 의해 마지막으로 변경되었음을 표시합니다. 일반적으로 이 플래그는 pwdadm 명령이 다른 사용자의 비밀번호를 변경할 때 내재적으로 설정됩니다. 이 플래그가 명시적으로 설정되면 다음에 사용자가 로그인 명령 또는 수 명령을 제공할 때 비밀번호를 강제로 업데이트합니다.
- NOCHECK
/etc/security/user 파일에 정의된 시스템 비밀번호 제한사항이 이 비밀번호에 대해 적용되지 않습니다.

> "flags = ADMCHG" 가 존재시 패스워드 변경 여부 확인함

3. 계정 잠금 해제
$ chuser unsuccessful_login_count=0 [계정명]

또는

chsec -f  /etc/security/laslog -a "unsuccessful_login_count=0" -s [계정명]

728x90
728x90

출처 : https://mkil.tistory.com/m/482

리눅스 tcpdump 사용방법 및 명령어 정리 / tcpdump 파일로 저장하는 방법

TCP DUMP 란 tcp dump는 주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더들을 출력해주는 프로그램 TCP DUMP 사용방법 원하는 조건의 명령어를 입력으로 네트워크 패킷 로그를

mkil.tistory.com


TCPDUMP 란
tcpdump는 주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더들을 출력

TCPDUMP 사용법
원하는 조건의 명령어를 입력으로 네트워크 패킷 로그를 출력하여 본다.

TCPDUMP 분석 프로그램
tcpdump로 패킷 캡춰한 내용을 파일로 저장한 다음 wireshark로 읽어서 분석

TCPDUMP 명령어 예시
# tcpdump -i eth0
> 인터페이스 eth0 을 보여줌
# tcpdump -w tcpdump.log
> 결과를 파일로 저장, binary 형식으로 저장됨
# tcpdump -r tcpdump.log
> 저장한 파일을 읽음
# tcpdump -i eth0 tcp port 80
> tcp 80 포트로 통신하는 패킷 보여줌
# tcpdump -i eth0 src 192.168.0.1
> source ip 가 192.168.0.1인 패킷 보여줌
# tcpdump -i eth0 dst 192.168.0.1
> destination ip 가 192.168.0.1인 패킷 보여줌

* and 옵션으로 여러가지 조건의 조합 가능
# tcpdump -w tcpdump.log -i eth0 dst 192.168.0.1 and udp and port 514
> 목적이 ip가 192.168.0.1인 곳으로 514포트를 사용하는 udp 패킷을 tcpdump.log 파일에 저장

# tcpdump host 192.168.0.1
> host 를 지정하면, 이 ip 로 들어오거가 나가는 양방향 패킷 모두 보여줌
# tcpdump src 192.168.0.1
> host 중에서 src 가 192.168.0.1인것 만 지정
# tcpdump dst 192.168.0.1
> host 중에서 dst 가 192.168.0.1인것 만 지정
# tcpdump net 192.168.0.1/24
> CIDR 포맷으로 지정할 수 있다.
# tcpdump tcp
> TCP 인것만
# tcpdump udp
> UDP 인것만
# tcpdump port 3389
> 포트 양뱡항으로 3389인 것.
# tcpdump src port 3389
> src 포트가 3389인 것.
# tcpdump dst port 3389
> dst 포트가 3389인 것.

* combine : and ( && ) , or ( || ) , not ( ! ) 으로 여러가지를 조합해서 사용 가능
# tcpdump src 192.168.10.1 and not dst port 22
> src ip 가 192.168.10.1 이고 dst 포트가 22 가 아닌 것

* grouping : ( )
# tcpdump ‘src19.18.0.1 and ( dst port 3389 or 22 )’
> src ip 가 19.18.0.1 이고 ( dst 포트가 3389 또는 22 ) 인 것
※ 여기서는 ‘ ‘ 가 반드시 있어야 한다.



728x90
728x90

■ 물리코어 및 논리코어 수 확인하기
AIX는 논리코어(SMT)라는 개념이 있는데
정확히는 모르지만 아래와 같이 생각하면 여타 다른 시스템과 비슷한 것 같다
물리코어=소켓  수
논리코어=코어 수

아래는 물리코어 2코어 논리코어 16코어에 대한 결과값이다.

$ smtctl
This system is SMT capable.
This system supports up to 8 SMT threads per processor.
SMT is currently enabled.
SMT boot mode is not set.
SMT threads are bound to the same physical processor.

proc0 has 8 SMT threads.
Bind processor 0 is bound with proc0
Bind processor 1 is bound with proc0
Bind processor 2 is bound with proc0
Bind processor 3 is bound with proc0
Bind processor 4 is bound with proc0
Bind processor 5 is bound with proc0
Bind processor 6 is bound with proc0
Bind processor 7 is bound with proc0


proc8 has 8 SMT threads.
Bind processor 8 is bound with proc8
Bind processor 9 is bound with proc8
Bind processor 10 is bound with proc8
Bind processor 11 is bound with proc8
Bind processor 12 is bound with proc8
Bind processor 13 is bound with proc8
Bind processor 14 is bound with proc8
Bind processor 15 is bound with proc8

■cpu 모델명 확인

$ prtconf | grep Processor
Processor Type: PowerPC_POWER9
Processor Implementation Mode: POWER 9
Processor Version: PV_9_Compat
Number Of Processors: 2
Processor Clock Speed: 3000 MHz
  Model Implementation: Multiple Processor, PCI bus
+ proc0                                                                          Processor
+ proc8                                                                          Processor


728x90
728x90

tar -cvf [파일명] -X ExcludeList.txt [묶을 경로]
※ExcludeList.txt에는 제외시킬 디렉토리 및 파일에 대해서 상대경로로 기재

728x90

'IT > OS (Unix Linux Windows)' 카테고리의 다른 글

[LINUX] TCPDUMP  (1) 2023.01.09
[UNIX]AIX CPU정보 확인  (0) 2022.05.19
[LINUX]CPU / 코어 / 스레드 정보 확인  (0) 2022.02.08
[Linux]로그인 절차 없이 sftp 접속  (0) 2021.10.19
[링크]공유메모리 삭제  (0) 2021.09.27
728x90

grep 'physical id' /proc/cpuinfo | sort | uniq | wc -l

grep ^processor /proc/cpuinfo | wc -l

grep 'cpu cores' /proc/cpuinfo

스레드 / 코어 확인
cat /proc/cpuinfo | egrep 'siblings|cpu cores' | head -2 

dmidecode -t processor | egrep 'Core Count|Thread Count' | head -2


하이퍼스레딩 사용 확인
dmidecode -t processor | grep HTT | head -1


728x90
728x90

원격 리눅스 서버에 암호 입력 없이 로그인 하는 방법

3단계 절차를 진행하면 됨

1. ssh-keygen 로 공용과 개인 키들을 생성
출발지접속계정으로 실행
    #> ssh-keygen -t rsa
      — 위 명령어 실행 후 갑 입력에 빈값 엔터
dd@local-host$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dd/.ssh/id_rsa):[엔터키]
Enter passphrase (empty for no passphrase): [엔터키]
Enter same passphrase again: [엔터키]
Your identification has been saved in /home/dd/.ssh/id_rsa.
Your public key has been saved in /home/dd/.ssh/id_rsa.pub.
The key fingerprint is:
33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 dd@localhost
    실행 완료 후 생성된 파일 확인
       생성 파일일 총 두개 ( ~/.ssh/id_rsa, id_rsa.pub )

2. 로컬호스트의 공용 키를 원격 호스트의 authorized_keys 파일에 복사
도착지접속계정의 홈
    ~/.ssh/authorized_keys
도착지접속계정 경로에 .ssh 디렉토리 없으면 생성
  키 파일 등록
#> cat id_rsa.pub >>  ~/.ssh/authorized_keys

3. 알맞은 권한을 원격 호스트의 홈, ~/.ssh, ~/.ssh/authorized_keys에 부여
도착지접속계정 경로에 퍼미션 부여
   chmod 700 ~/.ssh
   chmod 600 ~/.ssh/authorized_keys

■ sftp 접속확인
#> sftp -P ssh포트번호 도착지접속계정@서버IP

728x90
728x90

https://pangate.com/m/967

728x90
728x90

서버의 포트 통신 상태확인
ss -ant | awk '{print $1}' | grep -v '[a-z]' | sort | uniq -c

https://limmmee.tistory.com/m/27

소켓 TIME_WAIT 대량 발생 오류

소켓 TIME_WAIT 대량 발생 오류 org.apache.http.conn.HttpHostConnectException: Connection to {service name} refused at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(Default..

limmmee.tistory.com


https://bangu4.tistory.com/m/135

[Linux] 커널 파라미터 수정 - TCP 성능향상

커널 파라미터란? 리눅스 시스템의 커널에서 정의된 자원 설정값 해당변수값을 변경하여, 네트워크 성능, 서버 자원을 사용하는 프로세스들의 성능 등을 향상시킬수 있다. 커널파라미터값을 변

bangu4.tistory.com

728x90
728x90

■ 현상
was의 어플리케이션에서 아래와 같은 로그 발생
OutOfMemoryError : unable to create new native thread

■ 원인
/etc/security/limit.conf 에서 nproc의 값(4096)으로 인해 프로세스 생성 제한이 되어버림.
조치 후 was계정에서 생성한 프로세스의 개수(4961)

■ 조치사항
/etc/security/limit.conf 에서 was계정에 대해 아래와 같이 설정

testuser soft nofile 65535
testuser hard nofile 65535
testuser soft nproc 65535
testuser hard nproc 65535

□ ulimit과 /etc/security/limit.conf 에 대한 설명
리눅스는 /etc/security/limit.conf 파일을 통해 서버의 리소스를 관리함

ulimit는 프로세스의 자원 한도를 설정 및 확인하는 명령(limit.conf)에서 읽어온다. soft / hard 두가지 제한으로 나뉨

soft : 새로운 프로그램을 생성하면 기본으로 적용되는 한도
hard : 최대로 늘릴 수 있는 한도

# ulimit -a // Soft 설정 보기
# ulimit -aH // Hard 설정 보기

통상적으로 soft와 hard를 1:1로 맞추어 설정

limit.conf의 내용은 주로 아래와 같이 구성

testuser soft nofile 65535
testuser hard nofile 65535
testuser soft nproc 65535
testuser hard nproc 65535

nproc (number of processes) : 프로세스 최대 개수
nofile (number of open files) : 파일 열기 최대 개수

리눅스에서는 모든 개체를 파일로 보기에 nproc를 높이면 nofile도 같이 높여주는 것이 맞다.

● 계정당 생성한 프로세스 개수
# ps h -Led -o user | sort | uniq -c | sort -n
● 계정의 오픈한 파일 개수
# lsof -u [username] | wc -l
# sysctl -a |grep file-nr

728x90

'IT > OS (Unix Linux Windows)' 카테고리의 다른 글

[링크]공유메모리 삭제  (0) 2021.09.27
[LINUX]TIME_WAIT  (0) 2021.09.17
[Unix/Linux]2차그룹부여하기  (0) 2021.06.25
[LINUX]IP임시 설정 방법  (0) 2021.06.21
[Linux]nfs 마운트  (0) 2021.06.10
728x90

usermod -G [그룹명] [추가계정명]

728x90

+ Recent posts