

1. /usr/ 디렉토리의 내용을 확인해보시오.
ls /usr/
-l 옵션은 파일 권한, 소유자, 크기, 수정 시간 등 자세한 정보를 보여줌
/usr 아래에는 bin, lib, local, share, include 등이 있을 수 있음
2. /dev/ 디렉토리의 내용을 자세하게 확인하시오.
ls -l /dev/
이 디렉토리는 시스템에 연결된 디바이스 파일들을 모아둔 곳
b는 블록 디바이스, c는 캐릭터 디바이스를 의미
예: /dev/sda (디스크), /dev/tty (터미널)
3. /etc/skel 디렉토리의 내용을 숨김파일까지 아이노드 테이블 값을 보시오.
ls -lai /etc/skel/
-l : 자세히 보기
-a : 숨김파일 포함
-i : 아이노드 번호 표시
/etc/skel은 새 유저 계정 생성 시 기본으로 복사되는 설정 파일들을 담고 있음
4. /etc/cron.hourly/ 디렉토리 안의 파일들의 종류를 확인해보시오.
ls -lF /etc/cron.hourly/
-F 옵션은 파일 종류를 알려줘요
/는 디렉토리
*는 실행 파일
@는 심볼릭 링크
cron.hourly는 매 시간 실행되는 자동 작업 스크립트를 담고 있는 디렉토리
5. /etc/sysconfig 디렉토리 자체의 내용을 확인해보시오.
ls -ld /etc/sysconfig
-d 옵션은 디렉토리 자체 정보를 보여줌 (내용 아님)
즉, sysconfig 디렉토리의 권한, 소유자, 수정일 등을 알 수 있음
이 디렉토리는 보통 시스템 서비스나 네트워크 설정에 관련된 파일이 많음
6. /var/spool 의 하위 디렉토리의 내용까지 확인하시오.
ls -lR /var/spool
tree /var/spool
-R 옵션은 재귀적으로 하위 디렉토리까지 모두 출력
/var/spool은 메일 큐, 인쇄 대기열, cron 작업 대기 등을 위한 디렉토리
1. /etc/sudoers 파일의 내용을 한꺼번에 출력하시오.
cat /etc/sudoers
2. /etc/sudoers 파일의 내용을 한꺼번에 출력하는데 라인 앞에 숫자를 붙이시오.
cat -n /etc/sudoers
-n 옵션은 라인 번호를 붙여서 출력3. /var/log/secure 파일의 내용을 나누어서 보시오.(2가지 방법 모두)
less /var/log/secure
/로 검색도 됨more /var/log/secure
Enter → 한 줄, Space → 한 페이지4. /etc/passwd 파일에서 위에 4라인을 확인하시오.
head -n 4 /etc/passwd
head는 파일의 앞쪽에서부터 출력하는 명령어5. /etc/passwd 파일에서 아래부터 4라인을 확인하시오.
tail -n 4 /etc/passwd
tail은 끝부분에서부터 출력6. /etc/sudoers 파일의 라인수, 단어수, 크기를 확인하시오.
wc /etc/sudoers
예) 30 120 1424 /etc/sudoers1. /etc/ 디렉토리를 복사해서 /root/dir1에 넣으세요.
cp -r /etc/ /root/dir1
dir1이 없는 상태라면 → 복사된 디렉토리 이름이 dir1이 되고dir1이 미리 있으면 → /etc 디렉토리가 그 안으로 복사됨 (dir1/etc/)-r은 디렉토리를 재귀적으로(recursively) 복사하겠다는 뜻/etc/는 슬래시(/)가 있으므로 내용물만 복사됨/root/dir1/etc/ 구조가 생성됨2. /root/dir1/etc/passwd파일을 /root/passwd1으로
이름을 바꾸어 이동시키시오.
mv /root/dir1/etc/passwd /root/passwd1
mv ~/dir1/etc/passwd ~/passwd1
mv는 파일을 이동하거나 이름을 변경할 때 사용passwd 파일을 /root/ 디렉토리로 이동시키면서passwd1으로 바꿈3. /root/passwd1 파일을 복사해서 /tmp에 이름 그대로 넣으시오.
cp /root/passwd1 /tmp/
cp는 복사, 원본은 유지됨/tmp/는 임시 디렉토리로, 시스템이 부팅될 때마다 초기화될 수 있음/tmp/passwd1이 새로 생기고, /root/passwd1은 그대로 남아 있음4. /tmp/passwd1을 /root/dir1/etc/passwd로 이름을 바꾸어 이동시키시오.
mv /tmp/passwd1 /root/dir1/etc/passwd
/tmp에 있던 파일을 다시 /root/dir1/etc/로 옮기며passwd로 되돌리는 과정5. /root/dir1/etc/안의 group 파일과 shadow 파일을 삭제하시오.
rm ~/dir1/etc/group ~/dir1/etc/shadow
rm은 파일 삭제 명령어~는 현재 사용자의 홈 디렉토리를 의미 (root일 경우 /root)6. /root/dir1/etc/sysconfig 디렉토리를 삭제하시오.
rm -rf /root/dir1/etc/sysconfig
-r: 디렉토리와 그 하위 내용까지 모두 삭제-f: 존재하지 않아도 에러 출력하지 않음 (강제)7. /root/a/aa/aaa/aaaa/ 를 만드시오.
mkdir -p /root/a/aa/aaa/aaaa
-p 옵션이 없으면 중간 디렉토리가 없을 때 에러 발생-p를 사용하면 중간 경로도 자동으로 생성해줌8. /root/a/aa/aaa/aaaa/를 rmdir를 사용해서 지우시오.
rmdir -p /root/a/aa/aaa/aaaa/
rmdir은 오직 빈 디렉토리만 삭제 가능-p 옵션은 하위에서 상위까지 연속 삭제 가능1. test (숫자) 로 된 파일을 만들고 하드링크파일 test-h 와
심볼릭링크파일 test-s를 만드시오.
nano test -> 1 2 3
ln test test-h
ln -s test test-s
test-h는 test와 같은 inode 번호를 공유하는 실질적인 복사본test-s는 test라는 파일 경로를 문자열로 가리키는 링크2. test 파일의 inode 테이블 값과 test-h의 inode 테이블 값을 비교하시오.
ls -il test*
test와 test-h는 inode 번호가 동일함test-s는 다른 inode를 가지며, -> test 로 연결을 보여줌3. test 파일을 /tmp 로 이동시키시오.
mv test /tmp/
test-h는 여전히 살아 있음 (내용 유지)test-s는 깨짐 → 경로인 test가 사라졌기 때문4. test(영어로 작성)을 만들고 test-h와 test-s 내용을 비교하시오.
nano test -> a b c
cat test-h # 출력: 1 2 3
cat test-s # 출력 실패 (No such file or directory)
5. test 의 절대 경로로 심볼릭링크 파일 test-s1 만드시오.
ln -s /root/test test-s1
/root/test를 가리키는 절대경로 링크6. test-s와 test-s1 파일을 /tmp로 이동시켜서 내용을 보시오.
mv test-s test-s1 /tmp
cat /tmp/test-s # (실패) → 링크가 깨졌으므로 에러
cat /tmp/test-s1 # (성공) → /root/test 내용인 a b c 출력
test-s는 상대경로 기반이라 원본이 없으면 읽을 수 없음test-s1은 절대경로 기반이라 이동 후에도 정확히 /root/test 가리킴준비사항 : p1 p2 p3 p4 p5 p6 p7
touch p1 p2 p3 p4 p5 p6 p7
touch는 빈 파일을 생성하는 명령어1. p1 심볼릭 방식으로 그룹과 기타사용자에게 실행권한
chmod go+x p1
g는 group, o는 others+x는 실행 권한 추가2. p2 심볼릭 방식으로 소유주의 권한을 ---로 만들 것
chmod a-rwx p2
chmod a= p2
a는 all (user + group + others)=는 기존 권한을 전부 초기화---로 만듦chmod u = p2를 쓴다면 소유자만 권한 제거도 가능3. p3 심볼릭 방식으로 모든 대상 읽기와 실행 권한을 주고 쓰기 권한을 뺄 것
단 방식은 셋팅 방식으로
chmod a=rx p3
= 방식은 기존 권한을 초기화한 후 지정한 권한만 부여a = rx는 r(읽기) + x(실행)만 설정 → w(쓰기) 제거됨4. p4 8진수 방식으로 소유주 읽기 실행, 소유 그룹 실행 권한만
기타 사용자에게는 쓰기 권한만
chmod 512 p4
5 → r-x = 4 + 12 → -w-1 → --x5. p5 8진수 방식으로 모든 사용자 모든 권한 삭제
chmod 000 p5
000은 user, group, others 모두 권한 없음6. p6 8진수 방식으로 소유그룹만 읽기, 쓰기 권한 줄 것
chmod 060 p6
0 (user) → ---6 (group) → rw-0 (others) → ---7. p7 8진수 방식으로 실행 권한만 줄 것
chmod +111 p7
111 → --x--x--x8. /root/filea 디렉토리에 기타 사용자가 들어올 수 없도록 권한을 변경하시오.
mkdir filea
chmod o-x /root/filea
디렉토리 접근은 x 권한이 핵심
o-x는 others(기타 사용자)에게 실행 권한 제거 → 디렉토리 진입 불가
9. /etc/passwd 파일을 /root/로 복사
cp /etc/passwd /root/
passwd는 사용자 계정 정보가 담긴 중요한 시스템 파일/root/passwd로 생성됨 (테스트용으로 복사)10. /root/passwd 파일의 소유자를 vagrant 로 변경
chown vagrant /root/passwd
chown 사용자이름 파일경로 형식user)를 vagrant로 변경11. /root/passwd 파일의 소유그룹을 nobody로 변경
chown :nobody /root/passwd
:) 앞이 없고 뒤에만 그룹 이름 → 그룹만 변경nobody는 권한이 거의 없는 기본 사용자 그룹 중 하나12. /root/passwd 파일의 소유자와 소유그룹을 adm으로 변경
chown adm:adm /root/passwd
chown 사용자:그룹 형식adm 그룹은 보통 시스템 로그나 감사 로그 접근 권한을 가짐13. /etc/ 디렉토리를 /root로 복사하고 /root/etc 디렉토리 안의 파일까지 shutdown로 소유자를 변경하시오.
cp -r /etc/ /root/
chown -R shutdown /root/etc/
cp -r: /etc 디렉토리를 재귀적으로 복사chown -R: 재귀적 소유자 변경, 모든 하위 파일/디렉토리에 적용shutdown 사용자는 시스템에서 자동 종료 스크립트 등을 실행할 때 사용됨