Centos/RHEL7 기술노트
- Centos 7 Run level 변경방법
- Centos7(vsftp 3.x) chroot적용하기
- Centos7에 프록시 서버 설정하기
- centos7에서 vnc 구성하기
- Centos7환경에서 VNC서비스 실행시킬때 vnc failed로 응답할때
Centos 7 Run level 변경방법
자주 사용하는 시스템 런레벨
런레벨 | 용도 |
0 | 종료 |
1 | 싱글사용자 |
2 | 다중사용자 (multi-user.target) |
5 | 그래픽 환경 (graphic.target) |
6 | 재부팅 |
Centos7에서는 아래 명령어로 변경 가능 (재부팅 후부터 반영)
[root@localhost ~]# systemctl set-default graphical.target
현재환경에서 변경
[root@localhost ~]# systemctl isolate graphical.target
현재 사용중인 런레벨 확인 방법
- who명령어로 확인
[root@localhost ~]# who -r run-level 3 2014-09-18 10:22
- systemctl 명령어로 확인
[root@localhost ~]# systemctl get-default multi-user.target
Centos7(vsftp 3.x) chroot적용하기
Centos7에서 vsftp 구성할때, 일반 사용자가 홈디렉토리 상단으로 올라오지 못하게 하는 chroot 옵션만 넣으면 FTP접근이 안됨.
응답 500 OOPS:vsftpd:refusing to run with writable root inside chroot()
$> vi /etc/vsftpd/vsftpd.conf
...
chroot_loca_user=YES
...
보통 이렇게만 설정하는데, Centos7(VSFTP 3.x)에서는 저렇게만 하면 접속이 안된다.
이런 메시지를 보게 될 것이야…;;
그래서 한줄 더 넣어줘야 한다. chroot가 적용된 사용자만 쓰기권한부여 하는 옵션..
$> vi /etc/vsftpd/vsftpd.conf
...
allow_writeable_chroot=YES
...
그리고 나서 서비스 재시작 하면 원하는 파일리스트가 잘 나온다~ 짜잔~~
$> systemctl restart vsftpd.service
Centos7에 프록시 서버 설정하기
- Squid 패키지 설치
$> yum install -y squid
- 설정파일 확인
$> vi /etc/squid/squid.conf ... acl 정책이름 (소스정보/목적지정보) (ip/class) acl proxy_net src 127.0.0.1/32 acl proxy_net src 1.2.3.4/24 * proxy_net이라는 정책으로, 소스IP가 127.0.0.1, 1.2.3.4에 대해서 적용 ... #ACL설정방법 http_access 적용방법 정책명 http_access allow proxy_net http_access deny all * 정책명이 proxy_net인 정보를 제외하고 모두 거부 ... #프록시 접근포트 http_port 8080 #캐쉬정보 cache_dir ufs /dev/shm/squid 100 5 10 #덤프파일 경로 coredump_dir /dev/shm/squid #캐쉬데이터 보관주기 refresh_pattern . 5 20% 360 #5분동안 20%의 예전데이터를 보관하고 최대 360분까지 캐쉬데이터를 보관.
- 서비스 활성화
$> systemctl enable squid --now
-
디렉토리 구조 설명
- /var/spool/squid 디렉토리에 최대 100M까지 1차로 생성하는 디렉토리는 5개까지, 2차 디렉토리는 10개까지 설정
- 기본값은 1차는 16개까지, 2차는 256개까지 생성하는 값
- 디렉토리 구조는 다음과 같이 생성된다
$> ls -l /var/spool/squid/ /var/spool/squid/00 /var/spool/squid/00/00 /var/spool/squid/00/01 /var/spool/squid/00/02 /var/spool/squid/00/03 … /var/spool/squid/00/09 /var/spool/squid/01 /var/spool/squid/01/00 /var/spool/squid/01/01 /var/spool/squid/01/02 /var/spool/squid/01/03 … /var/spool/squid/01/09
centos7에서 vnc 구성하기
- VNC패키지 설치
$ yum install -y tiger*
- 설정파일 복사
$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:2.service
- 설정파일 편집
$ vi /etc/systemd/system/vncserver@\:2.service ... ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i -geometry 1024x768" PIDFile=/root/.vnc/%H%i.pid
- 설정파일 읽어오기
$ systemctl daemon-reload
- vnc 패스워드 파일 성성 (두번입력)
$ vncpasswd Password: Password:
- VNC 서비스 활성화 및 실행
$ systemctl enable vncserver@:2.service --now
- VNC 서비스 중지
$ systemctl stop vncserver@:2.service
- vnc서비스 자동으로 비활성화
$ systemctl disable vncserver@:2.service
Centos7환경에서 VNC서비스 실행시킬때 vnc failed로 응답할때
- VNC 구동시 Fail로그 확인
$> systemctl start vncserver@:2.service Job for vncserver@:2.service failed. See 'systemctl status vncserver@:2.service' and 'journalctl -xn' for details.
- 프로세스 실행여부 확인
[root@localhost /]# ps -ef | grep vnc test 24303 1 0 20:08 ? 00:00:00 /usr/bin/Xvnc :2 -desktop 192.168.0.100:2 (test) -httpd /usr/share/vnc/classes -auth /home/test/.Xauthority -geometry 600×800 -rfbwait 30000 -rfbauth /home/test/.vnc/passwd -rfbport 5902 -fp catalogue:/etc/X11/fontpath.d -pn -nolisten tcp test 24310 1 0 20:08 ? 00:00:00 /usr/bin/vncconfig -iconic root 25037 21274 0 20:09 pts/0 00:00:00 grep –color=auto vnc
- 프로세스가 실행중이기 때문에, VNC viewer로 접속하거나, 프로세스가 이상할 경우에는 서비스 재시작.
-
실행중인 포트 확인
[root@localhost tmp]# netstat -antp | grep vnc tcp 0 0 0.0.0.0:5802 0.0.0.0:* LISTEN 24303/Xvnc tcp 0 0 0.0.0.0:5902 0.0.0.0:* LISTEN 24303/Xvnc
- 기본적으로 5900을 기본으로 뒤에 디스플레이번호에 따라서 1자리 포트가 바뀜.
- 2번 디스플레이일경우에는 5902, 5번 디스플레이이면 5905번 포트가 LISTEN으로 됨.
- 2. 1번 사항대로 확인했는데 아무것도 없을때….
- VNC서비스를 실행시키면서 생성되는 파일이 정상적으로 삭제되지 않았기 때문인데,
- VNC가 활성화 되어 있는 상태에서 재부팅이 이루어지면 이런 현상이 자주 발생하고 있네요.
- /tmp/.ICE-unix /tmp/.X11-unix 폴더가 제거되지 않았을 경우에 이렇게 때문에 해당 파일을 삭제해주면 됨.
$> ls -al /tmp total 48 drwxrwxrwt. 11 root root 12288 Dec 29 20:15 . drwxr-xr-x. 20 root root 4096 Dec 29 12:58 .. drwxrwxrwt 2 test test 30 Dec 29 20:08 .ICE-unix drwxrwxrwt 2 test test 15 Dec 29 20:08 .X11-unix
#.ICE-unix, .X11-unix 이 두개 폴더 삭제$> rm -rf /tmp/.ICE-unix /tmp/.X11-unix
- 서비스 재실행
$> systemctl start vncserver@:2.service