2013年10月31日 星期四

Provide a sftp account but disable it's SSH access for a team member

[Target]
1. Using user 'sftp-user'
2. Store files on folder '/sftp-folder'
3. Allow a team member to access it
4. Using RSA public key for access control

[Step]
1. Prepare account 'sftp-user' and folder '/sftp-folder'
   Create a user 'sftp-user'
   Create a folder 'sftp-folder' on /
   Change the folder owner to root; 'chown root /sftp-folder'

2. Modify SSHd setting, edit /etc/ssh/sshd_config

  sudo vi /etc/ssh/sshd_config

================================================================
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Match user sftp_user
  ChrootDirectory /sftp_folder
  AllowTcpForwarding no
  X11Forwarding no
  ForceCommand internal-sftp
=================================================================

3. To disable SSH for sftp-user
Modify /etc/passwd, change account 'sftp-user' shell program to /bin/false from /bin/bash

  sudo vi /etc/passwd

4. Edit permission list
Add RSA public keys to /home/sftp-user/.ssh/authorized_key

5. restart SSHd

  sudo /etc/init.d/ssh restart

[TEST]
You can generate a RSA public key on someone Linux, and provide it to sftp administrator.
After your key added to sftp-user's authorized_key file, you can using sftp to connect 'sftp-user' account

  sftp sftp-user@somehome.com

2013年4月29日 星期一

How to enable AHCI mode when your Windows 7 is installed ready


1. Download AHCI driver

    For example, Using Intel chip-set, need to download
    1) ACHI driver for your OS and 64/32bit
    2) Intel RST utility.

2. Execute 'regedit' and change parameter "Start" to 0 in as follow resgiter

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msahci

3. Install AHCI driver under safe mode

    1) Reboot your PC, and enter safe mode
    2) Open device manager and IDE controller
    3) Update Controller driver by manual select, to focus to install AHCI driver for your chip-set.
    4) Reboot your PC

4. Install RST utility

    To install Intel RST. If find RST doesn't execute after installed, to check Inter RST on service manager.

2013年1月10日 星期四

How replace old 'master' branch with new 'master' branch

Sometime, the master's commits was arranged with 'rebase' and the master branch has new commits.
How to update commits of new master branch to remote repository's master branch

  $ git push --force origin master

If the arranged branch isn't 'master', need to rename 'master' to other name, like 'old_master',
than rename arranged branch to 'master', and push with --force parameter.

  $ git branch -m master old_master
  $ git branch -m new_master master
  $ git push --force origin master

2013年1月2日 星期三

Using meld for git diff


* 建立一個給git diff用的script file 在/usr/local/bin/git-meld

    #!/bin/sh
    #This file placed at /usr/local/bin/git-mled
    meld $2 $5

* 設定git diff 用的外部程式
    git config --global diff.external /usr/local/bin/git-meld

* 要恢復預設的git diff 方式
    git config --global -unset diff.external