• Sticky bit 란 무엇인가? (Unix 와 Linux 운영체제)

    유닉스와 리눅스에서 파일 퍼미션에 대한 공부를 하다보면 나오는 특수한 파일 퍼미션이 두개가 있다. 하나는 앞의 find 명령어에 대한 고찰(http://blogger.pe.kr/338)에서 조금 살펴본 setuid/setgid 이고 다른 하나는 이번 포스트에서 설명할 sticky bit다. sticky bit 란? 유닉스 운영체제는 기본적으로 파일의 소유자가 아니면 해당 디렉토리 내의 파일을 지우거나 수정하지 못하도록 기본적인 umask를 설정한다. 하지만 딱~두군데 모든 사용자 계정이 파일을 만들고 수정, 삭제할 수 있는 디렉토리 …

  • 쉘스크립트에서 이따금씩 사용되는 “2>&1” 이해하기

    이런저런 쉘스크립트를 보다면 스크립트의 문장 끝부분이 다음과 같은 구문을 종종 보게 된다. cat /tmp/error.txt  > /dev/null 2>&1   cat 명령은 error.txt 파일의 내용을 출력하는 명령이고... > 는 리다이렉션으로 화면에 출력되는 내용을 > 다음에 지정한 파일로 보내는 것이니 /dev/null 로 결과를 보내고, 즉 화면에는 표시하지 않고...까지는 유닉스 환경을 다루어본 학생이나 엔지니어라면 쉽게 이해한다. 문제는 2>&1 이다. 흔 …

  • 리눅스에서 SecureCRT를 사용할 때 한글깨짐 문제 해결

    이전 포스트에서 구입한 NAS인 My Book Live를 들여다 보면서 발견한 문제 중 하나가 내가 즐겨 사용하는 SecureCRT에서 한글이 깨지는 것이었다. LANG 환경변수..Locale...터미널 등등.. 평소 알고 있던 상식(?)을 동원해 봐도 한글깨짐 문제는 해결이 되지 않고 아래 화면처럼 보인다. 리눅스에서 한글 깨지는 증상 이 문제를 해결하기 위해서는 일단 Debian 리눅스의 locale을 아래와 같이 맞춰주어야 한다. 최근엔 대부분 UTF-8 캐릭터셋(로케일)을 사용하므로 EUC-KR 보다는 UTF-8로 설정한다 …

  • 안드로이드 개발자 옵션 보이기와 감추기 (안드로이드 4.3 이상)

    넥서스7 1세대와 2세대 그리고 넥서스 5에서부터 새롭게 지원되기 시작한 ART(Android RunTime)을 사용하기 위해서는 안드로이드의 개발자 환경 옵션에 들어가 ART와 Dalvik 중 하나의 런타임환경을 선택해주어야 한다. 물론... 아직 안정화 되었다고 단정하긴 이르다. 일부 앱에서 오류가 발생한다는 소식이 들리기도 하고 처음 나온 솔루션이 항상 그렇듯 일정기간 동안은 실 환경에서의 테스트와 버그 수정이 필요하기 때문이다. 그런데.. 안드로이드 4.2 (또는 4.3 ??) 부터는 그 이전의 안드로이드 설정에서 보이던 " …

  • 안드로이드 속도가 아이폰보다 느릴 수 밖에 없는 이유와 구글의 숙제

    아이폰과 안드로이드의 속도 경쟁은 결국 32bit와 64bit 운영체제의 논쟁으로까지 번지는 형국이다. 하지만 그 싸움에서 안드로이드 진영은 애플을 이길 수 없다. 그 이유는 안드로이드의 앱 구동 체계의 구조적 문제 때문이다. 안드로이드는 리눅스 운영체제의 일종이면서도 사용자가 사용하는 앱은 모두 Java 언어로 개발된다. Java로 개발된 앱의 소스파일은 바이트 코드로 컴파일되기 때문에 운영체제가 직접 실행하는 것이 불가능하다. 왜냐하면 Java에서 컴파일된 바이트코드는 java Run-time 이라고 하는 실행환경(가상의 운영체 …

  • 메모리 부하 테스트 프로그램 작성하기 (C언어, malloc()) – 가상메모리의 마술

    또 간만에 C 코딩할 일이 생겼다. 어쩌다 한번씩 코딩을 하다보니 실력이 늘지를 않는건 당연한 일이고 뭐하나 짜려면 시간이 꽤나 걸린다. 하지만 어쩌다 한번 코딩을 하니 재미가 있는건 사실이다. 메모리 할당과 릴리즈 반복 프로그램 이번에 짤 프로그램은 서버의 메모리를 고갈시키는 프로그램이다. 메모리를 할당받았다가 릴리즈하는 작업을 반복하는 프로그램이다. 예를 들어 10개의 프로세스가 각 10 M Byte의 메모리를 100번씩 할당받았다 해제하는 것이다. 즉 10 M Byte * 10 * 100 = 1 Tera Byte 를 할당받았다 …

  • FTP 프토로콜의 Active Mode와 Passive 모드

    얼마 전 민간 자격증이었던 SIS가 국가 공인자격증인 정보보안기사로 편입된 이후 실시된 첫 정보보안기사 필기시험을 치렀다. 시험 준비를 하면서 평소의 내 좌우명(?)을 지키기 위해 좋은 남편, 좋은 아빠, 좋은 회사원을 추구하면서 개인적으로 시험공부까지 하려니 하루를 32시간으로 늘리거나 잠안자고도 멀쩡할 수 있는 초능력을 갖고 싶은 마음이 굴뚝 같았다. (물론 이 세가지를 모두 만족할 만큼 잘하고 있지는 못하다.. -.-) 정보보안기사 시험에 출제된 FTP 관련 문제 처음으로 시행되는 정보보안기사 시험답게 매우 기본적이지만 정확 …

  • Windows 7에서 노트북의 인터넷 공유하기 (ad-hoc 설정)

    연관포스트 ) 노트북에 추가적인 USB타입 인터넷 인터넷 공유기 사용하기 오래전에 Windows XP 운영체제에서 유선을 통해 인터넷에 연결된 노트북의 무선랜카드를 adhoc 모드로 바꾸어 다른 무선랜카드가 장착된 노트북을 인터넷에 연결하는 인터넷 공유 설정에 대한 포스트를 올린적이 있다. (http://blogger.pe.kr/82) 그 이후 오랜 시간이 흘러 내가 사용하는 노트북에는 Windows 7 운영체제가 설치되어 있다. Windows 7의 경우 유선인터넷을 공유하고 무선랜카드를 ad-hoc 모드로 변경하는 작업이 훨씬 …

  • Solaris10에서 컴파일러 설치하기 및 CD롬 마운트하기

    Solaris 10 x86 을 설치 할 때 몇가지 옵션이 있다. 그 옵션에 따라 1G 남짓의 VMWare 이미지를 만들 수도 있고 7G 이상의 큰 용량의 VMWare 이미지를 만들 수도 있다. 여러 사람에게 배포하는 교육용 VMWare 이미지는 작을 수록 배포가 쉽고 관리도 쉽기 때문에 좋긴 하지만 여러 S/W들.. 예를 들면 Apache라든가 MySQL 이라든가... 컴파일러를 Solaris 10 설치 옵션에서 일일이 골라서 설치하기는 쉽지 않다. 서버보안 교육용 Solaris 10 x86 이미지를 만들 때 확인한 바로는 1G 정 …

  • [램디스크] 8G 램 활용방법

    PC나 노트북의 하드웨어 가격이 낮아지면서 컴퓨터에 대한 지식을 조금이라도 갖고 있는 사람이라면 무작성 고성능의 CPU와 비디오카드, 대용량의 메모리(램)를 선호하곤 한다. 하지만 정작 고사양의 CPU와 RAM을 제대로 활용하는 사람은 드물다. 디아블로나 스타크래프트 등의 고성능의 VGA를 필요로하는 게임을 하는 것이 그나마 투자대비 잘~(?) 활용하는 경우겠지만 웹서핑이나 동영상 및 음악감상, 그리고 문서작성 정도를 하는 경우라면 사실 4G byte의 램도 충분하다 못해 남아돈다고 할 수 있다. 하지만 그렇게 남아도는 CPU의 성 …