顯示具有 linux 標籤的文章。 顯示所有文章
顯示具有 linux 標籤的文章。 顯示所有文章

2014年10月6日 星期一

How to search a keyword in a folder

$ grep -rl "string" /someone_folder

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年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

2012年12月28日 星期五

Using script file to mount ecryptfs file system


#!/bin/sh

echo 'passwd=12345678' > /tmp/mypasswd.txt

sudo mount -t ecryptfs test_ec test_ec -o \
key=passphrase:passfile=/tmp/mypasswd.txt,\
ecryptfs_cipher=aes,\
ecryptfs_key_bytes=16,\
ecryptfs_passthrough=y,\
ecryptfs_fnek_sig=617264405cf6d2f2

rm /tmp/mypasswd.txt


2011年4月5日 星期二

Git 簡單指令使用

* 建立git database
$ git init

* 建立第一個進度點/版本(commit)
$ git add .
$ git commit -m "initial"

* 比對
$ git diff master
* 產生patch
$ git diff master > xxx.patch

* 放棄修改, 恢復到目前的commit
$ git checkout -f

* 列出commit
$ git log --pretty=oneline

14b26e3e80941f8290019f63231fb8b03ff805c1 initial


* 給予標籤
$ git tag -a v0.1  14b26e



========================================
* 使用patch
patch -p1 < xxx.patch

2011年3月31日 星期四

A problem about the character 0xD is be changed to 0xA

== LF/CR issue with RS232 in Linux ==

stty -F /dev/ttyS0 -onlcr
stty -F /deb/ttyS0 -icrnl


2011年3月11日 星期五

Redirect stderr to file

IO index is:
1 is stdout
2 is stderr

===Redirect stderr to 'log.txt' file===

$ someprogram  2> log.txt

===Redirect stderr to stdout===

$ someprogram 2>&1 | less

===Redirect stderr and stdout to a file===

$ someprogram &> log.txt

2011年2月25日 星期五

Enable telnetd service

  • Install package
for Ubuntu or debain
# sudo apt-get install xinetd telnetd
or
for Angstrom Distribution
# opkg install netkit-telnet xinetd

  • Edit /etc/xinetd.conf


# vi /etc/xinetd.conf

defaults
{
        instances = 60
        log_type = SYSLOG authpriv
        log_on_success = HOST PID
        log_on_failure = HOST
        cps = 25 30
}
includedir /etc/xinetd.d


  • Edit /etc/xinetd.d/telnet

# vi /etc/xinetd.d/telnet

service telnet
{
        disable = no
        flags = REUSE
        socket_type = stream
        wait = no
        user = root
        # server = /usr/sbin/in.telnetd
        server = /usr/sbin/telnetd
        log_on_failure += USERID
}

  • Execute xinitd service
# /etc/init.d/xinetd restart

2011年1月18日 星期二

SDIO clock

You can find the command for setting sdio clock

mmc_sdio_init_card() in /drivers/mmc/core/sdio.c


2011年1月17日 星期一

wireless and bluetooth modules

insmod /lib/modules/2.6.32/kernel/net/rfkill/rfkill.ko
insmod /lib/modules/2.6.32/kernel/net/wireless/cfg80211.ko
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211.ko
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211_crypt_ccmp.ko                                        
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211_crypt_tkip.ko                                        
insmod /lib/modules/2.6.32/kernel/net/wireless/lib80211_crypt_wep.ko
insmod /lib/modules/2.6.32/kernel/net/mac80211/mac80211.ko


insmod /lib/modules/2.6.32/kernel/net/rfkill/rfkill.ko                        
insmod /lib/modules/2.6.32/kernel/net/bluetooth/bluetooth.ko
insmod /lib/modules/2.6.32/kernel/drivers/bluetooth/btmrvl.ko
insmod /lib/modules/2.6.32/kernel/drivers/bluetooth/btmrvl_sdio.ko

2011年1月14日 星期五

To create a image file for new space

// create a 1G image file
# dd if=/dev/zero of=1G.img bs=1M seek=1024 count=0

# ls -l 1G.img
-rw-r-r- 1 root  root  1048576000 Mar 25 15:32 1G.img

# du -m 1G.img

//format the 1G image file as ext3 format
# sudo mkfs.ext3 -L LABELIMAGE ./1G.img

# sudo mount -t ext3 ./1G.img /mnt/image -o loop