ICT 정보통신기술

221025 정보보안 (경로이동, 사용자 및 그룹 생성, 삭제, 계정 생성시 현 프로그램 디폴트로 넘기는법, 프로그램 생성하여 계정 수 지정 자동생성) 본문

ICT 정보보안/정보보안 수업

221025 정보보안 (경로이동, 사용자 및 그룹 생성, 삭제, 계정 생성시 현 프로그램 디폴트로 넘기는법, 프로그램 생성하여 계정 수 지정 자동생성)

ict 이재형 2022. 10. 30. 17:49

* 명령어  옵션(-, --)  원본  대상

* 사용자 확인 
--> users < who < w  : 상세한 정도
※해당 없으면 생략 가능

--> rm  -f(--force) (=강제 ,최고권한) *(All)
--> rm -rf(폴더포함 지우기)

--> rmdir            폴더명 --> 디렉터리 지우는 명령어
ㄴ 폴더가 비어져 있어야 함

[root@c7workspace home]# cd /home/user10
[root@c7workspace user10]# cd ../user5
[root@c7workspace user5]# 

lastlog --> 등록된 계정이 로그인을 했나 안했나 확인

================================================

* 경로이동
1. 절대경로 : 항상 / 기호로 시작한다 (루트 파티션에서 전체경로 표시)
2. 상대경로 : . 또는 .. 기호로 시작한다 (부분경로 표시)

[root@c7workspace user5]# cd ../test200 --> user5 에서 상대경로로 test200 으로 이동
[root@c7workspace test200]# cd /home/test300 --> test200 에서 절대경로로 test300 으로 이동
[root@c7workspace test300]# 

================================================

* 새로 생성될 계졍에 현재 있는 프로그램 그대로 넘겨주는 법

/etc/skel 파일 : 계정 생성시 기본적으로 생성되는 프로그램
--> skel 파일을 다른 파일로 지정해줄 수 있음
[root@c7workspace skel]# touch help.txt
[root@c7workspace skel]# mkdir help
[root@c7workspace skel]# ls
help  help.txt
[root@c7workspace skel]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla  help  help.txt
[root@c7workspace skel]# 

[root@c7workspace test300]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla  help  help.txt
[root@c7workspace test300]# cd ../test200
[root@c7workspace test200]# ls -a
.  ..  .bash_logout  .bash_profile  .bashrc  .mozilla
[root@c7workspace test200]# 

==> skel 파일에 지정하기 전 원래 있던 test200 계정에는 help 폴더와 help.txt 파일이 없지만, 
skel 파일에 지정해 준 후 useradd test300 새 유저를 만든뒤 ls -a (파일 목록) 검색해보면 help 폴더와 help.txt 파일이 생성되어 있다.

========================================================

* 생성했던 폴더, 파일 지울때 

[root@c7workspace skel]# ls
help  help.txt
[root@c7workspace skel]# rm -rf help* --> help* ==> help로 시작하는 모든것 지우기
[root@c7workspace skel]# ls
[root@c7workspace skel]# 

* 계정삭제 시 옵션은 -r 하나뿐
--> -r 옵션 안붙이고 유저계정 삭제시 /home 과 /var/spool/mail 폴더 안에 유저 기록이 남아있음
--> -r 을 붙여야 userdell 명령어 깨끗히 사용됨

* 계정삭제 시 --> userdel name 명령상태로 이미 실행했을시 /home 과 /var/spool/mail 폴더에는 기록이 남아있기에
직접 그 폴더에 들어가 rm -rf name 으로 각각 지워주어야 같은 이름으로 유저 생성이 가능하다
※ 유저 계정 지울 시 무조건 -r 옵션을 붙여 주어야 함

[root@c7workspace /]# cd /home
[root@c7workspace home]# ls
1  7       test300  user10  user13  user16  user19  user21  user3  user6  user9
3  9       user0    user11  user14  user17  user2   user22  user4  user7
5  guest1  user1    user12  user15  user18  user20  user23  user5  user8  --> userdel test300 이후 userdel -r test300 명령 출력 불가
직접 /home 폴더로 들어가 rm -rf test300 명령으로 지워주어야함
[root@c7workspace home]# rm -rf test300    
[root@c7workspace home]# ls
1  7       user0   user11  user14  user17  user2   user22  user4  user7
3  9       user1   user12  user15  user18  user20  user23  user5  user8
5  guest1  user10  user13  user16  user19  user21  user3   user6  user9 --> 지워진 것을 알 수 있음
[root@c7workspace home]# useradd test300
메일함 파일을 만드는 중: 파일이 있습니다 --> 아직 /var/spool/mail 폴더에 test300 기록이 남아있기 때문에 생성 안됨

[root@c7workspace home]# cd ../var/spool/mail
[root@c7workspace mail]# ls
guest1   user0   user11  user14  user17  user2   user22  user4  user7
rpc      user1   user12  user15  user18  user20  user23  user5  user8
test300  user10  user13  user16  user19  user21  user3   user6  user9 --> test300 기록이 남아있음
[root@c7workspace mail]# rm -rf test300 --> mail 파일 안에서 직접 rm -rf test300 을 이용해 삭제
[root@c7workspace mail]# ls
guest1  user1   user12  user15  user18  user20  user23  user5  user8
rpc     user10  user13  user16  user19  user21  user3   user6  user9
user0   user11  user14  user17  user2   user22  user4   user7 --> 지워진 것을 알 수 있음
[root@c7workspace mail]# 

===========================================

* 계정 생성 / 계정 정보 변경 / 계정 삭제

--> useradd = adduser ==> useradd 의 옵션이 usermod 와 같음
--> usermod
--> userdel

* 그룹 생성 / 그룹 정보 변경 / 그룹 삭제

--> groupadd
--> groupmod
--> groupdel

* 사용자 계정 생성

1. /etc/passwd 파일에 사용자의 계정 정보 생성
2. /etc/shadow 파일에 암호 정보 생성
3. /etc/group 파일에 사용자의 그룹 생성
4. /home 에 사용자의 홈 디렉터리 생성
5. 사용자의 로그인 정보 및 환경설정
6. 사용자의 디렉토리 및 파일 소요권 변경 및 확인
7. DB 사용을 위한 환경설정 및 응용프로그램사용을 위한 환경설정
8. 기타 응용 소프트웨어 사용을 위한 설정 등
9. /var/spool/mail 폴더에 사용자 메일 파일 생성

*passwd 파일 --> 유저 암호 보관 파일 (각 필드 구분 :: )
[root@c7workspace /]# grep user10 /etc/passwd
user10:x:1010:1010::/home/user10:/bin/bash --> ppt 자료 참조

* 사용자 생성 후 파일 확인

[root@c7workspace /]# useradd test600
[root@c7workspace /]# passwd test600
test600 사용자의 비밀 번호 변경 중
새  암호:
잘못된 암호: 암호는 8 개의 문자 보다 짧습니다
새  암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

[root@c7workspace /]# grep test600 /etc/passwd
test600:x:1027:1027::/home/test600:/bin/bash

[root@c7workspace /]# grep test600 /etc/passwd /etc/shadow /etc/group --> 사용자 생성시 기본적으로 할당되는 파일 확인
/etc/passwd:test600:x:1027:1027::/home/test600:/bin/bash
/etc/shadow:test600:$6$r.tLE.Xk$TBkVIJ1/sp24xhMEGvIxNpsVsOvunS6wO7KvMFj6q1kaGayB0dSeg6YSsPPFH44oU0/hYDwNbGPL.CtEhfChR/:19290:0:99999:7:::
/etc/group:test600:x:1027:

* 로그인 못하게 하는 법 --> ppt 참조
/etc/passwd 파일에 유저 정보 끝 변경
 /bin/bash -->  /sbin/nologin
/bin/false

useradd 계정 생성 --> 계정명과 동일한 그룹을 동시에 생성

useradd -g test1 user1 --> user1 이 test1 그룹에 생성됨 --> -g (소문자) ==> 한개의 그룹에만 소속
useradd -G test2 test3 --> 사용자를 서브그룹 test2, test3 에 지정
[root@c7workspace /]# useradd -G user2 test3
[root@c7workspace /]# su test3
[test3@c7workspace /]$ id
uid=1031(test3) gid=1031(test3) groups=1031(test3),1002(user2)

useradd 명령 실행시 /etc/default/useradd --> 기본설정되어 있는 이 파일을 참조하여 만들어짐
   /etc/login.defs
--> 유저 생성시 기본값을 바꾸어 주어 useradd 만 할때 기본적으로 저장되는 값을 변경가능

[root@c7workspace /]# grep user10 /etc/passwd
user10:x:1010:1034::/home/user10:/bin/bash

=============================================

``````` --> 글자 출력 해줌 명령어 일시 실행
''''''''' -->

=============================================

*계정 한번에 지우기 프로그램 만들기 // --> 그룹으로 지정되어 있을 시 지워지지 않음

리눅스의 .sh 파일은 윈도우의 .exe 파일과 같음 ==> 실행 파일

[root@c7workspace ~]# for i in $(seq 1 22);
> do
> userdel -r user${i};
> done


* gedit name --> 프로그램 만들때 이름 지정

iddel.sh 으로 지정

for i in $(seq 1 22); 
do 
userdel -r user${i}; 
done

iddel.sh 생성됨

 chmod 700 iddel.sh --> iddel.sh 프로그램을 루트만 실행가능하게 잠금설정
 cp iddel.sh idadd.sh  --> iddel.sh 프로그램을 idadd.sh 이름으로 복사 생성
 ls -l id*  --> id 로 시작하는 파일 이름 목록
 gedit idadd.sh --> idadd.sh 프로그램 파일 편집기