보통 나는 linux 서버에 접속해서 일반 계정으로 sudo 명령어를 사용한다. 예를들면....
sudo systemctl start nginx
sudo systemctl start docker
근데 아까 jenkins 관련 글을 작성하면서 외부에서 명령어를 날릴때.
위 내용은 서버에서 직접 커맨드명령어를 작성을 하는데, 외부에서 커맨드 명령어를 실행 시키고 싶을 때도 있다.
게다가 sudo 명령어까지 해야될때...
왜그러냐면 sudo 명령어를 작성하게 되면 패스워드를 묻는다 이때문에 바로 명령어가 실행되지 않고 외부에서 명령어를 입력하게 되면 실행이 되지 않는다.
※ 물론 여러 블로그들을 보면서 sudoers 에서 일반계정을 ALL 머시기 막 하면 패스워드 입력 하지 않아도 된다. 라는 글 들이 많다. 대부분 같은 내용을 다루기 때문에 맞는 내용일 가능성이 높다. 근데 나는 안되므로... 다음과 같은 방법을 쓰려고 한다.
echo "{sudo 비밀번호}" | su - {계정} -c '{명령어 입력}'
위 처럼 작성하게되면 sudo 했을 때 작성해야 되는 비밀번호까지 입력이 되면서 커맨드 명령어가 실행 되는 것을 확인 할 수 있었다.
'기능메모' 카테고리의 다른 글
[laravel] api key로 보안 (1) | 2024.03.06 |
---|---|
CentOS7 프로세스 이름으로 죽이기 pkill (0) | 2023.12.14 |
CentOS7 내 port에 붙은 client 누군지 알아보기 (0) | 2023.12.14 |
윈도우 port 찾고/죽이기(kill) (0) | 2023.11.07 |