2017년 3월 11일 토요일

Linux 명령어

du -d0 -h directory
디렉토리 크기 표시

ssh-keygen -t rsa
rsa 방식의 공개/암호 키 생성

ssh-copy-id user@server
server 의 user 사용자 로그인을 위해 공개키 등록

vundle

vundle 소개 페이지
    https://kldp.org/node/125263


* 정리

vundle
    vim 을 위한 플러그인 매니저

필요 프로그램
    vim, git, curl 또는 wget

설치
    https://github.com/VundleVim/Vundle.vim

플러그인 설치
    $ vi ~/.vimrc
    Plugin 설정 위치에 다음과 같이 Plugin 지정
    :so %
    :PluginInstall

    Plugin 'Github 또는 vim-scripts 의 플러그인 저장소'

플러그인 삭제
    $ vi ~/.vimrc
    삭제할 Plugin 줄을 삭제 또는 주석처리
    :so %
    :PluginClean

플러그인 찾기
  • http://vimawesome.com/
  • http://vim-scripts.org/vim/scripts.html
  • vi 에서 :PluginSearch [플러그인 이름]

2017년 3월 9일 목요일

login.sh

시스템에 사용자를 추가하지 못하는 상황에서
사용자 별로 홈디렉토리 환경을 만들어야 하는 일이 생겨
가상 사용자용


1. 대표 사용자 (test) 의 .bashrc 에 login.sh 를 연결.
/home/test/.bashrc 파일
--------------------------------------------------------------------------------
...

PS1='\[\e]0;\w\a\]\n\[\e[32m\]\u@\[\e[31m\]\h\[\e[0m\] \[\e[33m\]\w\[\e[0m\] \$ '
. bin/login.sh
================================================================================

/home/test/bin/login.sh 파일
--------------------------------------------------------------------------------
#! /usr/bin/bash

HOME_ROOT=/home
NEW_HOME=

banner()
{
        echo
        echo "Welcome to $(hostname)."
        echo "If you want to remain as '$USER' user, press Control+C"
        echo
}

check_login()
{
        local user=
        #local pass=
        read -p "User name: " user
        #read -sp "Password: " pass

        [ -z "$user" ] && return 1
        [ "$user" = "$USER" ] && return 1
        [ ${user:0:1} = "." ] && return 1
        [ -d "$HOME_ROOT/$user" ] || return 1

        NEW_HOME="$HOME_ROOT/$user"
        return 0
}


# main
banner

# try to check up to 3 times
for t in 1 2 3; do
        check_login && break
done

[ -z "$NEW_HOME" ] && exit

export HOME="$NEW_HOME"
export USER=$(basename "$HOME")
export HISTFILE=$HOME/.bash_history
unset HOME_ROOT NEW_HOME banner check_login

cd "$HOME"
[ -f .bashrc ] && . .bashrc
history -ac $HISFILE
================================================================================

2. 추가 사용자용 홈디렉토리 생성
$ mkdir -p /home/test1/.{git,ssh}
$ touch /home/test1/.{bash,input,vim}rc

3. 로그인 및 테스트
--------------------------------------------------------------------------------
User name: test1

$ pwd
/home/test1

$ echo $USER
test1

$ whoami
test # 시스템이 인식하는 사용자는 바뀌지 않는다.

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test/.ssh/id_rsa): # 역시 바뀌지 않는다.
^C
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/test1/.ssh/id_rsa.
Your public key has been saved in /home/test1/.ssh/id_rsa.pub.
The key fingerprint is:
...

$ git config --global user.email test1@test.com
$ cat ~/.gitconfig
[user]
        email = test1@test.com
================================================================================

일단은 이 정도로 만족


# 자동 로그인 매크로 - teraterm
login.ttl
--------------------------------------------------------------------------------
; Connection configuration
Host = 'host'
UserName = 'test'
VirtualUser = 'test1'
PrivateKeyfile = '암호키 파일 경로'
Prompt = 'User name: '

; Build connect message
Msg = Host
strconcat Msg ':22 /ssh /user='
strconcat Msg UserName
strconcat Msg ' /auth=publickey /keyfile='
strconcat Msg PrivateKeyfile

connect Msg

wait Prompt
sendln VirtualUser
================================================================================

> ttpmacro /V login.ttl

2017년 3월 8일 수요일

cygwin ssh server

https://docs.oracle.com/cd/E24628_01/install.121/e22624/preinstall_req_cygwin_ssh.htm#EMBSC340

http://www.atechnote.com/2016/10/setup-ssh-server-on-windows-7.html

2017년 3월 5일 일요일

리눅스 패키지 매니저

DB 동기화
apt apt-get update
pacman pacman -Sy
cygwin
yum
rpm

패키지 설치
apt apt install <패키지명...>
pacman pacman -S <패키지명...>
cygwin setup.exe 사용
yum
rpm

패키지 파일로 설치
apt dpkg -i <패키지 파일 경로>
pacman pacman -U <패키지 파일 경로>
cygwin 해당 없음
yum
rpm

패키지 삭제 [설정파일까지]
apt apt-get [--purge] remove <패키지명>
pacman pacman -R [-cn] <패키지명>
cygwin setup.exe 사용
yum
rpm

설치된 패키지 리스트 확인
apt dpkg -l
pacman pacman -Q
cygwin cygcheck -c
yum
rpm

파일 소유 패키지
apt dpkg -S <패턴>
pacman pacman -Qo <파일>
cygwin cygcheck -f
yum
rpm

패키지 파일 리스트
apt dpkg -L <패키지 이름>
pacman pacman -Ql <패키지 이름>
cygwin cygcheck -l <패키지 이름>
yum
rpm

패키지 검색
apt apt-cache search <검색어>
pacman pacman -Ss [검색어] # 모든 패키지
pacman -Qs [검색어] # 설치된 패키지
cygwin cygcheck -p <검색어>
yum
rpm

패키지 다운로드 경로
apt /var/cache/apt/archives
pacman
cygwin
yum
rpm

2017년 3월 1일 수요일

CPAN 모듈 설치

perl -MCPAN -e "install Net::Telnet"

# cygwin 에서는 perl-base 말고 perl 을 설치할 것