= 리눅스 환경 설정 파일이 존재하는 곳
/etc
= RHEL계열은 system관련 환경설정
/etc/sysconfig
네트워크관련 환경설정 파일은
/etc/sysconfig/network-scripts 폴더에 모두 저장이 되어 있음
환경설정 스크립트를 이용해 설정
BOOTPROTO=dhcp -> BOOTPROTO=none
IPADDR=192.168.255.10
NETMASK=255.255.255.0
GATEWAY=192.168.255.2
DNS1=8.8.8.8
DNS2=168.126.63.1
= RHEL8부터는 NetworkManager 명령을 이용해 설정하는 권장
nmcli con mod ens160 ipv4.addresses 192.168.255.20/24 ipv4.gateway 192.168.255.2 ipv4.dns "8.8.8.8 168.126.63.1" ipv4.method manual
아주 중요한 듯 **
su (switch user) : 사용자 변경할 때 사용하는 명령어
리눅스에서는 계정을 생성하면 해당 계정이름과 동일한 그룹명으로 계정과 그룹이 같이 생성이 됨
(윈도우는 계정을 생성하면 일반사용자인 users 그룹으로 지정이 됨)
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
uid : user의 id 번호
gid : group의 id 번호
wheel이라는 이름의 group이 sudo를 할 수 있는 권한을 가지고 있음
usermod -> 사용자 계정의 여러가지 계정 정보를 변경할 때 사용하는 명령어
usermod -aG -> 사용자 계정을 특정 그룹에 추가
usermod -ag -> 사용자 계정을 기존 그룹에서 삭제하고 등록
sudo를 할 수 있는 사용자는 wheel 이라는 그룹에 추가되어 있어야 sudo 할 수 있으며 sudo라는 것은 sudo 뒤의 해당 명령을 root 권한을 이용해 실행하라는 의미가 됨
wheel group이 아닌 사용자를 wheel그룹에 추가하는 경우 usermod -aG wheel 사용자 망
-chown (change owner) : 소유자를 변경
-chmod (change modify) : 권한 변경
umask 개체가 생성될 때 부여되는 기본 permission 설정하는 값
디렉터리는 777 - umask
root의 default umask 022
root 제외 다른 사용자의 default mask 002
[root@localhost ~]# chown root:keduit a123 // 소유자:그룹
[root@localhost ~]# chown :root a123 // 그룹만 변경
권한을 주는 방법은 문자형태(추가, 삭제), 숫자형태(절대값)로 구분됨
- 숫자형태
chmod 777 a123
chmod 755 a123
chmod 644 a123 이런 식.- 문자형태
u(소유자)
g(그룹)
o(다른 사용자)
a(u g o를 합한 모든 사용자)
chmod, chown은 하위 폴더까지 모두 같은 권한을 지정 -> -R 옵션을 주면됨
RHEL 계열은 기업용으로 만들어져서 보안설정 관련해서 강력하게 적용 됨
특히 selinux라는 것이 들어가있음 root 권한을 가져도 보안설정을 해주어야 시스템 프로그램이 정상적으로 작동하도록 만든 기능
방화벽 서비스 on에서 특정 서비스 port만 제외 등록
- firewall-cmd --permanent --add-service=http
서비스로 등록하는 경우 해당 서비스의 port를 변경해서 사용하는 경우는 차단이 됨- firewall-cmd --permanent --add-port=80/tcp(udp)
방화벽 제외 port 설정하는 명령어- firewall-cmd --reload
변경사항 적용- firewall-cmd --list-all
방화벽 설정 확인
아파치의 환경설정 파일은 /etc/httpd 폴더에 존재
/etc/httpd 폴더
*conf : httpd의 기본 설정파일이 존재하는 폴더로 전역환경 설정 httpd.conf에 환경설정이 되어 있음
*conf.d : httpd의 추가 환경설정이 들어가 있음, https 통신을 위한 ssl 설정, virtual host 설정 php 연동 환경설정, tomcat 연동 설정 파일들이 존재
conf.modules.d : httpd가 사용하는 모듈의 환경설정
logs : log 파일의 위치 symbolic link / var/log/httpd
modules : 모듈 파일 위치 symbolic link /usr/lib64/httpd/modules
run : pid 저장 위치 symbolic link
명령어 cat -n /etc/httpd/conf/httpd.conf
- L34 ServerRoot "/etc/httpd"
apache 최상위 디렉터리를 뜻함 이 위치를 기준으로 상대 경로 결정이 됨- L45 Listen 80
http 서비스 port 번호설정- L59 Include conf.modules.d/*.conf
모듈 파일의 config 디렉터리 지정- L69 User apache : httpd의 사용자 지정 -> nobody로도 많이 지정함
L70 Group apache : httpd의 사용자 그룹 지정 -> nobody로도 많이 지정함- L89 ServerAdmin root@localhost
서버 관리자의 email 주소- L98 ServerName www.example.com:80 ->
ServerName localhost Server 이름 적으면 됨
서버 이름이 지정 안된 경우 서버 이름 지정이 되지 않았다는 warning이 나타나면서 실행이 되는 경우가 있음 -> apache 실행은 됨.- L105 <Directory /'>
L106 AllowOverride none : 해당 폴더의 접근 권한
L107 Require all denied : 접근 허용 범위를 설정
L108 <'/Directory>
아파치(httpd)가 사용할 디렉터리를 설정할 때 사용하는 지시어 Directory 경로는 /- L122 DocumentRoot "/var/www/html"
httpd 의 root 폴더 지정- L134 <Directory "/var/www/html">
- L166 <'IfModule dir_module>
L167 DirectoryIndex index.html : 기본 인덱스 html 페이지 설정
L168 <'/IfModule>- L185 ErrorLog "logs/error_log"
로그 파일 설정