1. rdate : 서버와 NTP 서버(ex. time.bora.net) 시간을 동기화하는 방법
2. timedatectl : 내가 설정한 시간 확인이 가능하며, 옵션을 통해 설정 변경 가능
timedate set-timzone을 통해 hwclock(Hardware Clock)까지 변경 가능.
date
명령어를 입력하면 system의 시간 입력
hwclock
하드웨어 시간 출력
2. rdate
rdate -s time.bora.net
위 명령어를 입력하면 time.bora.net(보편적으로 사용하는 NTP 서버)의 시간을 동기화할 수 있음.
rdate는 경우에 따라, 설치가 필요할 수 있으니 인터넷이 되는 환경에서 yum을 통해 설치.
- time.bora.net 서버가 나타내는 시간은 -p 옵션을 통해 확인 가능.
- NTP 서버와 통신을 위해서 포트가 열려있는지 확인이 필요함.(UDP 37, UDP 123 오픈 필요)
3. timedatectl
timedatectl
Local time(한국 기준 KST), Universal time(UTC)를 확인 가능. 해당 명령어는 NTP서버를 보고 있는게(?) 아니기 때문에 시스템이 재부팅되더라도 HW시간, 서버을 걱정하지 않아도 됨. 경우에 따라 재부팅 시에 시스템 시간을 따라가는 경우가 있고, 하드웨어 시간을 따라가는 경우도 있음.
timedatectl set-timezone [대륙/지역]
위에서는 'timedatectl set-timezeon America/New_York'이 입력되었으며, America/New-York은 탭키를 누르면서 찾을 수 있음(ex. Asia/Tokyo는 A + 'tab'/Toky + 'tab' 키를 입력하여 찾을 수 있음)
- 해당 탭에 저장되지 않은 파일시스템이 있을 경우, 재부팅했을 때 기록되어 있지 않은 파일시스템은 마운트가 빠짐.
- /etc/fstab 에 위치하고 있으며, 지속적으로 마운트시키고 싶은 경우에는 에디터를 이용하여 내용 수정이 필요.
- 즉, 영구적 마운트를 설정하는 탭
2. FSTAB 구성
에디터를 이용하여 fstab의 내용 수정때 화면
명령어 : vi /etc/fstab
편집기를 사용하여 fstab을 수정할 경우, 위와 같은 화면이 나타난다.
[파일시스템장치] - [마운트 위치] - [파일시스템 종류] - [옵션] - [덤프] - [파일체크 옵션] 순으로 기록되어 있음.
[파일시스템 장치]
: 파일시스템 장치명이 입력되어야 하며, 명령어 df -h 를 입력할 경우 파일시스템 장치명을 확인할 수 있다.(ex. /dev/xvda1 과 같음.)
[마운트 위치]
: 말 그대로, 마운트 위치를 어느곳으로 할 지 입력하면 됨. 다른 글에도 작성했던 것 처럼, 마운트는 대체로 /mnt 에 위치시키기는 하지만 원하는 곳으로도 변경이 가능하다. /mnt 파일 안에 mkdir point1(point1 이라는 디렉토리 생성)을 입력하여 mnt 디렉토리 하위에 point1(이름은 알아서..)을 만들고 그 곳에 마운트 되도록 입력해주면 됨. 예시를 든 것이기 때문에 원하는 위치에 디렉토리를 생성하여 사용.
fstab은 현재 붙어있는 디스크를 영구적으로 마운트 시키는게 대부분이기 때문에 현재 마운트된 위치에 해주는 것이 바람직.
[파일시스템 종류]
: 파일 시스템은 다양. ext, ext2, ext3, ext4, nfs 등등이 있으며, 현재 마운트시키는 디스크의 종류가 무엇인지 필히 확인 후 입력해야한다.
파일시스템 타입을 확인하는 방법
명령어 : df -T (대소문자 구분)
해당 명령어를 입력해보면 현재 마운트되어있는 파일의 시스템 종류 확인이 가능.(옵션 T는 Type)
파일시스템 종류를 확인 후 fstab에 입력해주면 된다.
[옵션]
: 파일시스템을 용도에 맞게 사용하기 위한 속성을 설정하는 옵션. 옵션은 아래와 같은 종류가 있으며,
특별한 옵션 설정이 필요하지 않으면 default를 사용.
default : rw, suid, dev, exec, auto, nouser, async옵션을 모두 선택한 것과 같다.
auto :부팅시 자동으로 마운트 된다.
exec :실행파일이 실행되는 것을 허용하는 파일 시스템이다.
suid : SetUID와SetGID의 사용을 허용하는 파일 시스템이다.
ro :읽기 전용 파일시스템이다.(Read Only)
rw :읽고 쓰기(Read Write)파일시스템으로 사용된다.
user :일반 계정사용자들도 마운트를 할 수 있는 파일시스템이다.
nouser : root만 마운트할 수 있는 파일시스템이다.
noauto :부팅시 자동으로 마운트 되지 않게하는 파일시스템이다
noexec : 실행파일을 실행되지 못하게 하는 파일시스템이다.
nosuid : SetUID와SetGID의 사용을 허용하지 않은 파일시스템이다.
usrquota :개별 계정사용자의Quota설정이 가능한 파일시스템이다.(쿼터:사용자별로 디스크 할당을 조정(제한))
grp :그룹별Quota설정이 가능한 파일 시스템
[덤프]
: 0 or 1의 설정만 가능하며, 백업이 되어야 하는지 설정하는 필드.
0 - 백업이 불가능
1 - 백업이 가능
[파일체크 옵션]
: 0 or 1 or 2 의 옵션 설정이 가능.
0 - 무결성 검사를 진행하지 않음.
1 - 우선순위로 1순위. 보통 루트 파일시스템에 설정.(위 사진에서도 맨 윗줄에 1 옵션이 기록되어 있음.)
Linux Directory의 구조는 트리 형식으로 되어있으며, /usr/bin (root디렉토리>usr디렉토리>bin디렉토리) 처럼 상/하위 디렉토리로 구성되어 있음.
처음 루트 디렉토리에서 ls 명령어를 입력해보면, 해당 디렉토리에 대한 용도는 생각해보지 않고 사용하였으나 제대로 인지하고 목적에 맞게 사용하면 좋을 것 같아 정리.
(디렉토리는 윈도우의 폴더라고 생각하면 됨)
리눅스에서 ls command를 입력했을 때, 화면
/ (루트)
- 최상위 디렉토리이며, 트리 형식의 리눅스 모든 디렉토리 중 꼭대기의 디렉토리
/bin
- 기본적인 명령어가 저장된 디렉토리이며, 리눅스를 사용하면서 입력하는 command 들이 이 곳에 저장되어 있음. ls, rm, netstat 등의 명령어들이 저장됨
/dev
- 시스템 디바이스 파일을 저장하는 디렉토리. device를 의미하며, CD-ROM, 장치 드라이버, 프린터 등의 주변 장치들이 존재하는 디렉토리
/home
- 사용자가 접속 시, 초기에 들어가는 화면임. 사용자에게 할당된 개인에 대한 부분. useradd로 계정 생성 시, 해당 디렉토리에 사용자 계정의 디렉토리가 생성됨.
/lib64, /lib
- 커널모듈, 시스템에 필요한 라이브러리가 저장되어있는 디렉토리.
- 리눅스 기반의 MAC의 경우, 'uname' command를 입력하면 darwin 이라는 뜸(TMI)
/mnt, /media
- 마운트 포인트로 사용하는 디렉토리. 사용자가 직접 마운트하는 포인트로 사용되며, /media 와 마운트한다는 측면에서는 비슷하지만 CD-ROM과 USB를 연결하면 /media 디렉토리에 자동으로 마운트 되는 차이.(/media 는 자동 마운트 경로, /mnt 는 사용자가 마운트 시키는 경로
/proc
- 여러 프로세스 이름에 따라 많은 디렉토리들이 존재. 현재 실행중인 프로세스에 대한 정보와 데이터를 가지고 있으며, 실제 존재하지 않으며 메모리상으로 존재함. '가상파일시스템'이라고도 불리우며, cpu 사용값, I/O 포트 등의 프로세스에 대한 다양한 정보가 들어있음.
/run
- 시스템의 현재 정보를 저장하고 있는 디렉토리
/srv
- 서버를 위한 디렉토리로, 외부 사용자와 공유를 위해 사용하는 디렉토리. 따라서 비교적 접근 권한이 낮게 설정되어있음.
/tmp
- 임시 파일을 위한 디렉토리로 윈도우 OS의 tmp와 같은 역할을 한다고 생각하면 됨.
/var
- 로그, 캐싱 파일등이 위치할 수 있으며 파일의 크기가 추후 계속 확장되는 경우 사용함.(로그 축적과 같이 점차 증가하는 경우)
/boot
- Boot Loader 가 존재하는 디렉토리이며, 시스템 부팅에 필요한 파일들이 위치하기에 조심해야함.
/etc
- 시스템의 거의 모든 설정이 저장되어있는 디렉토리. 'passwd'와 'fstab', 'profile' 등이 들어있음.
/opt
- 유닉스 계열은 이 디렉토리에 응용 프로그램을 설치하지만, redhat 계열은 /usr/local 프로그램별로 설치하거나, RPM(Redhat package Manager)가 필요한 곳에 자동 설치.
/root
- 시스템 루트 관리자의 홈디렉토리
/sbin
- /bin 디렉토리의 역할과 비슷하지만, 루트유저만 사용할 수 있는 명령어가 저장되어있음.
/sys
- 커널 하드웨어 정보를 제공하며, 매번 다시 시작할때마다 새로 생성.
/usr
- 시스템이 아닌 사용자가 주로 사용하는 디렉토리이며, 각 사용자의 개인영역(루트 사용자는 접근 가능). 여러 언어 관련 헤더 파일들도 저장되는 디렉토리
[root@localhost ~]# vi /etc/pam.d/su 1 #%PAM-1.0 2 auth sufficient pam_rootok.so 3 # Uncomment the following line to implicitly trust users in the "wheel" group. 4 #auth sufficient pam_wheel.so trust use_uid 5 # Uncomment the following line to require a user to be in the "wheel" group. 6 #auth required pam_wheel.so use_uid 7 auth include system-auth 8 account sufficient pam_succeed_if.so uid = 0 use_uid quiet 9 account include system-auth 10 password include system-auth 11 session include system-auth 12 session optional pam_xauth.so ~