하면 된다!!!

root 유저로 ssh 접근 제어 해야할 때

프로그래밍/기타

ssh를 이용해서 외부 접근을 하는 경우에 root 유저로 붙을 수 있게 되면 아무래도 보안상 위험하겠지요.

원격으로 해킹 시도가 상당히 발생할 수 있습니다.


이에 따라서 root 유저는 통상적으로 ssh 접근을 못하도록 하고, 일반 유저로 접근해서 su 또는 sudo를 이용해서 접근하도록 제어합니다.


$ sudo vi /etc/ssh/sshd_config

PermitRootLogin yes    << yes : 접근, no : 접근 안됨


$ sudo systemctl restart sshd  << sshd 서비스 재기동 (centos의 경우)


접속을 시도해보시면... 로그인이 안되도록 변경됩니다.



CentOS - SVN 설치시 에러

프로그래밍/기타

CentOS에 svnserve를 설치하다가...


이 사이트 참고 했음 : http://b1ix.net/290


설명이 매우 잘 되어있어서 따라하면 땡...


다만 중간 부분에 나와있는 이 부분!!!


[root@localhost checkout1]# svn checkout svn://localhost/svn_repos svn: E000013: Unable to connect to a repository at URL 'svn://localhost/svn_repos' svn: E000013: file '/home/svn/svn_repos/format' 를 열 수 없습니다: 허가 거부


이에 대한 해결책이 필요했다.

위의 에러는 selinux가 보안상 막고 있어서 발생하는 것이 맞다.


이를 해결 하기 위해서는... repository 타깃이 되는 폴더명을 뒤에 써준다.


$ chcon -R -t svnserve_content_t /home/svn/svn_repos


이렇게 해주면 된다.

selinux를 그냥 disabled 시켜 버리면 보안에 구멍이~!!!


Linux 프로세스 관리 쉘

프로그래밍/기타

###################################


1. 특정 프로세스를 찾아서 죽이기


#!/bin/bash

ps -ef | grep -v grep | grep 프로세스명 | awk '{print $2}' | xargs --no-run-if-empty kill -9 $1



###################################


2. 특정 프로세스가 살아있는지 체크해서 죽어있으면 살리는 쉘


$ vi /var/test/run.sh


#!/bin/bash

PROCESS_CNT=`ps -ef | grep 프로세스명 | grep -v grep | awk '{print $2}' | wc -l`

if [ "$PROCESS_CNT" == 0 ];

then

    echo "[`/bin/date +\%Y\%m\%d_\%H\%M\%S`] Process : Dead!!"

    실행시킬_프로세스명

else

    echo "[`/bin/date +\%Y\%m\%d_\%H\%M\%S`] Process : Alive!!"

    exit 0

fi


위와 같은 쉘을 하나 만들어두고 crontab 에 1분에 한번씩 돌게 해주면 1분에 1회씩 프로세스가 살아있는지 체크하고 죽어있으면 실행 시키도록 할 수 있다.


$ crontab -e

* * * * * /var/test/run.sh >> /var/test/proc_mon.log


$ tail -f /var/test/proc_mon.log

1분에 1회씩 로그가 쌓이는 것을 확인할 수 있습니다.



SSH 접속 세션 시간 조정

프로그래밍/기타

SSH 접속이 자주 끊겨서 고생하는 경우들이 있는데... 그에 대한 해결책을 간단히 노트해둔다.

  1. SSH 클라이언트 접속 시간 조정
    • sudo vi /etc/ssh/ssh_config
    • # otehr configs 부분에 아래 내용을 주석 해제하고 숫자값을 정해준다.
      ServerAliveInterval 100

  2.  SSHD 서버에서의 접속 시간 조정
    • sudo vi /etc/ssh/sshd_config
    • 아래와 같이 주석 해제하고 값을 지정해주시면 됩니다.
      ClientAliveInterval 600
      TCPKeepAlive yes
      ClientAliveCountMax 10
    • SSHD 서버 재기동이 필요합니다.
      $ sudo service ssh restart


NginX 최적화를 위한 설정 외부 링크 공유

프로그래밍/기타

How to Configure nginx for Optimized Performance


https://www.linode.com/docs/web-servers/nginx/configure-nginx-for-optimized-performance


참고하세요~

NGINX - Module ngx_stream_geoip_module

프로그래밍/기타

NGinX 서버에 GeoIP 를 이용해서... 즉 사용자의 아이피를 체크해서 해당 아이피에 지역을 파악하고 해당 지역의 언어나 내용으로 서비스를 구성할 수 있도록 할 수 있는 모듈이 탑재되었군요.

1.11.3 (2016년 7월 26일 출시) 버전부터 지원한다고 합니다.


내용을 보면 MaxMind 데이터베이스를 선컴파일 해서 사용한다고 되어있고, 디폴트로 들어가지 않고 파라메터 설정에서 --with-stream_geoip_module 을 enabled 시켜야 한다고 합니다.


http://nginx.org/en/docs/stream/ngx_stream_geoip_module.html


원문 내용 보기


샘플설정보기


윈도우 파일 소유권 / 사용 권한 관리

프로그래밍/기타

얼떨결에 PC에 윈도우 10을 설치하고 나서...

맥북에서 카피한 파일들이 파일 권한 등이 꼬이는 경우들을 자주 겪고 있어서 알아보았습니다.


우선 윈도우상에서 간단하게 파일의 소유권과 사용권에 대한 관리를 할 방법이 없는지 검색을 하다가 다음과 같은 방법을 발견하여 공유합니다.


1. 윈도우의 명령 프롬프트 창 열기 - 관리자 권한으로 여셔야 합니다.
    명령 프롬프트 메뉴에서 우클릭 하셔야 우측에 메뉴가 뜹니다.




2. takeown 명령어를 이용하여 파일의 소유권 가져오기

명령 프롬프트에서 작업을 원하는 폴더로 이동하시구요... 이동하지 않고 풀 경로를 입력하셔도 무방합니다.

>> takeown /F "파일명 또는 적용할 경로" /R /D Y

/R : 리커시브 입니다. 해당 경로 하위의 모든 파일 이나 폴더에 함께 적용시켜줍니다.

/D Y : 적용시 적용할꺼냐고 묻는 프롬프트가 뜨게 되는데 이걸 자동으로 Y로 대답해줘서 따로 Y 를 누르지 않아도 일괄 반영해줍니다.


3. icacls 명령어를 이용하여 파일의 사용권한 가져오기

명령 프롬프트에서

>> icacls "파일명 또는 적용할 경로" /GRANT 유저명:F /T /Q

/GRANT : 권한

유저명 : 윈도우 유저명으로... Everyone 으로 하면 누구나로 지정됨

:F : 모든 권한

/T : 리커시브 입니다. 해당 경로 하위의 모든 파일 이나 폴더에 함께 적용시켜줍니다.

/Q : 성공 메시지를 화면에 표시하지 않도록 지정합니다.


이렇게 하면 끝~~~ 입니다.


파일이 권한이 없다는 둥하면서 나오는 메시지는 안뇽~


더 자세한 옵션을 알고 싶으시면... /? 옵션을 이용하시면 모든 옵션에 대해서 설명이 나옵니다.


>> takeown /?

>> icacls /?




[External Link] 25 Great Resources For App Developers

프로그래밍/기타

앱 개발자들을 위한 25가지 좋은 리소스들이라는... 일부는 동의~


25 Great Resources For App Developers

원문 : http://www.business2community.com/mobile-apps/25-great-resources-for-app-developers-01267620


Development & Prototyping

CodeRunner 

Parse 

UsabilityHub 

Corona Labs 

Fluid UI 

mParticle 

Iubenda 

MacRumors Forums 

XDA Forums 


Pre-Launch

Stripe 

Envato 

Product Hunt 

PressFriendly 

25 Creative Ways to Promote Your App For Free 

11 Pre and Post Launch Mobile App Marketing Pitfalls to Avoid 


Post-Launch

Decisive 

Decisive API 

Mixpanel 

appFigures 

Kochava 

Apsalar 

Heatmaps.io 

Appbot 

App Developer Alliance 

The Mobileys 


이클립스에서 대소문자 변경하기 위한 방법

프로그래밍/기타

Eclipse Text Case change key


이클립스에서 대소문자 변경하기 위한 방법


Lower case: CTRL+SHIFT+Y (CMD+SHIFT+Y on Mac OS X)
Upper case: CTRL+SHIFT+X (CMD+SHIFT+X on Mac OS X)

Mac - Win 키보드 마우스 공유 프로그램

프로그래밍/기타

사무실에서 맥과 윈도우 장비를 한대씩 사용하고 있습니다.

두대를 쓰다보니 왔다갔다 키보드 마우스를 사용하는게 여간 불편한게 아니었습니다.

시너지 라는 프로그램이 있기는 한데 잘 안되는 경우도 많고 셋팅이 어려워서 고생도 참 많이 하게 됩니다.

그리고 시너지가 일방적인 컨트롤만 가능합니다. 쌍방으로 컨트롤 되는건 없을까... 간단한 셋팅으로 되는 것은 없을까... 

그러던 중 검색해보니 재미난 어플이 있었네요.


간단하게 아래의 URL로 들어가셔서 OS에 맞춰서 각각의 장비에 설치를 합니다.

양쪽에 설치 후 한대에서 다른 장비의 클라이언트 아이피로 등록을 하면 됩니다. 

화면 이동을 하는 것은 간단하게 마우스를 화면 왼쪽이나 오른쪽 끝까지 이동해보세요. 그럼 자연스럽게 넘어갑니다.


맥, 윈도우 왔다갔다 하면서 원하는 키보드 마우스를 골라서 사용하면 됩니다.


http://www.keyboard-and-mouse-sharing.com/index.html