2016년 3월 1일 화요일

[EtC] mac os x terminal color


bash_profile 에 아래의 내용을 추가 



freecatz-MacBook-Pro:~ freecatz$ vi ~/.bash_profile
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced


freecatz-MacBook-Pro:~ freecatz$ source ~/.bash_profile



참고 : http://osxdaily.com/2012/02/21/add-color-to-the-terminal-in-mac-os-x/

2016년 2월 26일 금요일

[EtC] 간만에 보는 좀비 프로세스

[root@localhost usr]# ps -ef | grep -i httpd
root      5681     1  0  2015 ?        00:02:31 /usr/bin/httpd
nobody   26720     1  0  2015 ?        00:00:00 /usr/local/apache/bin/httpd -DSSL
nobody   29354     1  0  2015 ?        00:00:00 /usr/local/apache/bin/httpd -DSSL
nobody   29363     1  0  2015 ?        00:00:00 /usr/local/apache/bin/httpd -DSSL
nobody   32225     1  0  2015 ?        00:00:00 /usr/local/apache/bin/httpd -DSSL
root      5198     1  0 Feb24 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22321  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22322  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22323  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22324  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22325  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22331  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22334  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22335  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22339  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22340  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22341  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22342  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22350  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22351  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22352  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22353  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22354  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22355  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22358  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22359  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22370  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22371  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22372  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22373  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22375  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22376  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22379  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22380  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22382  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22386  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22388  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22392  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22393  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22394  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22395  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22399  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22406  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22407  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22408  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22427  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22428  5198  0 06:54 ?        00:00:00 [httpd] <defunct>
nobody   22429  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22430  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22431  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22432  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22433  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22434  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22435  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22437  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22438  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22439  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
nobody   22440  5198  0 06:54 ?        00:00:00 /usr/local/apache2/bin/httpd -k start
root     22442 22252  0 06:54 pts/0    00:00:00 grep -i httpd
[root@localhost usr]#


이번의 경우는 디스크가 가득 차서 발생한 문제로 사용하지 않는 로그나 파일들을 삭제 하여 해결 됨.

2016년 2월 19일 금요일

[LiNuX] sftp 로그를 남기자


root@localhost:~# vi /etc/ssh/sshd_config

Subsystem sftp /usr/lib/openssh/sftp-server -f local2 -l INFO

위의 내용이 없다면, 적당한 위치에 추가 하고 저장 하고 나온다.

root@localhost:~# vi /etc/rsyslog.conf
# sftp log
local2.*                        /var/log/sftp/sftp.log

적당한 위치에 위의 내용을 넣고 저장 하고 나온다.

root@localhost:~# /etc/init.d/rsyslog restart
[ ok ] Restarting rsyslog (via systemctl): rsyslog.service.
root@localhost:~# /etc/init.d/ssh restart
[ ok ] Restarting ssh (via systemctl): ssh.service.
root@localhost:~# tail -f /var/log/sftp/sftp.log
Feb 19 17:13:36 sftp-server[55648]: opendir "/home/freecatz"
Feb 19 17:13:36 sftp-server[55648]: closedir "/home/freecatz"
Feb 19 17:13:36 sftp-server[55648]: open "/home/freecatz/TEST.xml" flags READ mode 0666
Feb 19 17:13:36 sftp-server[55648]: close "/home/freecatz/TEST.xml" bytes read 59974 written 0
Feb 19 17:13:53 sftp-server[55648]: open "/home/freecatz/TEST2.xml" flags READ mode 0666
Feb 19 17:13:53 sftp-server[55648]: close "/home/freecatz/TEST2.xml" bytes read 326680 written 0
Feb 19 17:13:57 sftp-server[55648]: open "/home/freecatz/TEST3.xml" flags READ mode 0666
Feb 19 17:14:06 sftp-server[55648]: close "/home/freecatz/TEST3.xml" bytes read 24142026 written 0
Feb 19 17:14:26 sftp-server[55648]: session closed for local user freecatz from [192.168.0.10]
Feb 19 17:14:26 sftp-server[55644]: session closed for local user freecatz from [192.168.0.10]


2016년 2월 4일 목요일

[MySqL] UTF-8 설정

[client]
default-character-set = utf8

[mysqld]
init_connect = SET collation_connection = utf8_general_ci
init_connect = SET NAMES utf8
character-set-server = utf8
collation-server = utf8_general_ci

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

2016년 1월 6일 수요일

[EtC] 바이러스 테스트(Eicar Test)



텍스트 문서를 만들어서 아래의 내용을 입력 하고, 저장시 text.com 등과 같이 실행 가능한 파일의 확장자로 저장 한다.

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*


백신에서 바이러스로 판단하면 정상. 바이러스로 인식 하지 못하는 경우 백신에 문제가

있는 것.

2015년 11월 30일 월요일

[EtC] Go 개발 환경 구성



1. go 다운로드


































Download URL : https://golang.org/dl/

참고 : windows 의 경우 msi 또는 exe 파일을 다운로드 받아 설치하면, 환경 설정을 자동으로 해주어 별다른 작업들을 해줄 필요가 없다. zip 이나 tar.gz 으로 받으면, go 명령어를 PATH에 수동으로 설정 해야 한다.



2. go 설치























GOROOT 환경 변수를 지정해 주며, go 설치 디렉토리의 /bin 디렉토리를 PATH에 추가 시켜 go 명령어를 아무 디렉토리에서나 사용이 가능 하도록 설정해 주도록 한다.




3. go 명령어 확인























cmd 또는 터미널을 열고 go version 명령으로 go 가 설치 되었는지 확인 하도록 한다.
없는 명령어라고 나온다면, PATH에 go 설치 디렉토리가 포함 되어 있는지 확인 하도록 한다.





3. 이클립스 플러그인 goclipse 설치






























help -> install new software -> add -> http://goclipse.googlecode.com/svn/trunk/goclipse-update-site/































goclipse 를 설치 하고, 이클립스를 재시작 한다.




3. GO 위치 지정



































window -> preferences -> Go -> GOROOT 를 지정



4. hello world





































new -. project ... -> Go Peoject








































Finish....


































package main

import (
"fmt"
)


/* 메인 함수 */
func main(){
     fmt.Print("Hello" + " " + msgEcho("World"))
}

/* 메세지 끝에 느낌표 두개를 추가 해주는 기능 */
func msgEcho(msg string) string{
     return msg + "!!";

}














[go-qml 설치 관련 링크]
    : http://www.slideshare.net/ssuser55f1f0/goqml







2015년 11월 25일 수요일

[LiNuX] sftp 만 접근 가능한 계정 생성


계정을 생성 하면서 ssh 접근은 막고, 파일의 업로드, 다운로드를 위해 sftp 만 접근 하도록 해야 할 일이 생겼다.

root@localhost:~# useradd -m -s /bin/false <계정명>

root@localhost:~# useradd -m -s /bin/false testers

-s 옵션은 로그인 셸을 지정 하는 것인데, /bin/false 또는 /sbin/nologin, 데비안의 경우 /usr/sbin/nologin 을 지정 하여 계정을 생성 하면, sftp만 접근이 되는 계정이 생성 된다.

만약 이미 생성된 계정의 로그인 쉘을 변경 하고 싶다면, 아래를 참고 하여 root 권한으로 /etc/passwd 파일을 수정 한다.

testers:x:1006:1006::/home/testers:/bin/false

이렇게 생성된 계정은 ssh 로그인을 할 수가 없다. 아래는 root 권한으로 확인해본 결과 이다.

root@localhost:~# su - testers
root@localhost:~# ls
root@localhost:~# whoami
root

참고로, sftp 를 이용하여 상위 디렉토리인 /home 으로 이동 하지 못하게 하는 방법은 아래 와 같다.

root@localhost:~# chmod 711 /home

배포판 마다 다를 수도 있겠지만, /home의 경우 755(rwxr-xr-w)의 권한을 가지고 있다.

2015년 10월 28일 수요일

[EtC] OBDC 를 이용한 MSSQL 에서 MySQL Linked Server 로 연결



1. MySQL Connector 다운로드 및 설치
   URL : http://dev.mysql.com/downloads/connector/odbc/


 










설치 과정중 위와 같은 문제 발생시 Visual C++ 런타임 의 설치가 필요한 경우도 있다.


2. DSN 설정







































































































exec sp_addlinkedserver
@server='TEST_SERVER',
@srvproduct='mysql',
@provider='MSDASQL',
@provstr='Driver={MySQL ODBC 5.3 Unicode Driver};DSN=TEST_DSN;server=192.168.0.1;database=TEST_DB;UID=freecatz;PWD=sksmswkftodruTekrh'


위와 같이 연결 후, openquery 를 통하여 테스트 해본다.

SELECT * FROM OPENQUERY(TEST_SERVER, 'SELECT * FROM TEST_TABLE');

만약 쿼리가 안되는 경우 아래와 같이 옵션을 변경 한다.

































































































2015년 10월 20일 화요일

[EtC] Windows 10 기본앱 제거


Windows PowerShell 을 관리자 권한으로 실행

아래의 명령어을 복사하여 Ctrl + V 로 붙여 넣는다.


참고 : 설치된 전체 앱 목록
PS C:\WINDOWS\system32> Get-AppxPackage > c:\appList.txt


1. Groove 음악 제거
PS C:\WINDOWS\system32> Get-AppxPackage *zunemusic* | Remove-AppxPackage

2. 지도(Map) 제거
PS C:\WINDOWS\system32> Get-AppxPackage *windowsmaps* | Remove-AppxPackage

3. 카드게임(솔리테어) 제거
PS C:\WINDOWS\system32> Get-AppxPackage *solitairecollection* | Remove-AppxPackage

4. 영화, TV 제거
PS C:\WINDOWS\system32> Get-AppxPackage *zunevideo* | Remove-AppxPackage

5. 피플 제거
PS C:\WINDOWS\system32> Get-AppxPackage *people* | Remove-AppxPackage

6. Xbox 제거
PS C:\WINDOWS\system32> Get-AppxPackage *xboxapp* | Remove-AppxPackage

7. 윈도우폰 도우미 제거
PS C:\WINDOWS\system32> Get-AppxPackage *windowsphone* | Remove-AppxPackage

8. 스토어 제거
PS C:\WINDOWS\system32> Get-AppxPackage *windowsstore* | Remove-AppxPackage

9. 녹음기 제거
PS C:\WINDOWS\system32> Get-AppxPackage *soundrecorder* | Remove-AppxPackage

10. 카메라 제거
PS C:\WINDOWS\system32> Get-AppxPackage *windowscamera* | Remove-AppxPackage

11. 달력, 메일 제거
PS C:\WINDOWS\system32> Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage

12. 시계, 알람 제거
PS C:\WINDOWS\system32> Get-AppxPackage *windowsalarms* | Remove-AppxPackage

13. 3D빌더 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.3DBuilder* | Remove-AppxPackage

14. 오피스알아보기 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.MicrosoftOfficeHub* | Remove-AppxPackage

15. 원노트 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.Office.OneNote* | Remove-AppxPackage

16. SkyPe 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.SkypeApp* | Remove-AppxPackage

17. 금융 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.BingFinance* | Remove-AppxPackage

18. 날씨 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.BingWeather* | Remove-AppxPackage

19. 뉴스 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.BingNews* | Remove-AppxPackage

20. 스포츠 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.BingSports* | Remove-AppxPackage

21. 시작 제거(주의)
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.Getstarted* | Remove-AppxPackage

22. 스캔 제거
PS C:\WINDOWS\system32> Get-AppxPackage Microsoft.WindowsScan* | Remove-AppxPackage

2015년 10월 15일 목요일

[LiNuX] SSH Timeout


# 백업은 선택이 아닌 필수
root@etc-service:~# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori

# sshd 환경 설정 파일 수정
root@etc-service:~# vi /etc/ssh/sshd_config

Port 1234
PermitRootLogin no
ClientAliveInterval 60
ClientAliveCountMax 10

위의 붉은색 항목이 없으면 새로 추가 한다.

60초 * 10회 = 60분 동안 클라이언트와 세션 유지

Port  는 ssh 의 포트 번호를 바꾸려고 하는 경우 변경 한다.
PermitRootLogin 는 root 의 ssh 로그인을 막아야 하는 경우 no 값으로 설정 한다.


# sshd 재시작 하여야 반영 된다.
root@etc-service:~# /etc/init.d/sshd restart