'Computing'에 해당되는 글 69건

  1. 2010.03.23 문자열 중에서 한글/한자/일어 찾는 정규식
  2. 2010.03.16 리눅스 ssh 접속 빠르게 하기..
  3. 2010.02.27 우분투에서 ssh 접속만 가능할때 원격데스크탑(vnc)도 가능하게 해보자.
  4. 2010.02.25 우분투에서 nologin 적용 문제....

문자열 중에서 한글/한자/일어 찾는 정규식

|

아래는 http://kais.tistory.com 블로그에서 퍼온 내용입니다. 더 많은 내용은 http://kais.tistory.com 을 방문하세요.

정규식으로 이런 문자열을 체크하기 위해서는 유니코드 UTF-8로 인코딩 되어야 합니다.
인코딩 되어있지 않다면 iconv 를 통해 UTF-8로 변경하면 됩니다.
 
예제를 위해 한글/한자/일어를 검색을 통해 랜덤으로 뽑아왔습니다. ;;
이 예제에서는 영어나 특수문자를 제외한, '한글', '한자', '일어' 만 추출하는 것을 보여줍니다.

한자는 한국, 중국, 일본 공통으로 사용하는 것을 모은 것이라 일본에서 사용하는 한자를 검출할때는 '한자'와 '일어'를 같이 사용하면 됩니다.
유니코드는 한,중,일 한자를 통합해서 정의해서 따로 구분하려면 유니코드 목록을 참고하셔서 직접 구분하셔야 합니다. -_-;

한가지 주의할 점은 유니코드 문자열을 체크할 경우 u 옵션을 반드시 줘야 합니다.

//  예제 문자열
$content "test content☆漢字〓韓國外交部對外稱, 應美方要求,韓國貿易部長金宗塤和美國貿易代表施瓦布本週一下午還舉行了一個「非正式磋商」。end◆ 日語〓慰謝料としてフルハウス(Full House)をあげるというィヨンジェの言葉に,ジウンは寝ても寝る事ができないで悩む。end◆ 한글〓해쉬(Hash)값 필터링 시스템(Filtering system)은 디지털 파일에 고유의 키 값을 매겨서 등록, 관리하는 것으로 저작권 침해 신고가 접수됐을 경우 이 키 값을 기준으로 검색, 침해 여부를 판단할 수 있는 방식이다. end★";
echo '<pre>';// PRE
  
//  한글
preg_match_all('!['
    .'\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'
    .']+!u'$content$match);
print_r($match);
  
//  한자
preg_match_all('!['
    .'\x{2E80}-\x{2EFF}'// 한,중,일 부수 보충
    .'\x{31C0}-\x{31EF}\x{3200}-\x{32FF}'
    .'\x{3400}-\x{4DBF}\x{4E00}-\x{9FBF}\x{F900}-\x{FAFF}'
    .'\x{20000}-\x{2A6DF}\x{2F800}-\x{2FA1F}'// 한,중,일 호환한자
    .']+!u'$content$match);
print_r($match);
  
//  일어
preg_match_all('!['
    .'\x{3040}-\x{309F}'// 히라가나
    .'\x{30A0}-\x{30FF}'// 가타카나
    .'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
    .']+!u'$content$match);
print_r($match);
echo '</pre>';

And

리눅스 ssh 접속 빠르게 하기..

|
리눅스를 테스크탑으로 사용하면서 조금 신경쓰이던것중 하나가 외부로 ssh 접속을 할때 느리다는것이다.

아래와 같이 하면 간단히 빠른 접속을 할 수 있다.

/etc/ssh/ssh_config 를 에디터로 연다음   (주의: sshd_config 가 아니다. sshd_config 는 ssh 서비스 데몬의 환경화일이다.)

GSSAPIAuthentication yes 라고 되어 있는것을 no 라고 변경하면된다.


반대로 밖에서 자신의 리눅스 테스크탑으로 접속하는 속도를 빠르게 하고 싶을때는, 즉 sshd 서버에서 외부접속을 빠르게 받고 싶을때에는
/etc/ssh/sshd_config 를 에디터로 연다음 (주의: ssh_config 가 아니다.)

UseDNS no 를 설정해 준다. 없으면 추가하고, 있으면 no로 변경한다.
- 이상 -


And

우분투에서 ssh 접속만 가능할때 원격데스크탑(vnc)도 가능하게 해보자.

|
우분투를 켜놓고 다른곳에서 원격테스크탑(vnc)접속하려고 하니.. 포트가 막혔있다. 난감하다.
그놈(Gnome)의 기본 vnc는 vino-server 다. (KDE는 안써봐서 모르겠다.) vino-server 의 기본포트는 5900 이다.
게다가 판단실수로 재부팅까지 해버렸다. 자동 로그인을 안해놔서 vino-server 까지 동작하지 않는다. 더욱 난감해졌다.
tightvnc 같은것을 설치할까 하다가... 생각해보니... 내 데스탑환경이 필요하다.

나와 같은 경우라면 다음과 같이 하자. 주의 할 점은 원격데스크탑으로 접속하고자 하는 사용자로 ssh 로그인한 상태에서 아래의 내용을 실행한다.

1. vino-server가 동작하게 하기 위해 자동로그인을 가능하게 한다.
   자동로그인을 수정하기 위해서는 /etc/gdm/custom.conf 를 수정한다.
   $ sudo vi /etc/gdm/custom.conf
   내용중 아래 두 부분을 수정한다.
 
   AutomaticLoginEnable=true
   AutomaticLogin=자동로그인할 사용자 ID

   재부팅하면 해당 사용자로 로그인이 되어있는 상태가 되고, vino-server도 동작한다.

2. vino-server의 세팅 즉, 그놈 원격데스크탑이 가능하도록 한다.
    포트도 열려있고, 이미 X상에서 원격데스크탑 설정을 지정해놓은 상태라면 이 부분은 필요없는 부분이다. 바로 vnc client로 접속하자.

    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true   //원격접속을 가능하게 한다.
    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false   //데스크탑에서 승인받지 않아도 접속되도록한다.

    이제 얼른 vnc로 접속해서 그놈데스크탑에서 비밀번호를 등록해야 접속이 가능하도록 변경하자.
    궂이 ssh 콘솔상에서 비밀번호를 등록하고자 하면 아래와 같이 한다.

    $ gconftool-2 --type list --list-type string --set /desktop/gnome/remote_access/authentication_methods '[vnc]'  //비밀번호로 접속한다.
    $ PW=`echo '비밀번호' | base64`  //비밀번호를 base64 로 인코딩해 PW 변수에 임시 저장한다.
    $ gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password $PW  //비밀번호를 등록한다.

    만약 5900 포트가 막혀서 바꿔야 한다면, 아래와 같이 한다. 

    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/use_alternative_port true  //포트변경을 허용한다.
    $ gconftool-2 -s -t int /desktop/gnome/remote_access/alternative_port 8080  //새로운 포트를 지정한다. 8080이 새로운 포트번호다.

    혹시, 원격 마우스/키보드 조작을 막아놨다면 아래와 같이 한다.

    $ gconftool-2 -s -t bool /desktop/gnome/remote_access/view_only false

3. vnc client로 서버로 접속할 일만 남았다. 포트를 변경했을경우 주소뒤에 :포트번호 적는것 잊지말자.
    필요하다면 재부팅을 하도록 하자.

4. 혹시나 또다른 설정사항이 필요하다면 /usr/share/gconf/schemas/vino-server.schemas 파일을 참고한다.
   이 파일은 내용만 참고하고 수정하지는 말자.

  그리고 VNC 접속은 엄청나게 느리다. 더더군다나 데스크탑 효과를 많이 줘놨다면 아무런 반응을 하지 않는것 처럼 보인다.
  그래도 분명 동작하고 있으니 마우스조작을 함부로 하다간 낭패를 본다. 조심하자. vnc를 쓸생각이라면 효과를 안주는게 최선이다.

- 이상 -

And

우분투에서 nologin 적용 문제....

|
다른(?) 리눅스... 예를 들어 페도라, CentOS 등에서는 사용자에게 FTP등의 접속권한만 주고
ssh접속등 쉘의 권한은 주고 싶지 않을때 사용자의 쉘을 /sbin/nologin 으로 고쳐주기만 하면 되었다.
우분투도 마찬가지지만 기본으로 등록되어 있지 않기에 다음과 같은 수정을 필요로 한다.

1. 우분투는 nologin 의 경로가 /usr/sbin/nologin 이다. 사용자 생성시 혹은 쉘 변경시 주의한다.
   (페도라 CentOS 등에서는 /sbin/nologin 이다)

2. /etc/shells 에 /usr/sbin/nologin을 추가해 주어야한다.
   /etc/shells 파일을 열어보면, 사용자의 쉘로 등록해줄수 있는 목록이 들어 있다.
   마지막에 /usr/sbin/nologin 을 추가해 주면된다.
  (페도라 CentOS 등에서는 기본으로 등록되어 있음으로 추가해 줄 필요가 없다.)

- 이상 -
And
prev | 1 | ··· | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ··· | 18 | next