Linux Unix lab 3

BPF와 BCC 성능 측정

BPF는 커널 내부에서 어떻게 동작하는지 알 수 있는 것이다. 처음엔 패킷을 필터링하고 검사하기 위해서 나왔다. 하지만 현재는 이것을 개선해서 eBPF가 나왔는데 커널의 여러가지 동작을 관찰하여 분석할수 있다. 왜 쓰는가? 기존 툴 체인 기반 성능 분석을 하기 위해서는 해당 코드를 삽입하거나 링크해서 통계 데이터를 생성하고 프로그램 종료 혹은 측정 종류 후 통계 데이터를 생성한다. 또한 커널을 테스트하려면 시스템을 껏다 켜야한다. 그러한 과정 없이 검증, 테스트를 할수 있는것이 BPF이다. BPF에는 BPF Verifier와 BPF map이 있다. BPF 검증기 - 장점 1. 프로그램의 폭주를 방지하여, 반드시 종료됨을 보장 2. 프로그램이 주어진 범위 밖의 메모리를 사용하는 것을 금지 - 단점 1. 프..

Linux Unix lab 2021.11.25

sudo su 패스워드 없이 로그인

리눅스는 PAM(Pluggable Authentication Modules)을 이용하여 사용자 로그인을 관리한다. /etc/pam.d를 가면 어떤 식으로 검증하여 로그인하게 허락해주는지 과정이 적혀있다. required를 만족하면 아래 과정도 확인하고 sufficient이면 밑에 과정은 검사하지 않는다 이 파일을 수정하여 일반 사용자에서 관리자 su로 전환할 때 패스워드 입력을 받지 않도록 한다. /etc/pam.d의 su파일을 열어서 auth sufficient pam_wheel.so trust use_uid를 추가한다. 이는 다음 조건을 만족하면 로그인이 되는 것으로 pam_wheel이라고 하는 그룹에 속해 있는 사용자는 믿을 수 있는 사용자로 하여 패스워드를 묻지 않도록 하는 것이다. 다음과 같이 ..

Linux Unix lab 2021.08.07

파일 접근 권한

임의의 파일과 디렉터리 생성 시 권한을 보자 r(read) = 4 w(write)=2 x(execute) = 1이다 user-gruop-other순으로 파악할 수 있다. a.txt의 경우 rw-r--r-- 이므로 644이다. a는 rwxr-xr-x 이므로 755이다. 리눅스에서는 파일 생성 시 기본 권한을 부여하고 이는 umask값에 의해 결정된다. 일반적으로 umask값은 /etc/profile에서 설정한다. 해당 profile에서는 bash 셸인지 profile.d인지에 따라 다른 umask를 사용하는 걸로 보인다. 파일은 최고 권한이 666이며, 디렉터리의 생성 최고 권한은 777이다. 디렉터리가 777인 이유는 디렉터리에 실행 권한이 없으면 디렉터리 안으로 들어갈 수 없기 때문이다. 이러한 권한 ..

Linux Unix lab 2021.07.20