본문 바로가기

728x90

리눅스

[리눅스] 일반유저가 1024 이하 포트를 사용하기(setcap/getcap) 일반유저가 1024 이하 포트를 사용하기(setcap/getcap) 3. Linux에서 setcap 명령으로 capabilities 설정 리눅스의 capabilities 설정을 통해서 일반 유저가 1024 이하 포트 사용이 가능하다. capabilities란 무엇일까? 전통적인 유닉스/리눅스에서는 root가 모든 권한을 가진다. 일반유저가 root의 일부 권한을 갖기 위해서는 SetUID/SetGID나 sudo 등 기초적인 방법으로 권한을 부여할 수밖에 없었다. 하지만 capabilities는 root의 권한을 세분화(커널 모듈 load/remove, 파일 소유자/소유그룹 변경, kill 권한, ping 허용(ICMP허용), 리부팅 등)하여, 일반 유저도 root의 다양한 권한을 갖도록 만든 보안 모델이.. 더보기
[리눅스] OpenLDAP 설치 및 구성 OpenLDAP 설치 및 구성 OpenLDAP 설치 yum install -y compat-openldap openldap openldap-servers openldap-clients $ yum install -y compat-openldap openldap openldap-servers openldap-clients openldap-servers-sql openldap-devel OpenLDAP 데이터베이스 설정 cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap. /var/lib/ldap/DB_CONFIG $ cp /usr/share/openldap-servers/DB_CONFIG.example /var.. 더보기
[Shell Script] 조건문 if 문법(bash_if) 조건문 if 문법 기본 구문(if문) if [ expression ] then statement fi 활용 예제 #!/bin/bash a=10 b=20 if [ $a = 10 ] && [ $b = 20 ] then echo "a is 10 and b is 20" fi $ bash example.sh a is 10 and b is 20 if - else 문 if [ expression ] then statement else statement fi 활용 예제 #!/bin/bash a=10 b=20 if ! [ $a = $b ] then echo "a is not equal to b" else echo "a is equal to b" fi $ bash example.sh a is not equal to b i.. 더보기
[Shell Script] 반복문 for 문법(bash_for) 반복문 for 문법 기본 구문 for 변수 in [범위](리스트, 배열, 묶음) do 명령(작업할 내용) done 활용 예제 #!/bin/bash for ((i=0; i 더보기
Ubuntu에서 OpenSSL을 최신 버전으로 업그레이드하는 방법 Ubuntu에서 OpenSSL을 최신 버전으로 업그레이드하는 방법 openssl - SSL(Secure Socket Layer) 암호화 라이브러리 및 도구 테스트 환경 $ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PR.. 더보기
Ansible을 위한 기본 Bash 완성을 설치하는 방법 Ansible을 위한 기본 Bash 완성을 설치하는 방법(Basic bash completion for Ansible) github 다운로드 git clone https://github.com/dysosmus/ansible-completion.git $ ls -l ansible-completion total 68 -rw-rw-r-- 1 vagrant vagrant 5835 Nov 7 14:01 ansible-completion.bash -rw-rw-r-- 1 vagrant vagrant 334 Nov 7 14:01 ansible-doc-completion.bash -rw-rw-r-- 1 vagrant vagrant 1072 Nov 7 14:01 ansible-galaxy-completion.bash -r.. 더보기
[리눅스] watchdog: BUG: soft lockup - CPU#0 stuck for 63s! watchdog: BUG: soft lockup 에러 "watchdog: BUG: soft lockup" 에러는 리눅스 시스템에서 발생할 수 있는 소프트 락업(soft lockup) 상황을 나타내는 경고 메시지입니다. 이러한 에러는 일반적으로 CPU가 장시간 동안 사용 중인 상태로 보고되지 않는 경우에 발생합니다. 이 문제를 해결하기 위해 다음과 같은 단계를 시도할 수 있습니다. 최신 커널 업데이트: 우선, 시스템에 적용 가능한 최신 커널 패치 및 업데이트가 있는지 확인하십시오. 새로운 커널 버전에는 소프트 락업과 관련된 문제에 대한 수정 사항이 포함되어 있을 수 있습니다. 하드웨어 문제 확인: 소프트 락업은 하드웨어 문제에 의해 발생할 수도 있습니다. 메모리, CPU, 디스크 등과 같은 시스템 하드웨어.. 더보기
[Ansible] ansible 팩트변수, 매직변수 ansible 팩트변수, 매직변수 팩트변수(Facts Variables) - setup 모듈을 자동으로 실행, 시스템에서 발견된 정보를 가지고 변수처럼 사용할 수 있는 것이 바로 fact 팩트변수 확인 ansible localhost -m setup -a "filter=*내용*" ansible -i ./inventory kube-node1 -m setup -a "filter=ansible_distribution" $ ansible -i ./inventory kube-node1 -m setup -a "filter=ansible_distribution" kube-node1 | SUCCESS => { "ansible_facts": { "ansible_distribution": "Ubuntu", "discove.. 더보기

728x90