카테고리 Archives: linux

우분투 20.04 의 xrdp에서 로그인창 반복 문제

우분투 20.04 버전에서 xrdp 를 설치하고 원격 데스크톱을 연결했을때 로그인을 한 뒤에 아래와 같이

인증이 필요합니다

시스템 저장소를 새로 고치려면 인증해야 합니다

라는 메세지가 나오게 되고 패스워드 입력창이 반복되면 실제 로그인시 로그인을 실패를 하는것이 확인되었다.

2022-01-05_091029

 

실제 ubuntu 계정의 패스워드를 입력해도 정상 로그인이 불가능한 상태 이다.

/var/log/auth.log 파일에서는 아래와 같은 로그가 확인 되었다.


xrdp의 버그인 것으로 아래와 같이 터미널에서 polkit 룰을 추가함으로서  해결 되었다.

위 파일을 터미널을 통해 생성한뒤에 로그아웃 -> 로그인을 하면 사라진다 @_@b

 

출처 : https://devanswers.co/how-to-fix-authentication-is-required-to-create-a-color-profile-managed-device-on-ubuntu-20-04-20-10/

ssh (sftp) 속도 저하 이슈.

ssh 또는 sshd 의 내장된 sftp 를 이용하여 파일을 업로드 할때 가끔 속도가 저하되는 이슈가 있다 ‘ㅅ’a

sftp의 경우 데이터를 암호화 해서 통신을 하기 때문에 cpu와 네트워크(1Gbps)가 좋다면 일반적으로 20Mbps ~ 60Mbps 정도로 측정이 된다.

 

다만 resolve 가 정상적이지 않을때 속도 저하가 발생할 수 있는데 이때 sshd_config를 수정해서 DNS 확인을 하는 옵션을 꺼둠으로서 속도 저하를 예방할 수 있다.

일반적으로 CentOS 에서는 아래와 같은 설정 값을 가진다.

 

이를 수정을 해주고 sshd를 재 시작 한다.

상태 active (running) 을 확인 한뒤에 추가적으로 ssh 접속을 시도해 본다. (sshd 설정을 건들 경우에는 새로운 접속이 가능한지 확인해보는것이 좋다.)

 


 

ubuntu의 경우에는 기본 설정 값이 틀리기 때문에(주석으로 막혀있는 구조) 아래의 명령어를 사용한다.

 

CentOS 8 종료에 따라…

CentOS 8 의 CentOS Stream 전환의 시기가 얼마 남지 않았다. (2021년 12월 31일 까지…)

 

기존의 CentOS 와 같이 RHEL 을 복제한 OS 는 다음과 같다.

Rocky Linux (https://rockylinux.org)

Oracle Linux (https://www.oracle.com/kr/linux/)

Alma Linux (https://almalinux.org/)

Navy Linux (https://navylinux.org/)

 

네이비 리눅스의 경우 업데이트 적용이 늦는듯 하고(업데이트 지원이 늦어질수도??)

오라클 리눅스는 Mysql -> MariaDB 사태를 본 사람으로서 선택하기 어렵다.

 

아무래도 기존에 CentOS 개발자로 참여(Gregory Kurtzer) 했던 Rocky Linux 을 선택 하는게 좋을거 같지 싶다 ‘ ‘a

Rocky 리눅스의 경우에는 AWS, Azure, GCP 에서 OS 이미지로도 선택(물론 소프트웨어 요금 없이)이 가능하다.

 

 

springboot 의 systemd 설정 및 rsyslog 설정

스프링부트로 작성이 된 프로그램을 systemd 를 이용한 데모나이즈를 위해 아래와 같이 생성 한다. (가장 기본적인 부분..)

 

위와 같이 설정 파일을 생성 한뒤에 아래와 같은 명령어로 실행 할 수 있다.

 

위와 같이 실행을 할 경우 발생하는 로그는 CentOS 7 기준 /var/log/messages 파일에 누적이 된다.

가만히 두면 messages 파일이 엄청 커지거나 섞여 있어서 로그 확인에 에로 사항이 발생하게 된다.

때문에 다음 와 같이 /etc/rsyslog.d/30-springboot.conf 파일을 생성 하여 분리 하도록 한다.

 

rsyslog 를 재시작 한다.


PS1. 로그 순환 설정

 

rsyslog 에서 생성하는 별도의 파일을 새롭게 선언 되었기 때문에 logrotate 가 안되면 파일이 무한 증식 하게 되므로 아래와 같이 순환 설정을 하여

1달동안 보관 되고 삭제 되도록 설정 한다. (생성만 해두면 다음 주기에 적용됨..재시작할 필요는 없음.)


PS2. 프로그램 배포계정에 특정 데몬의 콘트롤 권한만 부여(sudo 이용) 하는 방법.

 

배포계정에 systemctl 을 이용 하여 특정 데몬을 콘트롤 할수 있는 권한을 부여 한다.

 

배포 계정은 아래와 같이 부여된 명령어를 root 와 같은 권한으로 실행이 가능 하다.

 

GEOIP database 파일 업데이트

그렇다. 또 바뀌었다 ‘ㅅ’….

 

GeoIP database 파일을 다운 받는데 링크 주소가 변경 되었다

맥스마인드 사이트의 회원 가입 이후 라이선스 키를 받아야 다운로드를 받을 수 있도록 변경 되었다.

 

crontab 에 아래와 같이 geoipupdate 명령어를 주기적으로 실행 함으로서 업데이트를 실행할 수 있다.

 

단지 위 명령어를 실행 하기 위해 맥스마인드사의 회원 가입 과 라이선스 키를 발급 받아야 한다.

2021-04-15_095619

그리고 /etc/GeoIP.conf 파일에서 라이선스키 등록을 진행해야 한다.

이후 geoipupdate명령어를 통해서 업데이트가 잘 되나 실행해보면 된다.

 

출처 : https://dev.maxmind.com/geoip/geoipupdate/


다른 방법으로는 기존 처럼 스크립트를 이용 하여 바뀐 URL 에 파라메터로 라이선스 키를 넣어서 호출하는 방법이 있다.

 

개인 적으로 남이 만든 프로그램 보단 직접 하는 스크립트를 선호하는 편이라.. (OS 의존성도 없는 편이고 해서 ‘ ㅅ’a)

스크립트 3 번째 줄에 위 방법을 따라 만든 maxmind 라이선스 키를 입력해야 한다.

 

기존 스크립트에서 추가 변경된 기능이 있는데 DB 업데이트가 이루어 졌는지 배포주소의 HEAD 체크를 통해서 Last-Modified 를 체크 한다.

쉽게 말하면 맥스마인드사에서 새로운 db를 업데이트 할때만 작동 한다는 소리다. ( 더 쉽게: 매일 돌리면 된다. )

때문에 위 스크립트는 /etc/cron.daily/ 폴더내에 넣어두면 필요할 때 자동 실행이 된다.

 

출처 : https://dev.maxmind.com/geoip/geoip-direct-downloads/#Direct_Downloads