이전 시간까지는 centos8을 사용했는데, 너무 무겁다고 하셔서 강사님께서 centos7 환경 구축을 알려주셨습니다.
9. 파일 추가 후, 가져오기를 해주세요
10. 그러면 이제 centos7을 사용할 수 있습니다
11. 아래 버튼을 눌러, 스냅샷을 선택 후 스냅샷을 미리 추가해주세요. 초기설정을 기록해두어서 시스템에 이상이 생기거나 할때 새로 환경을 만들지 않아도 쉽게 초기화할 수 있습니다
강사님이 초기화하세요 하시면 복원 누르기
virtual box는 화면이 커지지도 않고, 붙여넣기도 안 돼서 제 첫 리눅스 포스팅에 나온 내용처럼 window terminal에서 원격 접속을 할거에요
1. enp0s8연결을 활성화 해주세요
2. 자동연결을 설정해주고 원격 접속할 ip를 확인해주세요
3. inet의 ip를 기억해주세요
4. window terminal 에서 원격 접속
ssh root@inet의 ip
5. 이제 좀 더 편한 환경에서 실습을 할 수 있습니다-!
사용자 정보를 담고 있는 기본 파일
[root@localhost ~]# head -2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
각 필드는 : 로 구분
사용자이름 | 암호 | UID(user id) | GID(group id) | comment | 홈 디렉토리 | login_shell |
---|---|---|---|---|---|---|
시스템에 등록된 사용자 | x로 표시 /etc/shadow에 암호화하여 저장 | 사용자를 구분하는 숫자 | 사용자가 실행한 명령어에서 기본으로 사용할 그룹 | 사용자의 추가적인 정보 저장 | 로그인할 때 최초 위치하는 디렉토리 | 사용자의 명령어를 해석하는 shell |
사용자의 암호화된 패스워드를 담고 있는 파일
[root@localhost ~]# head -2 /etc/shadow
root:$6$GiUyXgh6uO2gSoUS$HGVNkS3Jr/Pdx6qyi68cBa415PIEWzpTqRlRSYxmB8yX.lNs9rfB/3m8NyjMIz33SG6GpyNA3ywFijWqBKgrQ/::0:99999:7:::
bin:*:17632:0:99999:7:::
사용자이름 | 해시화된 암호 | lastchange | min | max | warning | inactive | expire |
---|---|---|---|---|---|---|---|
해시암호 값 | 현재 사용중인 암호가 설정된 시기 | 암호 설정 후 변경 불가 기간 | 변경 없이 최대 사용 가능한 기간 | 암호 만료 전 경고 기간 | 계정 만료까지의 유예기간 | 계정 만료 시기 |
$알고리즘 종류 | $salt값 | $입력한 비밀번호의 해시값 |
---|---|---|
$1=MD5, $5=SHA-256,$6=SHA-512 | 비밀번호 생성시 랜덤으로 생성되는 값 | 입력한 패스워드와 salt 값으로 암호화한 값 |
해시값은 항상 같기 때문에 보안에 취약함, salt값을 추가하여 암호화
사용 그룹의 정보를 담고 있는 파일
[root@localhost ~]# head -2 /etc/group
root:x:0:
bin:x:1:
그룹 이름 | 비밀 번호 | gid | 그룹에 속한 사용자 이름 |
---|
사용자는 일반 유저, 시스템 유저, 슈퍼 유저(root)로 구분
일반사용자는 1000번부터 부여받음
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost ~]# who
root pts/0 2022-02-22 19:36
[root@localhost ~]# whoami
root
[root@localhost ~]# who am i
root pts/0 2022-02-22 19:36
[root@localhost ~]# su centos
[centos@localhost root]$ pwd
/root
[centos@localhost root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# su - centos
마지막 로그인: 화 2월 22 20:32:10 KST 2022 일시 pts/0
[centos@localhost ~]$ pwd
/home/centos
[centos@localhost ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/centos/.local/bin:/home/centos/bin
[centos@localhost ~]$ touch filea
[centos@localhost ~]$ sudo touch fileb
로컬 시스템 관리자에게 일반적인 지침을 받았으리라 믿습니다.
보통 세가지로 요약합니다:
#1) 타인의 사생활을 존중하십시오.
#2) 입력하기 전에 한 번 더 생각하십시오.
#3) 막강한 힘에는 상당한 책임이 뒤따릅니다.
[sudo] centos의 암호:
[centos@localhost ~]$ ls -l file*
-rw-rw-r--. 1 centos centos 0 2월 22 20:33 filea
-rw-r--r--. 1 root root 0 2월 22 20:34 fileb
wheel 그룹 : sudo 명령어를 사용할 수 있는 그룹
사용시 /var/log/secure에 기록
/etc/sudoers 참조
# useradd [option] [username]
생성 시 /etc/default/useradd(useradd 시 기본적으로 적용되는 설정) & /etc/login.defs 참조
[root@localhost ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
GROUP=100 | HOME=/home | INACTIVE=-1 | EXPIRE= | SHELL=/bin/bash | SKEL=/etc/skel | CREATE_MAIL_SPOOL=yes |
---|---|---|---|---|---|---|
사용자 생성시, 기본적으로 속하는 그룹 지정 | 홈 디렉토리의 위치 '/home/사용자명'으로 생성 | 패스워드의 사용 기한이 지난 후 로그인을 막는 유예기간, -1은 설정되지 않음 | 계정 유효기간, 날짜형식으로 지정 | 사용자 생성시 할당되는 Shell | 사용자 생성 시에 제공되는 파일 및 디렉토리가 들어있는 디렉토리 | 사용자 생성시 메일 파일을 생성할 지 지정, yes -> /var/spool/mail에 메일관련 파일 생성 |
/etc/skel❓ skeleton의 약자로 홈 디렉토리를 만드는데 필요한 기본이 되는 파일
[root@localhost ~]# ls -al /etc/skel/ 합계 24 drwxr-xr-x. 3 root root 78 4월 11 2018 . drwxr-xr-x. 143 root root 8192 2월 22 16:37 .. -rw-r--r--. 1 root root 18 4월 11 2018 .bash_logout -rw-r--r--. 1 root root 193 4월 11 2018 .bash_profile -rw-r--r--. 1 root root 231 4월 11 2018 .bashrc drwxr-xr-x. 4 root root 39 2월 21 14:50 .mozilla
/etc/login.defs
이미지 출처
// 수정 시,
# vi /etc/login.defs
...
# usermod [option] [username]
useradd의 옵션을 기본적으로 사용할 수 있음
[root@localhost ~]# id user04
uid=3001(user04) gid=3001(user04) groups=3001(user04),10(wheel)
[root@localhost ~]# usermod -G adm,nobody user04
[root@localhost ~]# id user04
uid=3001(user04) gid=3001(user04) groups=3001(user04),4(adm),99(nobody)
root@localhost ~]# usermod -aG adm,nobody user04
[root@localhost ~]# id user04
uid=3001(user04) gid=3001(user04) groups=3001(user04),4(adm),10(wheel),99(nobody)
[root@localhost ~]# usermod -md /home/testuser -l testuser user05
[root@localhost ~]# usermod -L testuser
[root@localhost ~]# usermod -U testuser
# userdel [option] [username]
// user04 로 파일 생성
[root@localhost ~]# su - user04
[user04@localhost ~]$ touch important
[user04@localhost ~]$ vi important
[user04@localhost ~]$
[user04@localhost ~]$ exit
logout
[root@localhost ~]# su - centos
[centos@localhost ~]$ cd ~user04/
-bash: cd: /home/user04/: 허가 거부 // 다른 사용자는 접근 불가
[root@localhost ~]# userdel user04 // -r 없이 삭제
[root@localhost ~]# ls -l /home
합계 0
drwx------. 5 centos centos 128 2월 22 15:38 centos
drwx------. 3 user01 user01 78 2월 22 15:15 user01
drwx------. 3 user02 user02 78 2월 22 15:17 user02
drwx------. 3 user03 centos 78 2월 22 15:19 user03
drwx------. 5 3001 3001 161 2월 22 15:37 user04 // 유저는 사라졌지만 홈디렉토리는 남아있음
[root@localhost ~]# useradd -u 3001 testuser01
[root@localhost ~]# su - testuser01
[testuser01@localhost ~]$ cd ..
[testuser01@localhost home]$ ls -l
합계 0
drwx------. 5 centos centos 128 2월 22 15:38 centos
drwx------. 5 testuser01 testuser01 107 2월 22 15:39 testuser01
drwx------. 3 user01 user01 78 2월 22 15:15 user01
drwx------. 3 user02 user02 78 2월 22 15:17 user02
drwx------. 3 user03 centos 78 2월 22 15:19 user03
drwx------. 5 testuser01 testuser01 161 2월 22 15:37 user04 // 새로운 유저가 할당받음
[testuser01@localhost home]$ cd user04 // 새로운 유저가 기존 유저가 만들었던 파일에 접근 가능
[testuser01@localhost user04]$ ls
important
[testuser01@localhost user04]$ vi important
userdel을 사용할 때, -r 옵션을 주지 않으면 홈 디렉토리가 같이 삭제되지 않으므로 -r 옵션에 주의하자(-r 옵션은 사용자와 홈디렉토리까지 삭제하는 옵션)
# groupadd [option] [username]
[root@localhost ~]# groupadd -g 4000 testgroup1
[root@localhost ~]# tail -2 /etc/group
testgroup:x:3003:
testgroup1:x:4000:
# groupmod [option] [username]
[root@localhost ~]# groupmod -g 5000 -n test testgroup1
[root@localhost ~]# tail -2 /etc/group
testgroup:x:3003:
test:x:5000:
# groupdel [option] [username]
로그인한 사용자의 암호를 설정하는 명령어
root 사용자는 모든 계정 변경 가능
[user01@localhost root]$ passwd
user01 사용자의 비밀 번호 변경 중
user01에 대한 암호 변경 중
(현재) UNIX 암호:
해당유저에 대한 정보 확인 및 암호 속성을 변경하는 명령어
root만 사용가능
[root@localhost ~]# chage -l user01
마지막으로 암호를 바꾼 날 : 2월 22, 2022
암호 만료 :안함
암호가 비활성화 기간 :안함
계정 만료 :안함
암호를 바꿀 수 있는 최소 날 수 : 0
암호를 바꿔야 하는 최대 날 수 : 99999
암호 만료 예고를 하는 날 수 : 7
[root@localhost ~]# chage -d 0 user01
[root@localhost ~]# chage -m 1 -M 7 -W 10 user01
[root@localhost ~]# chage -l user01
마지막으로 암호를 바꾼 날 : 2월 22, 2022
암호 만료 : 3월 01, 2022
암호가 비활성화 기간 :안함
계정 만료 :안함
암호를 바꿀 수 있는 최소 날 수 : 1
암호를 바꿔야 하는 최대 날 수 : 7
암호 만료 예고를 하는 날 수 : 10
참고자료 : useradd 파일, [login.defs]