일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MSBing
- vgcreate
- 엑셀파일명변경
- 프로세스
- lvcreate
- HTTPD
- swapon
- docker network
- Kubernetes
- newbingai
- M365필터
- vagrant kubernetes
- docker image
- docker
- yum
- nmcli
- 리다이렉션
- permission
- chatGPT
- chmod
- ssh
- firewalld
- ansible
- 날짜변경
- tar
- mount
- 같은폴더
- 랜카드인식불량
- journalctl
- pvcreate
- Today
- Total
becool
20210409 (금) 본문
9:32 review
사용자 계정&그룹
로그인이 불가한 특수 목적 쉘
/sbin/nologin : 로그인 후 쉘 사용 불가 / 인증 가능
/bin/false : 로그인 후 쉘 사용 불가 / 인증 차단(불가)
위 두가지 쉘로 바꿔주면 사용자 로그인이 불가하게 된다.
[root@localhost ~]# usermod -s /sbin/nologin test10
[root@localhost ~]# su - test10
This account is currently not available. → 로그인 불가 메세지
[root@localhost ~]# usermod -s /bin/false test10
[root@localhost ~]# su - test10
Last login: Fri Apr 9 10:49:24 KST 2021 on pts/0
[root@localhost ~]# → 로그인이 안됨.
su -l : 전환하고자 하는 사용자의 환경설정으로 초기화한 후 사용자 전환
su : 이전 사용자의 환경변수를 유지하면서 사용자 전환
sudo
- 다른 사용자의 권한으로 지정한 작업을 1회 수행 후 종료
- 현재 사용자의 패스워드 입력
sudo [option] [command]
sudo [option] command
sudo -i
-u USER 전환하고자 하는 사용자 지정
-i 전환하고자 하는 사용자의 쉘로 전환하여 실행
[user@localhost share]$ sudo -u root -i
sudo 명령어 사용을 위해 sudoers에서 wheel 그룹에게 권한부여가 되어있는지 확인후
사용하고자 하는 유저에게 usermod를 통해 보조그룹 : wheel 설정이 필요함.
user02 is not in the sudoers file. This incident will be reported.
[root@localhost ~]# usermod -a -G wheel user02
[root@localhost ~]# su -l user02
[user02@localhost ~]$ id
uid=1002(user02) gid=1002(user02) groups=1002(user02),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[user02@localhost ~]$ sudo -u root ls -l /root
==============================
패스워드 관리
/etc/shadow : 패스워드, 계정 정책 등이 포함되어있음.
①user01:②$6$h659JhHx$6djKqBGY4CxkVQasvtUHfMXPGgjjZsBL2KJGVuY7BDIfmFphmBCVVe09fh.z6ERrCDVuDPRTlzFk
.EVeJ0qwf1:③18726:④0:⑤99999:⑥7:⑦:⑧:⑨
①USER : ②HASH : ③LASTCHANGE : ④MIN : ⑤MAX : ⑥WARN : ⑦INACTIVE : ⑧EXPIRE : ⑨BLANK
①사용자 이름
②암호화된 패스워드 (헤더 : $1$ MD5, $5$ SHA-256, $6$ SHA-512)
③패스워드가 마지막으로 변경된 날
④패스워드 최소사용기간
⑤패스워드 최대사용기간
⑥패스워드 만료 경고 기간 (로그인할때마다 만료되는 암호에 대한 경고 발생)
⑦패스워드 만료일 후 유예기간. 이 기간이 지나면 계정이 잠김
⑧계정만료일 (비어 있으면 특정날짜에 만료되지 않음을 뜻함)
⑨나중에 사용하기위해 예약된 빈 필드
*해시 함수 : 임의의 길이의 입력을 받아 고정된 길이의 결과값 (해시값)을 반환하는 함수
동일한 입력값은 동일한 해시값을 반환한다.
해시값으로 원래의 입력값을 알아낼 수 없다.(역함수 없음)
데이터 무결성 확인에 활용
MD5, SHA1, SHA-2 (256/512) 등
*날짜 : 5자리숫자로 구성. 1970년 1월 1일부터 +1 된 숫자.
# chage [OPTION] USER
-d [date] USER 강제로 암호를 업데이트하게 한다. 0 입력시 다음로그인 즉시 변경을 강제한다.
-l 암호사용기간정보 표시
-E [YYYY-MM-DD] 해당날짜에 만료되도록 한다.
-m DAYS : 패스워드 최소 사용 기간 (단위 : 일)
-M DAYS : 패스워드 최대 사용 기간 (단위 : 일)
-W DAYS : 패스워드 만료 전 안내 기간 (단위 : 일)
-I DAYS 패스워드 최대 사용기간 경과 후 일정 기간의 유예기간 (단위 : 일)
[root@localhost ~]# chage -l user
Last password change : never
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
[root@localhost ~]# chage -m 0 -M 10 -W 7 -I 14 user01
[root@localhost ~]# chage -l user01
Last password change : Apr 09, 2021
Password expires : Apr 19, 2021
Password inactive : May 03, 2021 -I
Account expires : never
Minimum number of days between password change : 0 -m
Maximum number of days between password change : 10 -M
Number of days of warning before password expires : 7 -W
[root@localhost ~]# chage -d 0 user01
localhost login: user01
password:
You are required to change your password immediately (root enforced)
Changing password for user01.
-m 설정으로 지정된 날짜보다 앞서서 패스워드 변경을 시도할 경우 (passwd)
You must wait longer to change your password
=======================
고급 권한 관리
소유권
- 소유자 : 파일을 소유한 사용자 (보통 파일을 생성한 사용자)
- 소유그룹 : 파일을 소유한 그룹 (보통 소유자의 기본 그룹이 소유그룹으로 설정됨)
chown
-R : 리커시브 , 하위폴더, 하위파일에도 모두 적용
# chown [OPTION] [USER]:[GROUP] 파일
# chown USER
# chown :GROUP
# chown USER:GROUP
[root@localhost 20210409]# chown user02:user02 user01file1 → 소유자소유그룹 변경
[root@localhost 20210409]# chown :user01 rootfile2 → 소유그룹 변경
-rw-r--r--. 1 user01 user01 0 Apr 9 15:57 rootfile2
chgrp
# chgrp [OPTION] [GROUP]
# chgrp user01 rootfile2
ex.) /etc/shadow 는 000으로 기타 사용자는 rwx 불가능하지만 일반유저가 passwd 를 통해 패스워드를 변경하는 것은 passwd 의 확장된 권한 SetUID 가 걸려 있기 때문.
ex.) [user01@localhost extperms]$ ls -l `which passwd`
-rwsr-xr-x. 1 root root 27856 Apr 1 2020 /bin/passwd
SetUID (4) : 파일의 소유자의 권한으로 파일 실행
[root@localhost extperms]# chmod 4755 cat2
-rwsr-xr-x. 1 root root 54080 Apr 9 16:13 cat2
[user01@localhost extperms]$ ./cat2 /etc/shadow → 4755권한으로 s부여받아 shadow를 cat2로 볼 수 있음.
SetGID (2) : 파일의 소유 그룹의 권한으로 파일 실행
[root@localhost extperms]# chmod 2755 cat3
-rwxr-sr-x. 1 root root 54080 Apr 9 16:13 cat3
[user01@localhost extperms]$ ./cat3 /etc/sudoers → 2755권한으로 s부여받아 sudoers를 cat3로 볼 수 있음.
Sticky bit(1) : 여러 사용자가 공동으로 사용하는 디렉터리에서 자신의 파일만 삭제할 수 있는 확장 권한
[root@localhost extperms]# ls -ld /tmp/
drwxrwxrwt. 36 root root 4096 Apr 9 16:30 /tmp/
[user@localhost tmp]$ rm user01file1
rm: remove write-protected regular empty file ‘user01file1’? y
rm: cannot remove ‘user01file1’: Operation not permitted → sticky bit
'linux' 카테고리의 다른 글
20210413 (화) (0) | 2021.04.13 |
---|---|
20210412 (월) (0) | 2021.04.12 |
20210408 (목) (0) | 2021.04.08 |
20210407 (수) -NEW (0) | 2021.04.07 |
20210407 (수) (0) | 2021.04.07 |