Freebsd技巧集(整理)


都在Freebsd7下调试过...如有不对的请留言,谢谢!
(1)在终端下显示/输入中文
追加ee /root/.cshrc
setenv LANG zh_CN.eucCN
setenv LC_ALL zh_CN.eucCN
setenv LC_CTYPE en_US.ISO_8859-1
source /root/.cshrc 或者reboot
(2)set prompt = " %B%n@%m[%/]>" 注意 = 左右都要有一个空白,否则会出错,导致无法登入
    可将其追加到/root/.cshrc下面
终端提示符,如:
root@freebsd[/usr/local]>
大家也可以根据规则自己修改
(3)如何防止别人登录到你的计算机
有时,我们并不想让别人直接登入到我们的主机或是只想限定某些人可使用,如 telnet、ssh..
或者是开放了些服务,如 ftp、smtpd ..等,由于这些都必需在主机端建有帐号,因此防止不相干的人登入到你的主机是非常重要的,也是一个安全上的考量.但一般限定的方式都是使用 ip 或是 domain 的方式,那么有无方法可解决这个问题呢?
答案是可从 /etc/login.access 来着手,这个档案就是限定 login 的..
一个典型的设定如下,例如我们想限定只有 root 及 使用者 john 可登入到主机(含local 及 remote):
-:ALL EXCEPT root john:ALL
可分为三个项目,每个项目间以 : 分隔,说明如下:
1. + 或 - 代表允许或禁止
2. 设定的使用者或群组,可用 ALL EXCEPT 来强化限定的范围
3. 限定的来源,如 ALL 代表全部、61.219.230. 、LOCAL、console、.bad.com ..等
适当的设定,可让你的系统更加的安全.详细用法可 man login.access..
(4)简单的加密你的资料
在实务上我们常需要将某些敏感的资料加密,一般我们可使用 pgp 或在这里所介绍的 crypt 来达到这个功能
crypt 是透过 | 这个管道转换功能及密码设定来达成加密的功能,也就是说将你所设的密码当做加密产生的种子随机数
先说明一下 crypt 的使用方法:crypt [-s] [-k] [password]  一般 -s 及 -k 参数可不予理会,password 是加密或解密的密码
将 test.txt 这个档案用 1234 这个密码加密,需配合管道 | 及转向符号使用,加密后的文件名称为 test2.txt
# cat test.txt | crypt 1234 > test2.txt
如此则会产生一个加密后的档案 test2.txt,另外密码可先不输入,按 enter 键后会显示 enter key: 让你输入密码
接着来将 test2.txt 解开,如下,假设解开后的档名为 test3.txt:
# cyrpt 1234 < test2.txt > test3.txt
以上的意思是
1234 加密时的密码
< test2.txt 将加密的档案转给 crypt 处理
> test3.txt 解密后的资料转向到 test3.txt
(5)保护你的档案
在系统中,有许多档案或一些设定档是非常重要的,加上 FreeBSD (或是一般 unix-like)系统都没有类似 ms 的垃圾回收桶的功能,万一不幸删掉(或修改)某个重要的档案,可能会造成不小的困扰。
虽然,FreeBSD 对于档案的权限设定的非常严密,但有些时候,我们以 root 身份工作,仍会有此风险..
那要如何避免这种情形发生或是保护某些重要的档案呢?
我们可以用 chflags 来达成这个目的,顾名思义, chflags 是由二个字所组成,即 change 和 flags(档案的旗标)..
例如我们要保护 /etc/inetd.conf 这个档案,以免误删或被修改,则指令如下:
# chflags schg /etc/inetd.conf
这样就可以保护这些档案,如要显示这些档案的旗标(flag),可用 ls 来看.
# ls -lo /etc/inetd.conf => l 是小写的 L
-rw------- 1 root wheel schg 47 Mar 28 21:29 inetd.conf
要解除旗标设定,可用 noschg,也就是在 schg 前加 no ,如:
# chflags noschg /etc/inetd.conf
大部份我们进入主机都是以 root 身份执行,因此稍不小心,可能就.因此建议将一些重要的档案及设定档设定为 schg flags,以保护档案..
如 /bin、 /sbin、 /etc/*.conf、 /usr/lcaol/etc/*.conf .. 这些档案最好都是定成 schg 旗标.
添加这个旗标后,将不能修改这些文件
(6)7、FreeBSD在哪些文件中激活程序
一般 FreeBSD启动时会依序执行以下位置的程序..
1. /etc/rc.conf 这个档案内的程序,如 sendmail、sshd .. 都是在此执行,另外要注意的是,在执行这个档案之前,会先参考/etc/defaults/rc.conf 的设定
2. /etc/rc.d 下的一些 .sh �n,这些档案的权限都是被设定成 x ,如 sendmail .. 都是在此设定
3. /usr/local/etc/rc.d 下的一些 .sh �n,这些档案的权限都是被设定成 x ,如 apache samba .. 都是在此设定
4. /etc/rc.local这里也可设定,如我要把 postfix 设定在此,只需在这个档案内加一行,如下
/use/local/sbin/postfix start &
加上 & ,就不会显示出讯息
5. 由 cron 所控制的一些档案,当时间到了,便会自动执行。那心细的人可能会问,/etc/inetd.conf 内设定的呢?这些在第 1 项就执行了
了解以上并时时注意是否有不明的程序在执行(可能是被人植入木马程序),也是日常检视系统的重要工作
(6)有关 kernel 的激活
kernel 对 unix-like 系统来说,是非常重要的一环,如果 kernel 损坏或编译出了问题,可能会导致严重的后果。
FreeBSD 一向以安全著称,在这方面有什么防护的措施呢?
FreeBSD 的 kernel 是放在 / 目录下,一般会有二个kernel和kernel.GENERIC
如果你有编译过核心(kernel)的话,则原先的 kernel 会转换成 kernel.old,新的核心会变成 kernel,也就是在 / 下的 kernel 档案如下:
kernel => 新编译过的核心
kernel.GENERIC
kernel.old => 原先的核心
那 kernel.GENERIC 是什么呢,这个是系统安装时所装好的,一般都不会变动,即使编译过核心亦然,这个档案可说是救命核心,最好不要乱动,理由如下所言:
FreeBSD 激活时,会使用 kernel 这个核心,如果这个档案不存在,则会抓 kernel.old 这个档案..
如果这二个档案不幸都不在,那怎么办..这时则会进入 command prompt mode,你必需自行输入 kernel 的名称,如
boot <kernel 名称> 如
boot kernel.GENERIC
了解以上之后,在编译核心无法正常执行时,相信各位知道如何处理了
(7)显示目录及档案 => tree
有时需显示某个目录下所有的目录及档案,虽使用 ls 可达到部份功能,但并不是很方便.在 dos 中,有个 tree 指令,是不是满好用的.
其实在 FreeBSD 中也有类似的指令 => tree..
以下我们就透过 ports 来安装 tree
# cd /usr/ports/sysutils/tree; make install
如此会将 tree 这个指令安装在 /usr/local/bin/ 这个目录下..
使用例子:
1. 显示 /usr/ 下的目录及档案
# tree /usr
2. 只显示 /usr 下的目录
# tree -d /usr
(8)如何清空档案内容
使用 true 指令..
如我们要将 /var/log/httpd-access.log 清空,则下以下指令..
# cd /var/log/
# true > httpd-access.log
(9)时区的设定
1. 使用 tzsetup
2. 在 /etc/ 下有个档案 localtime,这个就是本机的时区设定档案,因此我们可用个取巧方式(不经由 tzsetup),如以下:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
====================================================================
以下是2009/01/13新添加的有关ports的技巧
====================================================================
1、#make fetch
只需要将软件下载到/usr/ports/distfiles目录下

2、#make fetch-list
列出可以下载的URL

3、#make config
配置参数

4、POSTS安装软件有时可能这个包已经安装过了,会有提示,无法继续安装。可以用提示中的参数:
#make install clean FORCE_PKG_REGISTER=yes
这样就可以继续安装了,yes不区分大小写。

5、PORTS安装软件时有时可以下载回来的包的md5值不匹配,可以加参数强制安装。
#make install clean NO_CHECKSUM=yes

6、PORTS安装软件如何提速?
首先设置一个速度比较快的国内镜像。
#vi /etc/make.conf
加入或替换:
[url]ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/$[/url]{DIST_SUBDIR} \
注意最后一个\号,如果还有别的镜像站点,需要加上最后一个\号,如果只用hshh.org 这一个站点。不用加后面的\号。

其次,使用多线程软件加速。
axel是unix下的一款加速下载的软件,先把她给安装上去
cd /usr/ports/ftp/axel
make install clean
ee /etc/make.conf
加入:
FETCH_CMD=axel
FETCH_BEFORE_ARGS= -n 10 -a
FETCH_AFTER_ARGS=
DISABLE_SIZE=yes
或者
#make install clean wget
#vi /etc/make.conf
加入:
FETCH_CMD=wget -c -t 1
DISABLE_SIZE=yes

7、如何查找安装一个ports软件
如果知道详细文件名,可以直接用whereis
#whereis php5
php5: /usr/ports/lang/php5

如果不知道详细文件名,可以用:
#cd /usr/ports
#make search name=php

如果只知道描述性关键字,可以用:
#cd /usr/ports/
#make search key=php

注意,使用make search时,需要先cd进/usr/ports目录。

8、如何查找已完装软件包的信息
#pkg_info
用管道命令过滤定位
#pkg_info | grep php

9、如何删除一个软件包
#pkg_delete 软件包详细名         详细名称可以用pkg_info | grep 管道命令查出。
加上-f 参数,可以删除一人别的软件对其有依赖关系的软件包
#pkg_delete -f 软件包详细名

10、PORTS安装软件后,如何修改配置
有些POST包安装时会有蓝色配置选择页,一般选过一次后就不会再显示了
#make rmconfig 删除配置,需要有root权限
#make reconfig 重新配置,需要有root权限

11、重新安装已安装ports软件包
#make reinstall

12、删险已安装ports软件包
#make deinstall
#make clean
===================================================================
1.install vim
2.cp $INSTALL_DIR/share/vim/vim70/vimrc_example.vim  ~/.vimrc
3.
ee /root/.cshrc
alias vi   vim

你可能感兴趣的:(职场,技巧,FreeBSD,休闲)