Linux4

박주현·2022년 12월 29일
0

국비 공부

목록 보기
39/44

IP 고정으로 변경

= 리눅스 환경 설정 파일이 존재하는 곳
/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 권한을 가져도 보안설정을 해주어야 시스템 프로그램이 정상적으로 작동하도록 만든 기능

  1. RHEL 계열
  • selinux 비활성화 해야함
  • vi /etc/selinux/config
  1. 확장 프로그램이 설치되는 repository 추가
  • dnf config-manager --set-enabled powertools
  • epel repository
  1. 아파치 설치 및 아파치 데몬(httpd)
  • dnf install httpd -y 서비스 시작
  • systemctl start httpd 서비스 상태 확인
  • systemctl status httpd 서비스 중지
  • systemctl reload httpd 서비스의 환경 설정 파일을 다시 불러오기(서비스 중단 없이)
  • systemctl restart httpd 서비스를 stop => start
  • systemctl enalbe httpd 재부팅 시 서비스 자동시작
  • systemctl enable --now httpd 서비스 시작하고 재부팅 시 서비스 자동시작 등록
  • curl 127.0.0.1 테스트
  1. 방화벽 설정
  • systemctl stop(start) firewalld 방화벽 끄기
  • systemctl disable firewalld 재부팅 시 서비스 자동시작 등록

방화벽 서비스 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
    방화벽 설정 확인

apache(httpd) 환경설정

  1. 아파치의 환경설정 파일은 /etc/httpd 폴더에 존재

  2. /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"
    로그 파일 설정

0개의 댓글