네트워크교육 17일차(2022.01.25) - 예제

정상훈·2022년 1월 25일
0
post-thumbnail

유저 관리

  • 초기화로 스냅샷
  • 모든 사용자 삭제 centos 사용자 포함 (userdel -r 사용자명)

userdel -r centos

  • centos 사용자 생성 및 활성화

useradd centos
passwd centos

  • centos 를 sudo로 사용자 전환 할 수 있도록 설정 후 centos로 사용자 전환

usermod -G wheel centos

su - centos

  • sudo -i로 root 전환 후 사용자 생성

sudo -i

  • default 값을

  • home1, /bin/sh 로 설정

    useradd -D -b /home1 -s /bin/sh

    mkdir /home1

  • 사용자 uid gid 보조그룹 home shell
    user01 1001 1001 1000 /home/user01(-b) /bin/bash

useradd -G 1000 -b /home -s /bin/bash user01

  • user02 2000 1000 10 /home/user2 /bin/bash

useradd -u 2000 -g 1000 -G 10 -d /home/user2 -s /bin/bash user02

  • user03 2001 2001 wheel /home/user3 /bin/bash

useradd -G wheel -d /home/user3 -s /bin/bash user03

  • testuser01 2002 1000 /home1/testuser01 /bin/sh

useradd -g 1000 testuser01

tail -5 /etc/passwd

  • default 값
    home, /bin/bash 로 변경

vi /etc/default/useradd
/home1 => /home
/bin/sh => /bin/bash

  • user02의 홈디렉토리를 /home/user02로 변경

usermod -md /home/user02 user02

  • user03의 홈디렉토리를 삭제 후에 다시 만들 것

rm -rf /home/user3

cp -r /etc/skel /home/user3
chown -R user03:user03 /home/user3
chmod 7000 /home/user3

  • testuser01의 아이디명을 user04로 변경, 코멘트 user4로 변경, 홈디렉토리 /home/user04로 변경, 쉘을 /bin/bash로 변경

usermod -l user04 -c user4 -md /home/user04 -s /bin/bash testuser01

tail -5 /etc/passwd


group 생성

  • 그룹명 gid
    newgroup01 4000

groupadd -g 4000 newgroup01

newgroup02 10

groupadd -g 10 newgroup02
에러 : 존재하는 GID

groupadd -og 10 newgroup02

  • newgroup01을 newgroup 으로 이름 변경하고, gid를 1000으로 변경

groupmod -g 1000 -n newgroup newgroup01
에러 : 존재하는 GID

groupmod -og 1000 -n newgroup newgroup01

  • newgroup02를 newgroup01 로 이름 변경, gid를 4000 으로 변경

groupmod -g 4000 -n newgroup01 newgroup02

  • user01을 newgroup의 구성원으로

usermod -aG newgroup user01

  • user02를 newgroup01의 구성원으로

usermod -aG newgroup01 user02

  • 그룹 구성원 확인

id user02
id user01

egrep '(user01|user02)' /etc/group

  • newgroup 과 newgroup01 삭제

groupdel newgroup
에러 : centos가 주그룹의 구성원입니다.

groupmod -g 3000 newgroup
groupdel newgroup
에러 : centos가 주그룹의 구성원입니다.

  • id centos => 그룹이 newgroup으로 변경되어 있음

usermod -g 1000 centos

  • groupdel newgroup
    삭제

  • groupdel newgroup01
    삭제

  • aclgroup gid 3000으로 생성

groupadd -g 3000 aclgroup


확장 권한

  • user01 이 cat 명령어를 통해서 /etc/shadow 내용을 볼 수 있도록 설정하시오.

ls -l /etc/shadow
권한이 --------- 나오기 때문에 일반사용자는 /etc/shadow를 볼수가 없음.
root의 권한으로 cat명령어를 실행시켜야함

chmod u+s /bin/cat => cat 명령어에 setuid 권한을 부여

  • /ptest 디렉토리를 만들고 안에 만들어지는 파일들의 소유그룹이 user02가 되도록 설정하시오.

mkdir -m 777 /ptest
chmod g+s /ptest => setgit 권한 부여
chown :user02 /ptest

  • /ptest/dir01안에 만들어지는 파일이나 디렉토리가 만든 파일 생성자나 root만이 삭제할 수 있도록 설정하시오.

mkdir -m 777 /ptest/dir01
chmod o+t /ptest/dir01 => sticky bit 권한 부여


실습

  • user02를 aclgroup 구성원으로 넣을 것(기본 그룹으로 바꾸는 것 아님)

usermod -G aclgroup user02

  • /ptest 모든 내용 삭제하고 777로 권한변경 소유그룹을 다시 root로 변경

rm -rf /ptest/*

chmod g-s /ptest
chmod a=rwx /ptest
chown :root /ptest

  • /ptest 에 user03 은 접근 할 수 없도록 설정

setfacl -m u:user03:0 /ptest

  • /ptest 에 파일 aclfile01 과 디렉토리 acldir01 생성

touch /ptest/aclfile01
mkdir /ptest/acldir01

  • aclfile01은 user01 만이 읽기, 쓰기, 실행 가능하도록 설정하고 나머지는 읽기, 쓰기만 실행가능하도록

chmod 666 /ptest/aclfile01
setfacl -m u:user01:7 /ptest/aclfile01

만약

setfacl -m u:user01:7 /ptest/aclfile01 를 먼저 실행 후에
chmod 666 /ptest/aclfile01 를 실행을 했다면

결론적으로는 user01이 실행 불가 함

이유는 mask의 권한이 rw- 되었기 때문에 user01 또한 rw- 의 권한만 받게 됨.

  • acldir01는 aclgroup 만이 읽기 쓰기가능하고 나머지는 읽기만 가능하도록 설정

chmod 555 /ptest/acldir01
setfacl -m g:aclgroup:7 /ptest/acldir01

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

단일성 작업 예약

  • 3분 뒤에 ps -ef 명령어를 실행해서 psfile01에 저장되도록 설정

at now +3min
at>ps -ef > psfile01
at>ctrl + d

  • 22년 8월 1일 새벽 12시에 date 명령어를 실행해서 메일로 오도록 설정

at midnight 22-08-01
at>date
at>ctrl + d

  • 내일 오후 12시에 cal 명령어를 실행해서 메일로 오도록 설정

at noon tomorrow
at> cal
at>ctrl + d

  • 내일 오후 4시에 ps -ef 명령어를 실행해서 psfile02에 저정하도록 설정

at teatime tomorrow
at> ps -ef > psfile02
at>ctrl + d

  • 작업 예약을 확인하시오.

at -l
atq


사용자 cron

  • 1.매년 1월 첫번째 일요일 자정에 재부팅이 되도록 설정

0 0 1-7 1 0 reboot

  • 2.매월 오후 1시부터 5시까지 10분마다 date 명령어를 실행해서 datefile01에 이어쓰기로 저장하도록 설정

/10 13-17 * * date >> datfile01

  • 3.매년 3월, 6월, 9월 2번째 화요일 14시 20분에 /etc/passwd 화일의 내용을 userfile에 갱신하도록 설정

20 14 8-14 3,6,9 2 cat /etc/passwd > userfile

  • 4.매주 수~금 오후 5시에 /var/log/secure의 내용 중 오전 8시 정각부터 오후 5시59분까지의 내용을 securefile에 갱신하도록 설정

0 17 * * 3-5 egrep '^... .. (0[89]|1[0-7])' /var/log/secure > securefile

    1. 3,4번의 작업을 파일로 예약하시오.

vi crontemp

i(edit mode로 진입)

20 14 8-14 3,6,9 2 cat /etc/passwd > userfile
0 17 * * 3-5 egrep '^... .. (0[89]|1[0-7])' /var/log/secure > securefile

esc
:wq

crontab crontemp

  • 6.작업 예약을 확인하시오.

crontab -l

    1. 3번 작업만 삭제하시오.

crontab -e

3번작업 삭제

:wq

    1. 모든 작업을 삭제하시오.

crontab -r


profile
"@____

0개의 댓글