부트로더 단계 : LILO, GRUB
systemd 서비스 단계: 최상위 프로세스 (PID = 1)
1) BIOS (Basic Input Output System)
- PC에 장착된 하드웨어의 상태 확인(키보드, 디스크 등등)
... +) 메모리 불량일 때는 메모리를 뽑고, 금박부부을 지우개로 깨끗이 지우자 -> 메모리가 탄 문제를 빼곤 이 방법으로 해결된다.
2) 부트로더 단계
/boot
아래에는 이미지가 들어있다. 이 이미지에 문제가 생기면 부팅이 제대로 되지 않는다.
부팅 관련한 설정은 `/boot/grub2/grub.cfg` 파일을 수정한다.
3) 커널 초기화 단계
dmesg
: 부팅 중에 뜬 메세지를 확인할 수있다.4) run-level 정해
5) 로그인 창이 뜬다. (id -> /etc/passwd
, pwd -> /etc/shadow
가 인증 수행)
6) 로그인 후 bash 프롬프트가 올라온다.
/etc/motd
파일 수정하기 [root@mail ~]# cat /etc/motd
##########################################################################
------------------------------ for login user -----------------------------
It will be punished for illegal login to this system.
It is saved for login information in another system.
###########################################################################
커널은 OS를 위해 존재한다. OS가 있어야 root든 일반 계정이든 접속이 가능한 것이다.
커널 관리자 이름 확인
커널 버전 확인
비트 수 확인
커널 확인하기
1) https://mirrors.edge.kernel.org/pub/linux/kernel/v3.x/ 사이트 접속
2) linux-3.10.tar.gz
다운로드
3) FTP 프로그램 이용해서 리눅스 서버로 전송
4)
5)
런레벨 모드 확인
런레벨 변경
default.target
: 시스템에 기본으로 설정된 런레벨graphical.target
: 그래픽 모드의 다중 사용자모드로 설정되어 있는 것을 확인 가능하다 .[root@mail ~]# ls -l /etc/systemd/system/default.target
lrwxrwxrwx. 1 root root 36 Aug 31 14:33 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
관련 디렉토리
/etc/passwd
: 계정인증파일(id)
/etc/shadow
: 계정인증파일(pwd), 암호 저장
/etc/group
: 그룹관리파일, 모든 사용자는 반드시 특정 그룹에 소속됨
/etc/default/useradd
: 사용자 추가 시 적용되는 기본 값
/etc/login.defs
: UID, GID 생성 시
루트 계정의 권한을 일반 유저에게 줄 수 있다.
- 0번 user id(UID)를 가지면 root 계정이 된다.
비밀번호 암호 알고리즘 확인
authconfig --test | grep hashing
authconfig --passalgo=md5 --update
passwd [암호 변경할 유저명]
tail /etc/shadow
/etc/shadow
=> 느낌표 두개는 암호가 비어있음을 나타낸다.usermod -L [계정명]
usermod -U [계정명]
Lock 해제는 usermod -u [계정이름]
3) 비밀번호 강제 설정(root 계정에서)
그룹
useradd -p 옵션 (사용하지 마세요 ~)
- 암호가 그대로 유출된다.
특정 사용자 su 제한하기
https://mslee89.tistory.com/57
usermod -u 0 -o admin1
grep admin1 /etc/passwd // admin의 udi를 0으로 바꿈
PermitRootLogin no -> 주석처리
하면 admin1로 로그인가능 -> 로그인 하면 root로 표시된다.(이전에는
PermitRootLogin 막아서 못 들어옴)
[root@mail ~]# groupadd -g 3000 devteam
[root@mail ~]# groupadd -g 3000 devteam
[root@mail ~]# useradd -g 3000 -G 5100 devuser1
[root@mail ~]# useradd -g 3000 -G 5100 devuser2
[root@mail ~]# useradd -g 3000 -G 5200 devuser3
[root@mail ~]# useradd -g 3000 -G 5200 devuser4
[root@mail ~]# useradd -g 4000 -G 5100, 6000 opsuser1
useradd: group '' does not exist
[root@mail ~]# useradd -g 4000 -G 5100,6000 opsuser1
[root@mail ~]# useradd -g 4000 -G 5100 opsuser2
[root@mail ~]# useradd -g 4000 -G 5200,6000 opsuser3
[root@mail ~]# useradd -g 4000 -G 5200 opsusr4
[root@mail ~]# userdel opsusr4
[root@mail ~]# useradd -g 4000 -G 5200 opsuser4
who
: 현재 시스템을 이용하는 사용자 (접속자)
w
: who
의 확장 버전, /var/run/utmp
1. 절대경로 확인
[root@mail ~]# which shutdown
/usr/sbin/shutdown
[root@mail ~]# which reboot
/usr/sbin/reboot
/etc/sudoers
에101 jeff ALL=/usr/sbin/shutdown,/usr/sbin/reboot
추가root에서 time.sh 파일을 복사해서 jeff에게 줬을경우 jeff는 실행할 수가 없음
jeff에게 파일 실행할 권한 주기 > 이제 jeff에서 time.sh 실행가능
chown jeff.jeff {file_name | dir}
or chwon jeff:jeff {file_name | dir}
: file/dir의 소유자, 그룹 변경
chown jeff {file_name | dir}
: file/dir의 소유자만 변경
chown -R jeff.jeff dir/
: dir 하위의 모든 파일, dir에 소유권 전파