정보통신공학과 노선변경기
리눅스 관리 2일차 ACL, setfacl, getfacl, at, crontab, partitioning, mount 본문
리눅스 관리 2일차 ACL, setfacl, getfacl, at, crontab, partitioning, mount
HEONPOLI 2021. 5. 11. 21:38*ACL
파일마다 세부적인 권한을 주는 것
default ACL이 설정되어 있다면 하위 디렉토리가 상속받음
권한보기 : getfacl
권한추가 or 수정 : setfacl -m
setfacl -m u:user01:r fileA = user01의 fileA에대한 권한 read로 설정
mask 는 그룹사용자에 대한 최종적으로 적용되는 권한
user~ $ getfacl fileA
# file: fileA
# owner: user
# group: user
user::r-x
user:user01:-wx #effective:--x
group::rwx #effective:r-x
mask::r-x
other::r-x
chmod 555 fileA하면 mask가 바뀐다. r-x로 바뀌므로 user권한의 effective는 마스크에 따라 x만 가능
group은 r-x 가능
chmod로 권한을 주고 acl을 주면 테이블이 꼬이게된다..문제발생
chmod 주고 그 권한을 이어받아 acl로 해주는 순서로 해야 문제 덜 발생한다.
*setfacl 명령어
[options]
-m: 수정
-x: 삭제
[그 뒤에]
u: user
g: group
m: mask
다음과 같이 만들라!
useradd로 student, groupadd로 controller만든다.
sudo chown student roster.txt 파일에대해 owner 변경
sudo chown :controller roster.txt
sudo chmod 770 roster.txt
sudo setfacl -m u:james:0 roster.txt
sudo setfacl -m u:1005:rwx roster.txt (계정은 없으면 셋팅이 안되는데 UID는 계정이 없어도 만들어진다, UID만 갖고 들어오는 사용자가 있으므로 그럴때 사용하는것)
sudo setfacl -m g:sodor:r roster.txt
sudo setfacl -m g:2210:rwx roster.txt
sudo setfacl -m m::rw roster.txt
****QUIZ*********
그룹 aclgroup
계정 user01
계정 user02 그룹 aclgroup
계정 user03
계정 user04
디렉토리 생성
/ptest
- 777로 권한 재설정 (rwxrwxrwx로 만드시오.)
1./ptest 안에 dir02 디렉토리 생성
dir02 디렉토리에 user03만 들어올 수 없도록 설정
dir02 안에 file01 생성
2.file01 에 user01은 읽기 쓰기가 가능하고
aclgroup 구성원은 읽기만 가능하도록 설정하고 확인해보시오.
3.dir02 안에 dir03 디렉토리를 만들고 user01은 읽기만 가능하고
aclgroup은 읽기 쓰기가 가능하도록 설정하고 확인해보시오.
4.dir02 안에 dir04 디렉토리를 만들고 dir04은 user04만 읽기 쓰기가 가능하고
나머지는 못들어오도록 설정하고 확인해보시오.
**************************************************
ANS1
sudo setfacl -m u:user03:0 /ptest/dir02
sudo touch ptestdir02/file01
sudo setfacl -m u:user01:rw,g:aclgroup:r /ptest/dir02/file01
ANS3
sudo mkdir /ptest/dir02/dir03
sudo setfacl -m u:user01:r-x,g:aclgroup:rwx /ptest/dir02/dir03 읽기뿐만 아니라 실행을 줘야 접근가능하다.
ANS4
sudo mkdir /ptest/dir02/dir04
sudo chmod 000 /ptest/dir02/dir04
sudo setfacl -m u:user04:7 /ptest/dir02/dir04
sudo setfacl -m m::7 /ptest/dir02/dir04 chmod 000 으로 마스크 다 날라갔으니 재설정
*작업예약
**at 명령어
at now +2min : 2분후에 다음으로 치는 명령어 수행
atq or at -l 로 예약된 작업확인 가능
daemon 프로그램 : 백그라운드에서 돌아가는..
crontab -e : crontab 설정해주는 곳으로 들어감
**crontab 명령어: at는 한번만 작업, 주기적 반복적으로 진행
*/7 : 7분마다 라는뜻
분 시 일 월 요일 command 순서로 crontab 작성
일의 기준 (1~~~ 일요일)
57 13 * * * touch ~/filecron : 57분 13시에 touch 명령어 수행
******quiz*****
1.매월 오후 1시부터 5시까지 10분마다 date명령어를 datefile01에 이어쓰기
ANS. */10 13-17 * * * date >> datefile01
2.매년 3월 6월 9월 2번째 화요일 14시 20분에 /etc/passwd 파일의 내용을 userfile에 덮어쓰기 하시오
ANS. 20 14 8-14 3,6,9 2 cat /etc/passwd > userfile 2주차 = 8일~14일 의 두번째
3.3분 뒤에 ps -ef 명령어를 실행해서 psfile01에 저장되도록 설정
ANS. at now +3min ,,,,,ps -ef > psfile01
4.21년 8월 3일에 date 명령어를 실행해서 메일로 오도록 설정
at 080321 ,,,, date
5.오늘 오후 18시에 cal 명령어를 실행해서 메일로 오도록 설정
at 18:00 today ,,,,, cal
6.내일 오후 4시에 ps -ef 명령어를 실행해서 psfile02에 저정하도록 설정
at 16:00 tomorrow ,,,, ps -ef > psfile02
sytemd-tmpfiles를 사용하여 임시 파일 관리
*디스크관리
디스크 구매 =>연결=> 파티션=>포맷
**디스크 파티션
MBR방식 : 파티션 레이아웃을 파티션 테이블에 저장, 부팅할 수 있는 파티션 정보를 갖고있다.
섹터주소를 4byte로 저장=최대2TB까지 저장가능, fdisk 명령어로 수행
GPT방식 : 파티션 테이블을 128개까지 가능
64bit => 8ZB까지저장, gdisk 명령어로 수행
e-ide : 핫 플러깅X,
sata : 핫 플러깅 된다.
scsi : 핫 플러깅 된다.
*fdisk, gdisk : 파티션 생성
fdisk ==> mbr 방식, gdisk ==> gpt 방식
sudo fdisk /dev/vdb ==> 파티션 설정해주는 곳
n : add new partition
p : primary, e : extended
lsblk 가상머신 파티션된거 확인
partprobe /dev/vdb 파티션 인식이 바로 안될 경우에 이 명령어 쳐서 바로인식가능하게 해줌
디스크를 파티셔닝 해준 이후 사용하기 위해 포맷
**파일 형식, 파일 시스템 만들기
명령어: mkfs(make file system)
ext4 방식을 제일 많이 사용하는 파일시스템.(inode table이 저장될 수 있기때문에 inode 이용할 수 있는 파일시스템), 윈도우에서는 NTFS 주로 사용
mkfs.ext4 : ext4 파일시스템 생성
mkfs.ext3 : ext3 파일시스템 생성
mkfs.ext2 : ext2 파일시스템 생성
==== /dev/vdb2 의 파일시스템 ext4 로 해주고싶다 == mkfs -t ext4 /dev/vdb2
blkid: 파일시스템 확인, df: 파일시스템확인(-Th), lsblk: 파일시스템확인 ,,,, 3개의 용도가 다르다.
file -s /dev/vdb1 == /dev/vdb1의 파일시스템 확인
*마운트, mount
생성된 파티션에대해 디렉토리 형태로 접근할 수 있도록 연결하는 작업
mount /dev/vdb1 /mnt/new == /mnt/new로 /dev/vdb1 을 마운트한다
mount : 마운팅 포인트에 디스크를 마운트시킨다
-a /etc/fstable에 있는 장치 모두 마운트
umount: 마운트 해제
-a 모든 장치 마운트 해제
*****실습**********************
파티션생성
주 파티션 2G 2G 2G ext4로 포맷
확장 파티션 2G 2G 2G 2G xfs로 포맷
/dev/vdb1 를 mount /mnt/disk1
/dev/vdb2 를 mount /mnt/disk2
/dev/vdb3 를 mount /mnt/disk3
*********************************************************************
20G 배정된 디스크 안에서의 파티션..
3개 주파티션을 써주고, 남은 모든 용량을 extended로 설정해주고 그 안에서 나눠야한다.
<3일차에 계속>
'Sub3_리눅스 관리' 카테고리의 다른 글
리눅스 관리 6일차 find OpenSSH NTP Firewall 방화벽(firewall-config, firewall-cmd) (0) | 2021.05.18 |
---|---|
리눅스 관리 5일차 로그관리 journalctl 로그규칙 yum (0) | 2021.05.14 |
리눅스 관리 4일차 systemd systemctl 부트프로세스 네트워크관리(nmcli) (0) | 2021.05.13 |
리눅스 관리 3일차 swap, 볼륨관리, fstab 작성, LV, PV, VG 관련명령어 (0) | 2021.05.12 |
리눅스 관리 1일차 사용자, 그룹 , 특수 권한 (0) | 2021.05.11 |