[Linux] fork, exec 함수의 차이점을 알아보자
리눅스에는 execl, execlp, execle, execv, execvp, execvpe 처럼 exec 계열의 함수가 있다. 인자 전달하는거 따라서 이름이 조금씩 변한다. https://man7.org/linux/man-pages/man3/exec.3.html 자세한건 찾아보도록하자 현재 프로세스 이미지를 인자로 준 바이너리 이미지로 대체한다. 포너블 문제를 풀 때, gdb 를 붙여서 디버깅 하는데, system("/bin/sh") 이런걸 실행했을 때, gdb 에서 더이상 디버깅이 안되는 경우가 있는데, system 함수 내부에서 execve 를 실행하므로 현재프로세스가 /bin/sh 로 대체되기 때문이다. fork 함수는 이와 다르게, 새 프로세스를 복제해서 생성한다. 분리된 메모리공간을 새로 할당..
2021. 10. 3.
[Linux] ssh 키 생성, 서버에 등록, 명령어 단축어 (alias) 설정
클라우드 서버를 생성하고, 내 컴퓨터에서 간편하게 짧은 명령어로 비밀번호 없이 접속하는 방법을 소개하겠습니다. ssh 키 생성, 등록 ssh-keygen -t rsa -b 4096 로컬에서 이렇게 명령어 입력하시고, 위치 바꿀 필요 없이 엔터 3번 눌러주시면, 공개키, 비밀키가 생성됩니다. 기본적으로 홈디렉터리에 숨긴폴더인 .ssh 에 id_rsa (비밀키), id_rsa.pub (공개키) 가 생성이 됩니다. 공개키를 cat 등으로 출력한 다음, 복사해두고 클라우드서버에 접속합시다. cd ~ ls -al 없다면 mkdir ~/.ssh, chmod ~/.ssh 700 touch ~/.ssh/authorized_keys chmod 644 ~/.ssh/authorized_keys 접속한 계정의 홈 디렉토리로 ..
2021. 7. 13.