LINUX

포스트: 477|조회수: 0|TERM
Items

Posts

477 posts

chmod - 리눅스에서 파일/디렉토리 접근권한 설정

반달가면|2017년 12월 13일

기본적인 내용이지만 정리해 두기로. 리눅스에서 파일/디렉토리 접근 권한은 chmod 명령으로 설정한다. chmod의 옵션에 의해 소유자(owner, u), 그룹(group, g), 나머지(others, o)에 대하여 각각 읽기(read, r), 쓰기(write, w), 실행(execute, x) 권한을 지정할 수 있다. 권한 추가는 +, 제거는 -, 특정 권한으로 지정은 = 기호를 사용한다. 예를 들어 소유자(u) 권한에 읽기(r)를 추가하기 위한 옵션은 u+r 이런식이다. 예시를 몇개 보면 쉽게 감을 잡을 수 있다. 예를 들어 my_data.txt 파일에 대하여 아래와 같이 접근권한을 지정할 수 있다. # 소유자(u) 권한에 읽기(r),쓰기(w),실행(x) 추가(+) chmod u+rwx my

[Linux][Kernel] ftrace - Workqueue 워크큐 로그 분석 - 1

Guillermo Austin Kim|2017년 12월 13일

리눅스 커널의 매우 중요한 Subsystem인 워크큐. 이번에는 잠깐 ftrace 로그에서 workqueue에 대해 분석을 해보려고 해요.ftrace 세팅은 Appendix [1]을 참고하시구요. 아래 로그는 보자마자 느낄 수 있는 건 irq/225-touch-279란 irq_thread에서 워크 큐를 큐잉하고 이 후 워크큐가 실행된다는 걸 알 수 있죠. irq/225-touch-279 [006] 53516.537609: workqueue_queue_work: work struct=0xed845d58 function=touch_update_work workqueue=0xed80cc00 req_cpu=8 cpu=6 //<<--[1] irq/225-touch-279 [006] 53

[Linux][Kernel] ftrace - early logging at boot time

Guillermo Austin Kim|2017년 12월 13일

리눅스 커널 디버깅 기능의 핵심 ftrace에 대해서 여러 번 소개했는데요.한 가지 재미있는 패치를 소개하려고 해요. ftrace 로깅을 하기 위해서는 아래와 같은 방식으로 시스 노드에 있는 파라미터를 설정해야 해요."echo 0 > /d/tracing/events/enable""echo 1 > /d/tracing/events/sched/sched_switch/enable""echo 1 > /d/tracing/events/power/wakeup_source_activate/enable""echo 1 > /d/tracing/events/power/wakeup_source_deactivate/enable" "echo 1 > /d/tracing/events/irq/irq_handle

[Linux][Kernel] 슬랩 Slab Memory 디버깅(Debugging) - 1

Guillermo Austin Kim|2017년 12월 12일

슬랩 디버그 컨피그를 키면 어떤 일을 더 할까요? 정리해볼께요 콜트래이스 저장슬랩 메모리를 할당 및 해제할 때 콜트래이스를 저장해요. 이 콜트래이스는 struct track 변수에서 쓰이거든요. 우리가 알고 있는 슬랩의 종류는 30여 가지나 되죠. 이런 슬랩 메모리를 할당하고 해제할 때 콜스택을 모두 저장한다는 것은 시스템에 과부하를 주게 되요. 성능이 좋지 않은 CPU가 탑재된 타겟 디바이스에서 심하면 부팅도 제대로 못할 수도 있어요. 아래 Slab corruption으로 커널 패닉이 발생한 로그를 잠깐 봅시다. 아래 커널 로그는 lkdtm feature를 써서 WRITE_AFTER_FREE 버그를 강제로 유발시킨 건데요. 문제 발생 코드는 아래와 같아요.(CONFIG_LKDTM을 키고 커널 이미지를