카테고리 없음

패스워드 정지/ 패스워드 정보 변경

딸기뚜왈기 2024. 3. 10. 19:49

03. 패스워드 일시 정지
1) #passwd
2) /bin/false
usermod -s /bin/false user1 --> 로그인 안된다.
3) sbin/nologin
usermod -s /sbin/nologin user1 --> 로그인 안된다.
usermod -s /bin/bash user1


04. /etc/shadow 파일
[계정명]:[패스워드(암호화)]:[패스워드 변경 후 지난 일수]:[최소 변경일]:[최대 유효기간]:[경고일]:[비활성화기간]:[계정 만료일]::


user2:$6$mBTM1eD2VX0tjNJv$VAzVqkF/W6kTzJa7VQ4jN08IMQkGGs7S5VG4amF79HcPpA4Uz2tEialYbENUULTfYKF.Zar7YkJ4qIJFrW.ye.:19792:0:99999:7:::

$6 : Hash ID($1: MD5, $2: Blowfish, $5 : SHA-256, SHA-512)  
$K.1pSPa40dilDMrm : Salt
$VvZmGALWw: Salt + Password = 암호화된 패스워드

chage -l user1
- shadow 안들어가도 설정값 확인할 수 있음



=========================================
05. 패스워드 정보 변경

> /etc/shadow

#chage [옵션][설정값][계정명]
#chage -m 10 user1



<옵션>
-m: 패스워드 최소 변경일
-M: 최대유효기간
-W:경고일
-I: 비활성화기간
-E: 계정 만료 일

 

 

 


06. 그룹 사용자 생성/수정/삭제
>그룹 두가지 종류 : 디폴트그룹, 일반그룹

1)생성
#groupadd [그룹명]  --> 일반그룹
디폴트그룹은 명령어로 삭제가 불가능하다.


2)삭제
#groupdel [그룹명]

 


3)그룹에 사용자 추가
#usermod -G [옵션] [사용자명]
#usermod -G study user3
#usermod -G dance,study user1 <--study, dance 그룹에  user1사용자 동시 추가/소속시키기.
#usermod -G sports,dance,user1,user2 user4 <--  user4를 sports, dance, user1, user2에 소속시키기. 
#usermod -G sports,user1 user2<----sports에 user1, user2를 다 넣기


#gpasswd -a [사용자명] [그룹명] <--한번에 여러명을 소속시킬 수는 없다.
#gpasswd -a user4 user3 <---user3를 user4에 소속시킨다.



4) 그룹에서 사용자 삭제
#gpasswd -d [사용자명] [그룹명]
#gpasswd -d user4 user3

07. 소유자 변경
#chown [변경할 사용자명] [변경할 대상(파일/디렉터리)]
#chown user1 file.txt

08. 그룹 변경
#chgrp [변경할 그룹명] [파일/디렉터리명]
#chgrp user1 file.txt

 

drwxrwxr-x.  4 root  study   47  3월 10 18:22 dir1
#[root@localhost home]# chgrp root dir1

>drwxrwxr-x.  4 root  root    47  3월 10 18:22 dir1

[root@localhost home]# chown root:sports dir1

>drwxrwxr-x.  4 root  sports   47  3월 10 18:22 dir1




09. 허가권 
#chmod [허가권] [파일/디렉터리명]
#chmod 777 file.txt <---file.txt에 777의 허가권을 준다.
-rwxrwxrwx. 1 root root 0  3월 10 17:35 file.txt



-----------------------------------------
[파일 유형][허가권][링크 수][소유자명][그룹명] [파일크기][수정일][파일/디렉터리 명]
drwxr-xr-x.  2 root  root     6  3월 10 16:19 dir1
-rw-r--r--.  1 root  root     0  3월 10 16:19 file.txt

 

drwx(7)r-x(5)r-x(5).  2 root  root     6  3월 10 16:19 dir1
-rw(6)-r(4)--r(4)--.  1 root  root     0  3월 10 16:19 file.txt

[허가권]
rwx(소유자 허가권)r-x(그룹 허가권)r-x(제 3자 허가권)
>읽기(read): r : 4
>쓰기(write): w : 2
>실행(eXecute): x : 1

[디렉터리] 에 있는 권한
>읽기 : 디렉터리 내에서 목록 출력권한 ex)ls 명령어로 확인할 수 있느냐 없느냐.
>쓰기 : 디렉터리 내에서의 파일/디렉터리 생성/수정/삭제
>실행 : 디렉터리 진입

7(user)7(group)7(other) <----디렉터리 최고의 허가권
rwx(user)rwx(group)rwx(other) 
(4+2+1 = 7)

[파일]
>읽기: 파일 내용을 읽을 수 있느냐 없느냐.
>쓰기: 파일 내용 생성/수정/삭제
>실행: 파일 내용 실행

 

 

 

[특수 비트] 그 파일을 싱행하는 동안만 그 소유자의 권한을 얻는다.
> 기존에 실행 권한이 부여되어 있으면 '소문자' -> t, s
> 기존에 실행 권한이 부여되어 있지 않았으면 '대문자' -> T, S
Sticky(1): other(x) : t : 쓰기 권한이 부여되어 있어도 삭제만큼은 해당 파일의 소유자만 가능 <-권한 강화역할
SetGID(2): group(x) : s :  <-권한 약화
SetUID(4): user(x) :s   <-권한 약화

 

[root@localhost home]# chmod u+s,g+s,o+t dir1

>drwsrwsrwt.  4 root  sports   47  3월 10 18:22 dir1

[root@localhost home]# chmod o-x dir1

>drwsrwsrwT.  4 root  sports   47  3월 10 18:22 dir1

 

[root@localhost home]# chmod 7777 dir1 <---허가권 부여(7777):특수비트,사용자,그룹,제3자

>drwsrwsrwt.  4 root  sports   47  3월 10 18:22 dir1

[root@localhost home]# chmod u-x dir1

>drwSrwsrwt.  4 root  sports   47  3월 10 18:22 dir1

root@localhost home]# chmod u+x dir1

>drwsrwsrwt.  4 root  sports   47  3월 10 18:22 dir1

[root@localhost home]# chmod g-x dir1

>drwsrwSrwt.  4 root  sports   47  3월 10 18:22 dir1

--------------------------------------------------------------------------------------------------------------------

umask(universal mask)

-0022 <------0(특수)0(소유자)2(그룹)2(제3자)
=====================================================
[심볼]
>사용자 : u
>그룹 : g
>제 3자 : o

>권한부여 : +
>권한제거 : -
> 설정/해당 비트만 적용 : =

#chown [사용자].[그룹][대상]
#chown [사용자]:[그룹][대상]
#chown .[그룹][대상] <-- 그룹만 바꾸기
#chown :[그룹][대상]
##chown [사용자]:[대상]



[파일 권한]
666
022
----
644

666
rw-(user)rw-(group)rw-(other)

 

 

-------------------------------------------


[디렉터리 권한]
777
022
-----
755


계정을 생성했을 때의 허가권이랑 

root에서 생성했을때의 허가권이 다르다.

 

 

-------------------------------------------

umask = 077

 


777
077
----
700

 

 

-------------------------------------------

umask = 055

 

 

777
055
----
722

 

------------------------------------

umask = 033

777
033
----
744
421 421 421
111 111 111
7     7    7

 

 

---------------------------------------------------------------------------------------

[제 3자에 대한 허가권 변경] 3자는 o(other)

r(읽기),w(쓰기),x(실행)

 

 

#실행(x) 권한 빼앗기

[root@localhost home]# chmod o-x dir1 <-- 실행(x) 권한 빼앗기

 

>[user1@localhost home]$ cd dir1
>bash: cd: dir1: 허가 거부

 

#실행(x) 권한 주기

[root@localhost home]# chmod o+x dir1

 

 

-----------------------------------------

# 쓰기(w) 권한 빼앗기

[root@localhost home]# chmod o-w dir1 

 

[user1@localhost dir1]$ mkdir ttt.txt
mkdir: `ttt.txt' 디렉토리를 만들 수 없습니다: 허가 거부

 

# 쓰기(w) 권한 주기

[root@localhost home]# chmod o+w dir1

 

-----------------------------------------------

# 읽기(r) 권한 빼앗기

[root@localhost home]# chmod o-r dir1 

 

[user1@localhost dir1]$ rm -rf ttt.txt
[user1@localhost dir1]$ ll
ls: cannot open directory '.': 허가 거부

 

# 읽기(r) 권한 주기

[root@localhost home]# chmod o+r dir1

 

[user1@localhost dir1]$ rm -rf ttt.txt
[user1@localhost dir1]$ ll
합계 0

 

---------------------------------------------------

[root@localhost home]# chmod 777 dir1
drwxrwxrwx.  4 root  study   47  3월 10 18:22 dir1

[root@localhost home]# chmod g=r dir1
drwxr--rwx.  4 root  study   47  3월 10 18:22 dir1

 

[root@localhost home]# chmod o=rx dir1
drwxrwxr-x.  4 root  study   47  3월 10 18:22 dir1

 

chgrp study dir1

 

 

쓰기권한(생성/수정/삭제) 중 삭제는 파일을 생성한 사용자(소유자)만이 할 수 있다.

user2가 생성한 ttt.txt 파일에 대해

user1은 삭제할 권한이 없다.

 

 

[root@localhost etc]# pwunconv
[root@localhost etc]# ls -l shadow
ls: cannot access 'shadow': 그런 파일이나 디렉터리가 없습니다
[root@localhost etc]# pwconv
[root@localhost etc]# ls -l shadow
-r--------. 1 root root 1830  3월 10 19:06 shadow