목록Linux (2)
trash houz
빌드를 위한 필수 패키지 설치 Documentation/Changes 문서에 커널 빌드시 사용되는 패키지의 최소 버전이 명시되어 있습니다. sudo apt install build-essential kernel-package libncurses5-dev libssl-dev ccache flex bison libelf-dev bin86 qemu qemu-kvm 커널 소스코드 다운로드 아래 두 링크에서 다운로드 할 수 있습니다. kernel.org tovalds/git 이외에도 토발즈 깃허브에서 받아온뒤 버전을 변경할수 있습니다. git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux git checkout v3.16..
리눅스 커널 소스에는 이런 것이 있다. include/linux/sched.h 를 연 뒤에 task_struct 구조체를 찾아보자. 쭈욱 내리다보면 process credentials 주석 처리된 부분이 보인다. cred 구조체를 가르키는 포인터인 *real_cred와 *cred는 보통은 같은 구조체를 가리키고 있다고 한다. *real_cred는 다른 프로세스가 현재 프로세스에 접근하려고 하면 가져야 하는 권한을 나타내고 있다. *cred 는 현재 프로세스가 다른 task에 접근하는 등 어떠한 동작을 할 때 가지는 권한을 나타낸다. *cred 구조체를 수정하면 현재 프로세스가 행사하는 권한을 root 권한으로 변경할 수 있을 테고, 원하는 동작을 할 수 있게 된다.(쉘 실행 등) 원하는 곳에 쓸 수 있는..