becool

20210409 (금) 본문

linux

20210409 (금)

gusalstm 2021. 4. 9. 16:37
반응형

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

 

 

 

 

728x90

'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
Comments