분류 전체보기 (199)
ººº::Development™:: (66)
ººº::Learning™:: (31)
ººº::Information™:: (37)
ººº::Note™:: (11)
ººº::Photo™:: (50)
ººº::zEtc™:: (3)
rss

믹시
tistory 티스토리 가입하기!
'분류 전체보기'에 해당되는 글 199건
2011. 6. 21. 14:15
이제 시간이 나서 정리를 시작해본다. 인터넷을 검색하면 많은곳에 자료들이 있지만 머라고 검색을 했는지 기억이 안나는 관계로 이곳에 다시 정리를 시작해본다.

LDAP 연구소에서 관리하는 서버들의 사용자 권한 문제로 시작해서 어떻게 해결을 할까 하다가 지인을 통해서 알기 시작한 LDAP 이제부터 LDAP이 무엇이고 LDAP을 어떻게 사용하는지 아주 기초적인 내용을 정리한다.

그럼 첫번째로 LDAP이란? 무엇일까..??

LDAP(Lightweight Directory Access Protocol, 라이트웨이트 디렉터리 액세스 프로토콜)은 TCP/IP위에서 디렉터리 서비스를 조회하고 수정하는 응용 프로토콜이다.

디렉터리는 논리, 계급 방식 속에서 조직화된, 비슷한 특성을 가진 객체들의 모임이다. 가장 일반적인 예로는 전화 번호부(telephone directory)가 있는데 가나다 순의 일련의 이름을 가지고 있고, 이름마다 전화 번호와 주소가 포함되어 있다. 이러한 기본 설계 때문에 LDAP는 인증을 위한 다른 서비스에 의해 자주 사용된다.

LDAP 디렉터리 트리는 선택된 모델에 따라 다양한 정치적, 지질학적, 조직적 경계를 반영하기도 한다. 오늘날 LDAP의 배치는 최상위 수준의 계급을 구조화하기 위해 도메인 이름 서비스의 이름을 사용하는 경향이 있다. 디렉터리 안에 들어가면 들어갈수록 사람들, 조직, 프린터, 문서, 그룹 등을 대표하는 항목들이 나타난다.

LDAP의 현재 버전은 LDAPv3이다.  


위와 같이 정리가 되어 있지만 난 그냥 "계정관리서버", "LoginServer" 등과 같이 아주 간단하게 생각하고 활용하고 있다. 이 이상의 내용은 내 범위를 벗어나는 문제일꺼 같아서!! ㅋㅋㅋㅋ

위와 같은 프로토콜을 기반으로 공개된 엔진이 openLDAP(http://www.openldap.org)이다. 앞으로 이 openLDAP을 설치하고 setting하는 방법을 하나하나 알아가 보도록 하자..


위 내용은 인터넷에 돌아다니는 내용을 내가 따로 수정한 사항입니다. 최대한 출처를 명시하고 트랙백을 달아가겠지만 혹시라도 빠지거나 할 수 있습니다. 내용을 보시고 혹시 동일 내용을 가지고 계신 분이 계시면 연락주시기 바랍니다. 출처를 최대한 밝히도록 하겠습니다.
다시한번 말씀 드리지만 위 내용은 인터넷에 이미 존재하는 글을 제가 보기 편하게 따로 편집하고 설치 및 운영하면서 느끼는 점을 첨부함을 밝힙니다. 





2011. 4. 5. 15:42
이전 포스트에서 ssh를 통한 직접적인 root접근을 제한하는 방법을 정리했는데 이 뿐만 아니라 su를 통한 root접근도 특정 계정/그룹 만 허용을 해야하는 경우도 생긴다. 아래와 같은 방법으로 정리해본다.

1. 접근을 허용한 group 생성
2. /etc/group 파일을 열어 특정 그룹의 su 접근 계정 추가.
3. su 소유권 변경
4. su 퍼미션 변경
5. ssh 데몬 재시작 

 
 위 방법으로 하나하나 설명해보면

$ addgroup sugroup
$ vi /etc/group
  => sugroup:x:1000:root,(su 접근 계정)
  : ex) sugroup:x:1000:root  =>  sugroup:x:1000:root,testuser  

 
위와 같이 수정 후 저장한 다음에 su의 소유권과 퍼미션을 변경한다.

$ chown root:sugroup /bin/su
-rwxr-xr-x    1 root  sugroup  44444 1월  11  2011 su 

$ chmod 4110 /bin/su
---s--x---    1 root  sugroup  44444 1월  11  2011 su 

 
su의 소유권과 퍼미션을 변경한 다음 "service sshd rstart" 혹은 "/etc/init.d/sshd restart"로 ssh 데몬을 재시작 하면 해당 그룹의 사용자만이 su접근을 할 수 있다.
 
추가적으로 다른 그룹에 소속된 사용자를 su로 추가할 경우 usermod를 통해 사용자 그룹을 추가한 이후 위와 같은 방법으로 추가하면 된다.

$ groups [username]  => 소속된 그룹확인
$ usermod -G enwgroup [username]  => 그룹 지정
$ id [username]  = 해당 id의 속성 확인 

 


2011. 4. 5. 15:35
ssh를 통해 원격의 서버로 접근할 경우 root접근을 제한해야 하는 경우가 있다. 이는 root비밀번호가 노출되었을 경우의 위험이 너무나도 크기 때문이다.
연구소에서도 이러한 문제로 관리하고 있는 모든 서버의 ssh로의 root접근을 제한해야 하는 상황이 발생하였다. 그래서 또다시 기억하고지 아래와 같이 정리를 해본다.

1. /etc/ssh/sshd_config 파일 수정
2. PermitRootLogin을 no로 수정
3. sshd 데몬 restart 

 
vi editor를 통해 /etc/ssh/sshd_config 파일을 열어서 PermitRootLogin 항목을 찾는다. #을 통해 주석처리가 되어있으면 아래와 같이 주석을 해제하고 값을 no로 설정해 준다.

#LoginGraceTime 2m
#PermitRootLogin yes
#StricModes yes
#MaxAuthTries 6

수정 후

#LoginGraceTime 2m
PermitRootLogin no
#StricModes yes
#MaxAuthTries 6 

 
위와 같이 수정 후 저장한 다음 "service sshd restart" 혹은 "/etc/init.d/sshd restart" 로 ssh 데몬을 재시작 해주면 끝

위와 같이 sshd_config 설정을 해놓으면 ssh로 root접근이 제한되고 일반 계정으로 접속하여 "su -"를 통해 root접근을 해야만 한다.
 


2010. 12. 2. 11:48
이전 TIARA 논문을 쓰기 이전에 co-author로 참여했던 논문 비록 주요 알고리즘 부분보다는 시스템 구현쪽에 참여했던 논문이다. 이 논문에 사용된 engine 기술을 바탕으로 TIARA를 만들게 된것이다.
이 논문은 우리끼리 CARA라 명명한 논문이다.

Abstract
Comparative genomic hybridization (CGH) microarrays have been used to determine copy number variations (CNVs) and their effects on complex diseases. Detection of absolute CNVs independent of genomic variants of an arbitrary reference sample has been a critical issue in CGH array experiments. Whole genome analysis using massively parallel sequencing with multiple ultra-high resolution CGH arrays provides an opportunity to catalog highly accurate genomic variants of the reference DNA (NA10851). Using information on variants, we developed a new method, the CGH array reference-free algorithm (CARA), which can determine reference-unbiased absolute CNVs from any CGH array platform. The algorithm enables the removal and rescue of false positive and false negative CNVs, respectively, which appear due to the effects of genomic variants of the reference sample in raw CGH array experiments. We found that the CARA remarkably enhanced the accuracy of CGH array in determining absolute CNVs. Our method thus provides a new approach to interpret CGH array data for personalized medicine.

PMID : 20802225
CARA Web Site : http://cara.gmi.ac.kr


2010. 12. 2. 11:40
연구소 와선 첫 First 논문! 기능이 많이 있고 기술적인 거보다는 만들어서 논문으로 제출했다는 의미가 더 큰 논문!! 다음에 더 좋은 논문으로!!

Abstract
High-throughput genomic technologies have been used to explore personal human genomes for the past few years. Although the integration of technologies is important for high-accuracy detection of personal genomic variations, no databases have been prepared to systematically archive genomes and to facilitate the comparison of personal genomic data sets prepared using a variety of experimental platforms. We describe here the Total Integrated Archive of Short-Read and Array (TIARA; http://tiara.gmi.ac.kr) database, which contains personal genomic information obtained from next generation sequencing (NGS) techniques and ultra-high-resolution comparative genomic hybridization (CGH) arrays. This database improves the accuracy of detecting personal genomic variations, such as SNPs, short indels and structural variants (SVs). At present, 36 individual genomes have been archived and may be displayed in the database. TIARA supports a user-friendly genome browser, which retrieves read-depths (RDs) and log2 ratios from NGS and CGH arrays, respectively. In addition, this database provides information on all genomic variants and the raw data, including short reads and feature-level CGH data, through anonymous file transfer protocol. More personal genomes will be archived as more individuals are analyzed by NGS or CGH array. TIARA provides a new approach to the accurate interpretation of personal genomes for genome research.

PMID : 21051338
TIARA Web Site : http://tiara.gmi.ac.kr


2010. 11. 25. 16:56
올만해 해봤는데 예전이랑은 많이 틀려진거 같다!
머 내가 했던 MBTI보다는 많이 간단해보였지만( 웹에 있는 검사 프로그램 )

결과는 ENFP - 스파이크 형

따뜻하고 정열적이고 활기에 넘치며 재능이 많고 상상력이 풍부하다.

온정적이고 창의적이며 항상 새로운 가능성을 찾고 시도한 형이다.
문제 해결에 재빠르고 관심이 있는 일은 무엇이든지 수행해내는 능력과 열성이 있다. 다른 사람들에게 관심을 쏟으며 사람들을 잘 다루고 뛰어난 통찰력으로 도움을 준다.
상담, 교육, 과학, 저널리스트, 광고, 판매, 성직, 작가 등의 분야에서 뛰어난 재능을 보인다.
반복되는 일상적인 일을 참지 못하고 열성이 나지 않는다. 또한 한가지 일을 끝내기도 전에 몇 가지 다른 일을 또 벌리는 경향을 가지고 있다.

일반적인 특성
감정이 얼굴에 잘 들어 난다 
새로운 시도를 좋아한다 
계획하기보다는 그때그때 일을 처리하는 편이다 
새로운 사람 만나기를 좋아한다  
감동을 잘하고 눈물도 잘 흘린다  
돈 개념이 희박하다. 돈을 모으기 힘들 수 있다 
감정의 기복이 심하다 
경쟁의식이 없다 
상대방의 말에 민감하나 기분이 나쁘지 않은 척 한다 
내면에 열정을 지녔다 
위기 대처능력이 뛰어난다 
사람을 기쁘게 해주는 타고난 능력이 있다 
행사나 일을 잘 주선한다 
놀다가도 몰입이 안되고 지금 무엇하고 있는 건가? 라는 생각이 들 때가 있다 
  
멋 내는 것을 좋아한다 
양보를 잘하고 싸움을 할려면 심장부터 뛴다  
단순암기에 약하다 
인생을 즐겁게 살려고 한다  
선생님이 마음에 들면 하기 싫은 과목도 잘한다 
하기 싫은 것에 대한 인내력이 부족하다 
좋아하는 사람과 싫어하는 사람의 구별이 심하다 
반복적인 일상을 힘들어 한다 
분위기를 잘 띄운 후에 자기는 빠진다  

개발해야할 점
감정의 기복을 이겨내기 위해서 꾸준한 운동이 필요
좋아하는 일만 하기보다 우선순위에 맞추어서 하는 것이 필요
상대방의 말에 대해서 객관화 작업이 필요
규칙적이고 체계적일 필요가 있다
현실에 충실해야 한다
인내심을 길러야 한다




2010. 5. 17. 11:51
현제 연구소에서 사용하고 있는 NFS때문에 umout를 하는경우가 많이 생기고 있다. 그런데 이럴때마다 만나는 device is busy 어찌 해결을 해야하는지 구글링해서 항상 찾아보는데 왜 매번 이져먹을까? 구글링하면 금방 찾지만 그래도 다시한번 정리해본다.

#fuser -cu 디렉토리

umount할 디렉토리를 사용하고 있는 사용자 혹은 프로세스를 확인한다.

#fuser -ck 디렉토리

umount할 디렉토리를 사용하고 있는 사용자 혹은 프로세스를 모두 죽인다.

이후 umount를 진행하면 일사처리로 해결!^^


2010. 4. 8. 15:22
Cluster환경을 구축하다보면 frontnode뿐만 아니라 계산을 담당하는 compute node에서도 수많은 설정과 설치가 이루어진다. 이럴때마다 매번 로그인해서 처리하는것은 여간 번거로운 작업이 아닐것이다. 이럴때 사용할 수 있는게 rsh인거 같다. cluster환경을 구축하면서 많은 문서와 웹검색을 하는 가운데 rsh관련된 내용이 많않는데 머지? 하면서 넘어갔는데 오늘 결국 설정해 버렸다. 설정하고 나니 넘 편하고 좋은거 같다는 느낌이!!  머 문서들 가운데 보안관련된 내용도 있어서 ssh를 사용하는것을 권장하는 문서들도 있지만 cluster와 같이 외부 환경과 분리된 상태에서는 rsh를 사용해도 별 문제가 없고, 작업역시 쉬워지는거 같다.

간단하게 rsh란 remote shell로 보면 된다. 원격에서 해당 호스트의 쉘을 이용하여 작업을 진행할 수 있게 해주는것이라고 보면 된다. rsh를 사용하기 위해서는 먼저 rsh client와 server를 front및 compute node에 설치해 줘야 한다. 해당 package는 인터넷 검색을 통하거나 본 포스팅에서 다운받아 설치하면 된다.

# rpm -Uvh rsh-*.rpm
#rpm -Uvh rsh-server-*.rpm

rsh 설치가 완료되었으면 아래와 같이 설정을 해주면 된다. 설정은 front및 compute node에 동일하게 해주면 된다.

1. /etc/services에 kshell 544/tcp krcmd   # Kerberized 'rsh'(v5)가 들어있는지 확인
2. /etc/xinetd.d/rsh 및 rlogin 에서 desable = yes를 disable = no로 변경
3. /etc/securetty 맨 아랫줄에 rsh와 rlogin 추가.
4. /etc/hosts.equiv 파일을 만들고 rsh접속을 원하는 hostname을 적어준다. 이때 hostname은 /etc/hosts에 명시된 host와 동일해야 한다.
5. /etc/rc.d/inetd.d/xinetd restat로 xinetd demon 재시작

위와 같은 과정으로 설정을 완료하였으면 일반 사용자는 rsh로 원격 호스트로 접속하는데 문제가 없을 것이다.
하지만 root로 접속을 하기 위해서는 몇가지 과정을 더 거쳐야 한다.

1. root 홈디렉토리에 /.rhosts 파일을 생성해서 /etc/hosts.equiv의 내용을 동일하게 써주거나 혹은 별도로 작성해 준다.

만약 위와 같은 방법으로 접속을 시도했을 경우 password를 물어보면

1. /etc/pam.d/rsh 와 /etc/pam.d/rlogin 내용 중 "auth       required     pam_rhosts_auth.so" 이 부분을 "auth       required     pam_rhosts_auth.so promiscuous" 와 같이 수정한다.

만약 위와 같은 방법으로도 password를 물어보면 위 내용을 아이에 주석처리해준다.

설정을 모두 바쳤으면 아래 명령으로 rsh가 정상작동하는지 확인해 보면 된다.
# rsh host1
Last login: Thu Apr  8 14:44:38 from gmi3
[host1] #

# rsh host1 "ls"
.. host1의 root 디렉토리 내용 출력

rsh 파일 다운로드



2010. 4. 1. 15:11
연구실에서 다양한 프로그램과 어플리케이션들을 돌리는 과정에서 대량의 계산이 필요한 어플리케이션들이 있다. 그러한 어플리케이션을 좀더 효율적으로 돌리고 다양한 사용자들의 다양한 Job들을 관리할 필요성이 생겼고, 그로인해 Cluster머신을 생각하게 되었다. 지금 그 첫번째로 Rocks나 여타 Linux cluster를 새로 설치하는것이 아니라 기존에 설치되어 있는 Redhat 기반에서 Cluster를 구성해 본다.

Cluster를 만들기위한 여러 솔루션들이 있지만 무료이면서도 만힝 사용되고 있는 Torque를 이용해 Cluster를 구성해 본다.


1. Torque Download
   Torque는 아래 사이트에서 최신 버전 혹은 원하는 버전을 다운 받도록 한다.
   http://www.clusterresources.com/
   Torque는 PBS를 기반으로 만들어지고 있다고 한다. 그렇기 때문에 PBS에서 사용가능한 명령어는 Torque에서도 사용 가능하다고 되어 있다(만약 이 부분이 틀렸다면 정확한 내용을 알려주세요~~^^)

2. Torque 설치
  Torque는 Front 노트와 Compute노드로 이루어져 있다. 간단하게 설명하면 Frontnode는 작업을 최초 생성하고 Compute노드로 작업을 할당해주는 main head node라고 생각하면 간단하고 compute node는 하위 노드로 단순하게 계산을 처리하는 node로 생각하면 쉽다.

그럼 지금부터 Torque를 설치해 보자
1) Frontnode 설치
# tar -zxvf torque.tar.gz
# ./configure --prefix=/opt/torque --with-server-home-/opt/torque
# make
# make install
  위와 같은 방법으로 Torquq를 설치하면 되고,  configure 옵션은 Torque사이트에보면 더 많은 옵션이 존재한다.
  다음으로 torque의 기본적은 서버 환경을 설정해 보자
# ./torquq.setup root ( torque 압출 해제 폴더)
iniializing TORQUE (admin: ......)
PBS_Ser...
do you wish to continue y/(n) ? y
Max open server : 4
...
######  PBS 에서 사용한 기본적은 compute node 등록
# /opt/torque/server_priv/
# vi nodex
###### PBS 에서 사용한 node 등록
node1 np=4
node2 np=4
 위와 같이 설정을 해주었으면 server의 기본적인 환경은 설정되었다. 설정 중 compute node를 등록하는 부분에서는 vi editor로 nodes파일을 열고(기본은 없다.) compute node로 사용될 서버들의 이름을 적어주고 np옵션은 해당 node의 core수를 기입해 주면된다.

  이 부분에서 유의할 점은 node명을 ip가 아닌 dns명으로 적어주어야 한다(사실 ip로 해보지는 않았음). 보통은 /etc/hosts 파일명에 가상의 cluster ip를 dns명으로 메핑해주고 이곳에 node로 등록해 주면 된다.

2) Compute node 설치
 1)에서와 같이 front node를 설치했으면 이제 실제 계산이 이루어지는 compute node를 설치해야 한다. 설치는 아래와 같다. front node 설치는 아주 간단하다.
# make package
  torque압출 해제 디릭토리에서 make package 명령을 사용하면 compute node에 필요한 package들을 자동으로 만들어 준다. 이렇게 만들어진 package중 mom자가 들어가는 package를 해당 compute node로 복사 이후 아래 명령으로 설치를 계속 진행하면 된다.
# ./torque-package-mom-linux.sh --install
node1: ...
...
node1: Done
 자 이제 job이 실행된 pbs_mom이 정상적으로 설치가 되었다 .그러면 다음과 같이 간단하게 mom 환경 설정을 해준다.
# cd /opt/torque/mom_priv
# vi config
########## pbs_mom config
$pbsserver  node0
#logever     255
위에서 pbsserver는 처음 설치한 frontnode 이름을 명시해 주면 된다.

자 이렇게 모든 설치가 완료되었으면 이제 모든 front 및 compute node에서 pbs_mom을 재실해 준다. 실행파일은 /opt/torquq/sbin/pbs_mom, pbs_server 이다.
다음으로 front node에서 pbsnodes -a 명령을 통해 모든 compute node가 정상적으로 올라오는지 확인하면된다.
정상적으로 pbs_mom이 작동하고 있으면 모든 노드에서 state가 free로 되어 있어야 한다.

다음에 torque를 좀더 자세하게 설정해보도록 하겠다.



2010. 3. 1. 20:21
요즘 일하는 연구실에서 여러 서버를 관리하다보니 각각 Class가 다른 IP를 사용하게 된다. 윈도우에서는 하나의 Lancard에 여러 IP를 셋팅하는 방법을 아는데 리룩스에서는 어찌 하는지 몰라서 구글링 후 해당 내용을 정리해본다.

1. Linux에서 하나의 물리적 LanCard에서 최대 250개의 IP를 Setting할 수 있다고 한다.(진짜인지 아닌지는 모르겠지만)

2. 방법
  방법은 아주 간단하다. 네트웍정보를 가지고 있는 ifcfg-eth0파일을 복사한후 다시 네트웍을 리스타트 해주면 되는것 순서는 아래를 참조
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-eht0:0
# vim ifcfg-eth0:0 아래 내용으로 수정
# ifup ifcgf-eth0:0

3. ifcfg-eht0:0 수정사항
  vi editor로 DEVICE 명을 eth0:0과 같이 동일 이름으로 변경

위와 같은 방법으로 자신이 추가하고자 하는 IP를 계속 추가해 주면 된다.

'ººº::Development™:: > ::Linux™::' 카테고리의 다른 글

[Cluster] rsh 설치 및 설정하기  (0) 2010.04.08
[Cluster] #1 Cluster 만들기 - 설치  (0) 2010.04.01
[Samba] Samba mount #2  (2) 2009.11.06
[Linux] Samba mount  (0) 2009.09.01
[Linux] SSH root접근 제한  (2) 2009.05.18