[리눅스] RHCSA 9(8), 디렉토리 권한 및 시간 동기화 (feat. chown, ntp, chrony)
- IT/linux
- 2024. 4. 19. 23:56
반응형
문제9. 아래 조건을 참고하여 작업 디렉토리를 만드시오.
/home/work 디렉토리를 생성한다.
manage 그룹의 사용자만 읽기 및 쓰기가 가능하다.
그 외 다른 사용자는 어떠한 설정도 불가능하다.
단, root는 모든 작업이 가능하다.
생성된 파일은 자동적으로 소유 그룹이 sysmgr이 되어야 한다.
[servera]# mkdir /home/work
[servera]# ls -ld /home/work
drwxr-xr-x. 2 root root 6 Apr 12 22:44 work
[servera]# chown :manage /home/work
[servera]# chmod 070 /home/work
[servera]# chmod 2070 /home/work // 2의 의미는 work 하위에 생성된 파일은 자동적으로 소유 그룹이 manage로 됨.
[servera]# ls -ld /home/work
d---rwx---. 2 root manage 6 Apr 12 22:44 /home/work
* 권한 테스트
[servera]# useradd testuser
[servera]# echo 'abc123!@#' | passwd --stdin testuser
Changing password for user testuser.
passwd: all authentication tokens updated successfully.
[servera]# su - testuser
[servera]$ id // manage 그룹에 속해있지 않은 계정
uid=1506(testuser) gid=1506(testuser) groups=1506(testuser) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[servera]$ cd /home/work // 실행(--x) 불가능, 당연히 읽기(r--)도 안되겠죠?
-bash: cd: /home/work: Permission denied
[servera]$ echo -e 'test' > /home/work/test.sh // 쓰기,수정(-w-) 불가능
-bash: /home/work/test.sh: Permission denied
그럼 testuser 계정의 그룹을 manage로 변경 후 테스트해볼까?
[servera]# usermod -g manage testuser
[servera]# su - testuser
[servera]$ id
uid=1506(testuser) gid=2000(manage) groups=2000(manage) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[servera]$ cd /home/work // 실행(--x) 가능
[servera]$ echo -e 'abc123' > testuser_file // 쓰기,수정(-w-) 가능
[servera]$ cat testuser_file // 읽기(r--) 가능
abc123
[servera]$ ls -l
-rw-r--r--. 1 testuser manage 7 Apr 12 23:09 testuser_file // 파일이 자동으로 manage 그룹으로 소속된다.
* 권한 테스트 종료 후 testuser 계정은 삭제하자
문제10. NTP 구성 (chrony 설정)
2.rocky.pool.ntp.org 를 통해 시간이 동기화 되도록 ntp 클라이언트를 구성합니다.
하나의 특정 NTP 서버를 제시했으므로 pool 대신 server를 사용하고, iburst 옵션을 추가하여 동기화 시간을 단축시킨다.
[servera]# dnf install chrony -y
[servera]# vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (https://www.pool.ntp.org/join.html).
# pool 2.rocky.pool.ntp.org iburst // 주어진 풀(pool)에 정의된 여러 개의 서버 중 하나를 무작위로 선택하여 동기화 수행
server 2.rocky.pool.ntp.org iburst // 일반적으로 신뢰할 만한 특정 NTP 서버와 직접 통신할 때 사용
# Use NTP servers from DHCP.
sourcedir /run/chrony-dhcp
# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3
# Enable kernel synchronization of the real-time clock (RTC).
rtcsync
(...중략)
[servera]# systemctl restart chronyd
[servera]# systemctl status chronyd
* chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: >
Active: active (running) since Fri 2024-04-19 23:46:55 KST; 4s ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Process: 2092 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/S>
Main PID: 2094 (chronyd)
Tasks: 1 (limit: 12050)
Memory: 1020.0K
CPU: 13ms
CGroup: /system.slice/chronyd.service
`-2094 /usr/sbin/chronyd -F 2
[servera]# systemctl enable chronyd // 서버 재기동 시 자동 시작
[servera]# systemctl is-enabled chronyd // 자동 시작 활성화 여부 확인
enabled
[servera]# timedatectl set-ntp false // ntp 동기화 false
[servera]# timedatectl set-ntp yes // ntp 동기화 enable
[servera]# timedatectl // ntp 동기화 확인
Local time: Fri 2024-04-19 23:52:13 KST
Universal time: Fri 2024-04-19 14:52:13 UTC
RTC time: Fri 2024-04-19 14:52:12
Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes // sync 확인!
NTP service: active // ntp 서비스 활성화!
RTC in local TZ: no
[servera]# chronyc sources // ntp 동기화 확인, -v 옵션으로 등록한 전체 서버 목록도 확인 가능
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 121.162.54.1 3 6 77 26 -28us[ -638us] +/- 59ms
반응형
'IT > linux' 카테고리의 다른 글
[리눅스] RHCSA 9(7), 자동 스케줄링 (feat. crontab, logger) (0) | 2024.04.14 |
---|---|
[리눅스] RHCSA 9(6), ACL 설정 (feat. setfacl, getfacl) (0) | 2024.04.13 |
[리눅스] 서버 보안 ACL 개념 및 설정하기 (feat. getfacl, setfacl) (1) | 2024.04.12 |
[리눅스] SELinux 개념 및 설정 방법, on/off (feat. semanage) (2) | 2024.04.09 |
[리눅스] ACL과 POSIX 권한: 개념과 우선순위 (0) | 2024.04.08 |