사용자 로그인 관련 명령어
su [-] [사용자명]
: 다른 사용자로 로그인 할 때 사용
- dash (-)의 유무
- su -root : 입력한 사용자의 사용자 초기화파일 적용
- su root: 현재 사용자의 환경을 유지, 사용자 초기화파일 적용하지 않음.
who
: 접속 정보
[root@localhost ~]# who
root tty1 2022-04-26 10:06
root pts/0 2022-04-26 10:06 (laptop-6ccrl66l.mshome.net)
who am i
: 현재 터미널에 대한 접속 정보
[root@localhost ~]# who am i
root pts/0 2022-04-26 10:06 (laptop-6ccrl66l.mshome.net)
whoami
: 로그인명
[root@localhost ~]# whoami
root
last
: 로그인 내역 확인
[root@localhost ~]# last
root pts/0 laptop-6ccrl66l. Tue Apr 26 10:06 still logged in
root tty1 Tue Apr 26 10:06 still logged in
reboot system boot 3.10.0-1160.el7. Tue Apr 26 10:05 - 10:27 (00:21)
root pts/0 laptop-6ccrl66l. Tue Apr 19 11:12 - 11:19 (00:06)
root pts/0 laptop-6ccrl66l. Tue Apr 19 10:28 - 11:12 (00:43)
root tty1 Tue Apr 19 10:28 - 11:19 (00:51)
reboot system boot 3.10.0-1160.el7. Tue Apr 19 10:27 - 10:27 (6+23:59)
...
- /var/log/wtmp 파일을 참조해서 로그인했던 정보를 출력해주는 명령어 자신의 시스템에 접속한 정보를 확인 가능
- 추가적으로 시스템 부팅과 관련된 정보 확인 가능
PAM 모듈
PAM (Pluggable Authentication Modules) 이란?
- 시스템에 공통적인 인증 방법을 제공
- 어떤 보안 인증 기능을 추가할 때 모듈로 만들어서 쉽게 보안 설정 내용들을 교체 또는 추가 제거가 가능
- 모듈의 종류는 다양하며 각각 모듈의 기능을 정확히 파악하는 것이 중요
- 프로그램이 사용자 인증 필요하면 PAM 라이브러리를 호출
- PAM 라이브러리는 호출되면 호출한 으용프로그램의 설정 파일을 검사, 설정 파일의 내용에 PAM 모듈을 적용
- 설정 파일이 없으면, 기본 설정 파일 사용 (other)
- 설정 파일은 사용자 인증을 검사하기 위해 필요한 유형(형식)을 가짐
PAM 설정 파일
/etc/pam.d
: pam을 적용한 프로그램이나 서비스의 설정 내용을 저장해둔 파일들이 모여 있는 디렉토리
- 설정파일형식
auth | sufficient | pam_rootok.so | |
module_type | config_flag | module_path | module_argument |
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
- Module_type : PAM이 어떤 타입의 인증을 사용할 것인지를 지정
- auth : 사용자 인증에 사용하며 올바른 패스워드인지 아닌지 확인
- account : 계정 관리를 수행, 사용자의 위치, 시간, 권한 등을 지정하여 접근을 결정
ex) 특정 사용자는 콘솔로만 아침 9시부터 6시까지만 root로 접근 가능
- password : 사용자가 패스워드를 변경할 수 있는 모듈 지정
- session : 사용자가 인증 받기 전후에 수행되어야 할 작업을 지정
ex) 로그 기록 - Config_flag : PAM에서 사용되는 모듈들이 결과에 따라 어떤 동작을 취할 지 결정
- required : 이 모듈이 성공값을 반환해야 최종 인증에 성공(실패 시 밑의 다른 설정도 전부 다시 확인)
- requisite : 이 모듈이 성공값을 반환해야 최종 인증에 성공(실패 시 바로 최종 인증 실패)(엄격한 설정)
- sufficient : 이 모듈이 성공값을 반환하면 바로 인증 성공
- optional : 선택사항, 일반적으로 무시, 다른 플래그에 의한 최종 결과가 불분명할 시 optional 값이 적용
- include : 다른 설정 파일을 불러옴 - Modult_path : /usr/lib64/security 디렉토리 내의 어떤 모듈을 사용할 지 지정, 모듈 이름을 지정
- Module_argument : 모듈에 전달되는 매개변수 값을 나타냄
- debug : 시스템 로그 파일에 디버그 정보를 남기게 함
- no_warm : 모듈이 경고 메시지를 보내지 않게 함
PAM 모듈의 종류
[root@localhost ~]# cd /usr/lib64/security
[root@localhost security]# ls
pam_access.so pam_ftp.so pam_permit.so pam_tally2.so
pam_cap.so pam_group.so pam_postgresok.so pam_time.so
pam_chroot.so pam_issue.so pam_pwhistory.so pam_timestamp.so
pam_console.so pam_keyinit.so pam_pwquality.so pam_tty_audit.so
pam_cracklib.so pam_lastlog.so pam_rhosts.so pam_umask.so
pam_debug.so pam_limits.so pam_rootok.so pam_unix.so
pam_deny.so pam_listfile.so pam_securetty.so pam_unix_acct.so
pam_echo.so pam_localuser.so pam_selinux.so pam_unix_auth.so
pam_env.so pam_loginuid.so pam_selinux_permit.so pam_unix_passwd.so
pam_exec.so pam_mail.so pam_sepermit.so pam_unix_session.so
pam_faildelay.so pam_mkhomedir.so pam_shells.so pam_userdb.so
pam_faillock.so pam_motd.so pam_stress.so pam_warn.so
pam_filter pam_namespace.so pam_succeed_if.so pam_wheel.so
pam_filter.so pam_nologin.so pam_systemd.so pam_xauth.so
- pam_permit_so, pam_deny.so : 항상 성공/실패를 return 접근을 허용/거부 (가장 일반적인 모듈)
- pam_warm : 호출한 사용자 및 호스트 정보를 messages 로그에 남김
- pam_access : 계정 또는 IP주소를 이용해서 시스템 접근을 허용/거부
- pam_pwcheck : /etc/login.defs 파일을 참조하여 암호를 확인하는 명령어
- pam_securetty : /etc/securetty 파일을 참조하여 터미널 장치가 root로 접근 할 수 있는지 없는지 판단
- pam_time : 시간, 쉘 등을 설정할 수 있는 모듈
- pam_wheel : su 서비스에 사용함, su를 이용한 root 접근을 막을 수 있음
출처 : https://www.youtube.com/channel/UCl9zTDOvOxdCfUt1HqVwwdg
'OS > Linux' 카테고리의 다른 글
[Linux] CentOS - 접근 제어 - PAM 실습 (0) | 2022.05.03 |
---|---|
WEB 구축 (0) | 2022.04.29 |
[Linux] 리눅스 파일시스템 (0) | 2022.04.22 |
[Linux] CentOS - 사용자 관리 - 패스워드 정책 (0) | 2022.04.19 |
[Linux] Vi editor - 단축키 (0) | 2022.04.14 |
댓글