2009年3月12日星期四

小玩sshd rsa

1.设置rc.conf
增加:
sshd_enable="YES"

重启 sh /etc/rc
2.修改 /etc/ssh/sshd_config
设置:

#指定 sshd(8) 守护进程监听的端口号,默认为 22
Port 22

#指定 sshd(8) 支持的SSH协议的版本号。
#'1'和'2'表示仅仅支持SSH-1和SSH-2协议。"2,1"表示同时支持SSH-1和SSH-2协议。
Protocol 2

#是否允许 root 登录。可用值如下:
#"yes"(默认) 表示允许。"no"表示禁止。
#"without-password"表示禁止使用密码认证登录。
#"forced-commands-only"表示只有在指定了 command 选项的情况下才允许使用公钥认证登录。
#同时其它认证方法全部被禁止。这个值常用于做远程备份之类的事情。
PermitRootLogin no

#是否允许公钥认证。仅可以用于SSH-2。默认值为"yes"。
PubkeyAuthentication yes

#存放该用户可以用来登录的 RSA/DSA 公钥。
#该指令中可以使用下列根据连接时的实际情况进行展开的符号:
#%% 表示'%'、%h 表示用户的主目录、%u 表示该用户的用户名。
#经过扩展之后的值必须要么是绝对路径,要么是相对于用户主目录的相对路径。
#默认值是".ssh/authorized_keys"。
AuthorizedKeysFile .ssh/authorized_keys

3.重启sshd
/etc/rc.d/sshd stop
/etc/rc.d/sshd start

4.产生私钥
ssh-keygen -t rsa
cp 公钥到 .ssh/authorized_keys. 将私钥cp 到本地供putty 使用, 但需要先用 puttygen 产生putty所支持的格式

参考 http://lamp.linux.gov.cn/jinbuguo_florilegium.html

检查php 是否有语法错误+检查文件是否有bom 头

find ../src/core -type f -name "*.php" -exec src=../src "D:/Program Files/wamp/bin/php/php5.2.8/php.exe" -l {} \; | grep -v "No syntax errors"
find ../src/core -type f -name "*.php" -exec sed -e '1s/^\xef\xbb\xbf//' -e 's/\\t/" "/g' -i {} ; -exec php.exe scripts/l10n-php.php {} ;

----------------------------------------
#! /bin/bash

FILES=`find $1 -type f|grep -v .svn`
#BOM=357 273 277
for f in $FILES
do
HEADER=`od -c -N3 $f|grep "357 273 277"`
case $HEADER in
"0000000 357 273 277")
echo $f;;
esac
done

2009年3月11日星期三

screen

以前玩的顺的工具 好久未玩 捡一下
◇ screen.txt: screen 簡介
转:http://www.wealth.com.hk/html/bsd/9/3/3.html
[最新版的文件]
gopher freebsd.ee.ntu.edu.tw
(telnet freebsd.ee.ntu.edu.tw)
5. FreeBSD (386BSD 版精華區)
-> 3. 進階文件 (howto-doc)
-> 18. [簡介] screen

作者: woju (Sound) 看板: 386BSD
標題: [Introduce] screen
時間: Tue May 13 08:01:29 1997

<< screen 簡介 >>

前言
screen 已成為不少 unix 玩家必用的工具,screen 的種種「特異功能」
讓 UNIX 的使用更加便利。除了 scroll/copy/paste/switching... 外,
screen 的 ditatch/re-attach 更是讓前景程式享有背景執行的效果。

使用
打 screen 就進入一個 screen session 裏,在 screen session 下,
所有命令都以 C-a(^A) 開頭:
C-a c -> Create,開出新的 window
C-a n -> Next,切換到下個 window
C-a p -> Previous,前一個 window
C-a C-a -> Other,在兩個 window 間切換
C-a w -> Windows,列出已開啟的 windows 有那些
C-a 0 -> 切換到第 0 個 window
C-a 1..9 -> 切換到第 1..9 個 window

C-a a -> 送出 C-a,在 emacs, ve, bash, tcsh 下可移到行首

C-a t -> Time,顯示目前的時間,與系統的 load
C-a K(大寫) -> kill window,強制關掉目前的 window

C-a [ -> 進入 copy mode,在 copy mode 下可以回捲、搜尋、拷貝
就像用 vi 一樣
C-b Backward,PageUp
C-f Forward,PageDown
H(大寫) High,將游標移至左上角
L Low,將游標移至左下角
0 移到行首
$ 行末
w forward one word,以字為單位往前移
b backward one word,以字為單位往後移
Space 第一次按為標記區起點,第二次按為終點
Esc 結束 copy mode
C-a ] -> Paste,把剛在 copy mode 選定的內容貼上

C-a ? -> Help,顯示簡單說明

C-a d -> detach,將目前的 screen session (可能含有多個 windows)
丟到背景執行,這招就是 screen 的「特異功能」

當按了 C-a d 把 screen session detach 掉後,會回到還沒進 screen 時
的狀態,此時在 screen session 裏每個 window 內跑的 process (無論是
前景/背景)都在繼續執行,即使 logout 也不影響。
下次 login 進來時:
screen -ls -> 顯示所有的 screen sessions
screen -r [keyword] -> 挑個 screen session 回來 (撿回來)

若 screen -ls 裏有 Attached sessions:
screen -d [keyword] -> 強制 detach,以便「接手」過來

screen 的 detach 這項「特異功能」除了適合跑「背景性質」的前景程式,
另一種常見的用法是:
用 dos ncsa (或其它極不穩定的 client,或網路狀況極差)連上穩定的
screen server,執行 screen 後就可享有 server 的穩定性,比如說,
用 modem 連上某 FreeBSD account,再連到 bbs talk/post,當玩得正
起興時自己的電腦突然當機(或電話突然斷線),趕快再次連上 FreeBSD:
screen -ls -> 看看有那些 screen sessions
screen -d -> 意外斷線的 screen 通常仍在 Attached 狀態,
所以用 screen -d 強制 detach
screen -r -> 把剛斷線的狀況「撿回來」,繼續 talk,對方
根本不知自己斷線再重連 :)

更多的參考資料
C-a ?
man screen
/usr/ports/misc/screen

2009年3月8日星期日

2009年3月7日星期六

syslogd 用法

1.参考 /etc/defaults/rc.conf
2.修改 /etc/rc.conf 加入
syslogd_enable="YES" # Run syslog daemon (or NO).
syslogd_program="/usr/sbin/syslogd" # path to syslogd, if you want a different \
one.
syslogd_flags="-s"
3.配置/etc/syslog.conf

附:
1.启动 syslogd -s
查看PID cat /var/run/syslogd.pid

2009年3月6日星期五

bsd 前台 后台进程切换

执行程序
ctrl+z 再输入 bg
把置入后台的程序转到前台 fg

也可以在要运行的程序启动时后面加 & ,程序自动转入后台运行

重新加载 rc.conf/.cshrc

sh /etc/rc 就ok了
/etc/rc.d/netif restart (没试过)

source ~/.cshrc