반응형

C & Docker & LINUX 60

리눅스 시스템 보안 - 패스워드

리눅스 시스템 보안 출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1) 패스워드 - /etc/passwd 파일은 리눅스 시스템에 등록된 사용자 정보가 담겨있다. - 과거에는 사용자의 패스워드를 /etc/passwd 파일의 두 번째 필드에 저장하였다. - 하지만 최근에는 /etc/shadow파일에 암호화된 패스워드만 저장하고 있다. /etc/passwd 파일의 필드 [사용자 계정] : [패스워드(X표시 - /etc/shadow저장)] : [uid] : [gid] : [comment] : [홈디렉터리] : [로그인 쉘] 1. 사용자 계정 : 시스템에 대한 총괄 권한을 가지고 있어 보안상의 문제로 원격접속을 제한한다 2. 패스워드 : X /etc/shadow에 저장된다는 뜻 3. uid : 사용자 id..

C & Docker & LINUX 2017.10.28

리눅스 사용자, 파일 시스템 관리

리눅스 사용자, 파일 시스템 관리 출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1) 사용자 계정 추가(useradd) 1. 유닉스 시스템에 새로운 사용자 계정을 추가하기 위해서는 다음 과정을 거친다. - 사용자 계정정보를 저장하는 /etc/passwd와 암호화된 비밀번호를 저장한 /etc/shadow에 사용자 정보 추가 - 그룹 정보 /etc/group에 추가 - 새 사용자를 위한 홈 디렉터리를 생성하고 접근 권한을 부여한다. - 사용자 로그인 시 필요한 몇 가지 시작 파일을 홈 디렉터리에 생성한다. ex) useradd [옵션] 생성이름 - useradd test1 (root 계정일때만 생성가능) ** passwd 사용자계정 - 패스워드 변경시 2) 사용자 게정 삭제(userdel) 1. 사용..

C & Docker & LINUX 2017.10.25

리눅스 시스템 관리 명령어

리눅스 시스템 관리 명령어출처 : 알기사 정보보안기사/산업기사 실기 대비 1권 1) 부팅 관련 용어 - 런 레벨 1. 시스템의 운영 상태를 숫자 혹은 문자로 표현한 것이다 2. init 프로세스는 /etc/inittab 파일에 정의된 런 레벨에 따라 시스템 운영 상태를 구성한다. 3. 0 - PROM 모드, s- 시스템 싱글 유저 모드, 1- 로컬 파일 시스템 마운트 상태, 5- 시스템 power off 6 - 시스템 리부팅 4. 서버용 unix 시스템은 일반적으로 3 또는 5의 런 레벨로 운영된다. (who -r (unix) , runlevel (linux) - 운영 중인 시스템의 런레벨을 알고 싶을 때) - INIT 상태 1. INIT 상태는 런 레벨과 같은 의미, 런 레벨을 이동할 때, init 명..

C & Docker & LINUX 2017.10.25

칼리리눅스(kali linux) - static 네트워크 설정

칼리리눅스(kali linux) - static 네트워크 설정 virtualbox를 통해서 칼리리눅스를 설치하였습니다. 처음 칼리리눅스를 설정했을 때 바로 네트워크가 되지 않을 때 네트워크 설정을 확인해볼 수 있습니다. * 처음 네트워크 설정은 브리지 네트워크 입니다. (host OS와 guest OS가 동등한 네트워크를 사용합니다.) * 그래서 c클래스가 host OS와 같습니다. 처음 ifconfig로 설정을 확인해봤을 때 localhost 주소인 127.0.0.1만 뜨고 인터넷 연결이 안됩니다. vi /etc/network/interfaces를 입력하여 다음 창으로 접속해 아래와 같이 작성합니다.(이때 설정하고자 하는 ip주소와 서브넷마스크, 게이트웨이를 입력합니다.) dns-nameservers의..

C & Docker & LINUX 2017.09.23

리눅스 커널) 모듈 프로그래밍(읽기 쓰기가 가능한 Character Device 모듈 구현)

읽기 쓰기가 가능한 Character Device 모듈 구현 내용 : 리눅스 커널 2.6.36 버전에서 간단한 character device와 그 device driver를 만드는 커널 모듈을 제작한다. 1. 루트 권한을 획득한다. 2. 홈 디렉터리 밑에 module 이라는 디렉터리를 생성하고 그 디렉토리로 이동한다. 3. #yum install -y module-init-tools를 수행한다. 4. #cp minibuf.c minibuf2.c를 수행한다. 5. vi minibuf2.c를 수행하여 기존 코드의 device_write() 함수 내부를 아래와 같이 작성한다. #define DEV_MAJOR 254 #define DEV_MINOR 6 ssize_t device_write(struct file ..

C & Docker & LINUX 2017.05.10

리눅스 커널) 모듈 프로그래밍(간단한 Char Device 모듈 구현)

간단한 Char Device 모듈 구현 - 커널 모듈 프로그래밍** 리눅스 커널 2.6.36 버전에서 간단한 character device와 그 device driver를 만드는 커널 모듈을 제작한다. 1. 루트 권한을 획득한다. 2. 홈 디렉터리 밑에 module 이라는 디렉토리를 생성하고 그 디렉토리로 이동한다. 3. #yum install -y module-init-tools를 수행한다. 4. #vi minibuf.c를 수행하여 아래와 같이 코딩한다. #include #include #include #include #include #include #include #define DEVICE_NAME "Minibuf" #define BUFFER_LEN 1024 #define DEV_MAJOR 254 #..

C & Docker & LINUX 2017.05.01

리눅스 커널 컴파일

리눅스 커널 컴파일 전체적인 순서 (Centos 기준)1. 루트 권한 획득 후 커널 버전 확인 및 필요 패키지 설치2. 커널 소스코드 다운로드3. 기존 커널 옵션 초기화4. 커널 옵션 설정5. 새 커널 컴파일 및 설치6. 재부팅 1. 루트 권한 획득 후 현재 커널 버전 확인 및 필요 패키지 설치#su root -> 패스워드 입력 이후 루트 권한 획득 #uname -r 현재 커널의 버전 확인 #yum install -y gcc* ncurses-devel 커널 컴파일을 위한 패키지 설치 2. 커널 소스코드 다운로드- http://www.kernel.org/pub/linux #mv ./Desktop/linux-2.6.36.tar.gz /usr/src 다운로드 받은 커널을 /usr/src로 이동#cd /usr/..

C & Docker & LINUX 2017.04.25

c언어 - stdout, stderr의 차이점

c언어 stdout, stderr의 차이점****리눅스 Centos6에서 실행한 c언어 코딩이므로 다를 수 있습니다**** stdout - 표준 출력 stderr - 표준 에러 둘 다 콘솔화면에 출력하기 때문에 출력부분에서는 큰 차이가 없습니다. 하지만 표준 출력과 표준에러에서 가장 큰 차이점은 버퍼링입니다. 표준 출력(stdout)은 줄 단위의 버퍼링을 하지만 표준 오류(stderr)는 버퍼링 없이 바로 출력됩니다. 즉, 표준출력은 한 줄을 완성해야하고 표준 오류의 경우 한 줄이 완성되지 않아도 출력이 가능합니다. 예를 들면 charstr1과 charstr2로 구성된 c파일에서 순서대로 출력이 됩니다. 주의 깊게 봐야할 부분은 printf문입니다. printf문의 경우 변환명세 부분의 \n(개행문자)이..

C & Docker & LINUX 2016.10.11

리눅스 C언어 (파일 목록 읽어내기)

리눅스 C언어 (파일 목록 읽어내기) 리눅스 디렉터리 구조체 struct dirent 헤더 파일 dirent.h에는 디렉터리의 구조를 구조체 dirent로 정의하고 있다. struct dirent { long d_ino; //I-노드 번호 off_t d_off; //offset unsigned short d_reclen; //파일 이름 길이 char d_name[NAME_MAX+1]; //파일 이름 } 디렉터리 파일을 읽어 내려면 단순히 파일을 열어 저장된 구조체를 하나씩 읽으면 된다. 삭제된 파일의 i-노드 번호가 0이 된다. opendir 함수는 변수 dirname에 지정된 디렉토리 스트림을 열어 처음을 가리킨다. 함수 #include DIR *opendir(const char *dirname); 반..

C & Docker & LINUX 2016.10.08

리눅스 쉘 스크립트 예제(alias, csh, 구구단, 피보나치수열)

리눅스(Centos 6 * 7) - 쉘 스크립트 예제(alias, csh, 구구단, 피보나치수열) 예제 1번 새로운 파일 삭제 명령 del명령을 alias을 이용하여 만들어 보시오. (단. del명령은 실제로 파일을 삭제하지 않고 특정 디렉터리(휴지통)으로 옮긴다.) 답: rm 명령을 통해서 삭제를 하면 휴지통을 거치지 않고 바로 완전삭제가 됩니다. del명령은 mv명령을 통해서 휴지통으로 옮기는 명령으로 만들 수 있습니다. 리눅스에서 휴지통의 경로는 cd 홈/계정/.local/share/Trash/files입니다. mv의 옵션으로 -t가 있습니다. 옵션의 기능은 전체 원본 파일을 대상 디렉터리로 이동시킵니다. 예제 2번 csh를 사용할 때에도 프롬프트에 호스트의 이름이 나올 수 있도록 만들어 보시오. ..

C & Docker & LINUX 2016.10.07
반응형