파일 위치: /etc/ssh/sshd_config Port 22 - ssh가 사용할 기본 포트 지정 Allowusers user1 root - 로그인 허락할 계정을 기록한다. - user1과 root 두 계정에게만 로그인 허용 Protocol 2 - openssh는 프로토콜 버전을 원하는 대로 선택할 수 있다. protocol 2로 설정에는서버는 버전 2로만 작동하기 때문에 ssh1을 사용해 접속을 요청하는 클라이언트를 받아 들일 수 없다. - protocol 1로 설정해서 가동시킬 경우에는 버전 2를 사용하는 ssh2 사용자의 요청을 받아 들일 수 없다. 보안상 protocol 1 은 사용하지 않는다. ListenAddress 0.0.0.0 - sshd 데몬이 통신가능한 주소이다. 0.0.0...
ns3*, test.py*처럼 *이 붙은 파일이 있다. -F After each file name, put one of: + A slash (/) if the file is a directory or a symbolic link to a directory. + An asterisk (*) if the file is executable; + An at-sign (@) if the file is a symbolic link to a file; + A vertical bar (|) if the file is a fifo. *은 실행 가능한 파일이라는 뜻이다.
passwd root
apt-get install sudo
cat /etc/issue
User-level Thread 만들기 리눅스에는 thread의 개념이 없어서, 프로세서처럼 취급하고 만든다. pthread란 POSIX Thread의 약자로 유닉스계열 POSIX시스템에서 병렬적으로 작동하는 소프트웨어를 작성하기 위하여 제공하는 API입니다. pthread_create pthread_create(pthread_t *thread, const pthread_attr_t * attr, void*(*start_routine)(void*), void *arg) pthread_join: 전달된 thread가 끝나기를 기다린다 pthread_join(pthread_thread, void**retval) * gcc 컴파일시 다음과 같이 -pthread옵션을 넣어줘야 한다 gcc -o test test..
동기화의 필요 이유 Forks and Joins : fork point에 일이 도착하면, n개의 sub-job으로 쪼개져서 n개의 task로 수행된다. n개의 task가 모두 수행될때까지 기다렸다가 끝난다. Producer-Consumer: producer가 정보를 만들어서 전달해주기 전까지 consumer은 기다려야 한다 Exclusive use resources: 여러개의 process가 resource에 의존적일 때, 모두 같은 시간에 접근해야 한다. -> 동시성 감소? 1. Lock Lock을 해서 특정 코드 영역에 대한 상호 배타성을 보존하는 방식이다. lock문제를 해결하기 위한 방법으로는 크게 3가지가 있다. 1. 소프트웨어적인 방법 ex) 피터슨 알고리즘 2. atomic instructi..
https://miiingo.tistory.com/221
1. sudo apt-get build-dep linux linux-image-$(uname -r) 2. sudo apt-get install libncurses-dev flex bison openssl libssl-dev dkms libelf-dev libudev-dev libpci-dev libiberty-dev autoconf config 파일 만들기 kernel code가 있는 폴더에서 make menuconfig 하고 local version-append to kernel release에서 이름을 설정해주었다. 그리고 make 만 실행해주면 된다. 이 부분이 꽤 오래걸린다! [참고] https://seonshine-bibi.tistory.com/8
shell이란?(조개 아님) Bash란? 별도의 컴파일 필요 X 첫 줄 #!/bin/bash ? 필수이다!! 타입 Unix 및 Linux OS에서 제공하는 Shell은 기본적으로 변수에 대한 Type을 정의하지 않는다. 이런 변수할당 유형을 약타입(Weakly Typed) 이라고 표현한다. 반면에 C언어나 Go Lang 등은 변수의 선언시 Type을 미리 정의해 줘야하는 강타입(Strong Typed) 언어이다. 무튼간에, Shell 과 같은 약타입 언어들은 변수의 타입을 미리정의 할 필요없이 사용자가 필요에 따라 유연하게 정의해서 사용할 수 있는 장점이 있는 반면, 변수에 대입 될 실 데이터에 대한 타입 문제로 인해 의도치 않은 Script 오류를 겪게되는 단점도 있다. 때문에 Shell Script ..
https://hack-cracker.tistory.com/95
대부분 블로그 글들은 VMWare에서 Virtual Network Editor 을 사용해서 설정하는데, macOS용 VMWare Fusion은 Virtual Network Editor 기능을 지원하지 않는다!!! 따라서 다음과 같은 방식으로 해야한다. VMWare Fusion켜고, Preference(Command + ,) > Network > 자물쇠 클릭 후 암호 입력 > 플러스 눌러서 vmnet3을 추가해주고, 맨 위 체크박스 Allow virtual machines (using NAT) 체크 하단 서브넷 IP에 사용할 IP 대역 입력 후 Apply (나는 잘 몰라서 비워놨더니 Auto-Generated 됐다) NAT로 설정할 시스템에 우클릭 -> Settings..를 클릭하고 Network Adap..
1. ctags [기능] 코드에다가 태그 하기 태그해둔 함수, 변수 정의로 이동하기 [사용] ctags -R [설치] sudo apt install ctags 2. cscope 콘솔 모드에서 잘 동작하는 프로그래밍 툴이다! (콘솔용 IDE정도로 생각하면 편할듯?) 굉장히 큰 프로젝트에서 코드나, 함수, 정의 등을 검색하기에 편하다. [사용] 1. cscope 파일 생성 ctags와 마찬가지로 분석할 소스의 최상위 디렉토리로 이동한 후 다음의 명령어를 입력합니다. $ find ./ -name '*.[cCsShH]' > file_list $ cscope -i file_list (완료 후 Ctrl+D로 빠져나가시면 됩니다.) 2. cscope 사용 ctags와 마찬가지로 cscope.out 파일이 생성되어 있..