前事不忘,后事之师,不忘国耻!

 注册  找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3312|回复: 0

FreeBSD的管理小技巧

[复制链接]

FreeBSD的管理小技巧

[复制链接]
ehxz

主题

0

回帖

7251

积分

管理员

积分
7251
2007-10-19 15:06:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
1.问:如何让FreeBSD像RedHat那样在ls时显示多种颜色的目录?
答:在/etc/csh.cshrc里面加入:
代码:
setenv LSCOLORS ExGxFxdxCxegedabagExEx
setenv CLICOLOR yes


然后,执行:
代码:
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc


并重新登录。

2.问:如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件?
答:标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:
代码:
set autolist


3.问:如何让FreeBSD的csh显示类似[delphij
spirit] ~这样的提示符?
答:在/etc/csh.cshrc中加入:
代码:
set prompt = ''[%B%n
%m%b] %B%~%b%# ''

然后,执行:
代码:
sed -i.bak -E s/set prompt/#set prompt/g /root/.cshrc


4.问:如何让普通用户也拥有类似root用户那样的命令行编辑能力?
答:在/etc/csh.cshrc中加入:
代码:
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward

5.让ctr+del+alt 失效
Look  into your keymap    file (taken from /usr/share/syscons/keymaps)  and
search for boot in it. If it has  not the "boot" string  in it, replace the
lines #083 and #103 by these

  083   del    ''.''    ''.''    ''.''    ''.''    ''.''    boot   boot    N
  103   fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O

There was talk  to enable/disable it  via a sysctl(3)  parameter but no one
ever got around to do it...

6. 环境变量:文件/etc/profile,
BLOCKSIZE=K; export BLOCKSIZE(通用)
文件~.cshrc BLOCKSIZE K
setenv
my cshrc
代理服务器的使用
HTTP 的代理: #setenv HTTP_PROXY http://proxyip:port
FTP 的代理: #setenv FTP_PROXY http://proxyip:port

7、 设定开机画面

使用 windows 的人,都知道所谓的开机画面,在 FreeBSD 下是否也有此功能呢?答案是肯定的,而且设定更为简便,请照以下 steps:

一. 首先制作一个图型文件,档案格式为 logo.pcx 或 logo.bmp,需注意的是 .bmp 的档案存盘时不用压缩,分辨率需为 640 X 480 以内(含),色阶为 256 色..

二. 将此档案 copy 到 /boot/ 这个目录下

三. 设定 /boot/loader.conf,加入以下资料

splash_bmp_load="YES" -> 如果使用 .bmp 格式,此项需设为 YES
splash_pcx_load="YES" -> 使用 .pcx,请将此项设为 YES
vera_load="YES"
bitmap_load="YES"
bitmap_name="/boot/logo.pcx" -> 请依你的档案格式更改
bitmap_type="splash_image_data"

8.激活你的 screensaver

由于 FreeBSD 大多当为主机使用,都是常期不关机的,因此可将屏幕关掉,或使用 ScreenSaver 功能..

使用 ScreenSaver 请在 /etc/rc.conf 这个档加入以下两行:

blanktime="900"

=> 以秒数为单位,如以上为 15 分钟

saver="logo"

=> logo 是 FreeBSD 的吉祥物(图型接口),另也可使用 "daemon",这是文字型式

9. 重复使用先前使用过的指令

你可以使用以下的方法来重复使用先前使用过的指令:

例如,我们先用 history 显示先前输入的指令:

# history
.
..
...
10 clear
11 cd /usr/local
12 ls
13 ls etc
14 cd ~
15 clear
1. 用 up down 可用上下一个指令,或是 ctrl+p ctrl+n 亦然

2. 配合 ! 的用法,例如以下(ps: 在<...>内代表要输入的东东)

!!
# !! => 重复执行上个一个指令

!<编号>
# !11 => 执行 cd /usr/local

!<指令> 可输入部份字,但前面部份需符合
# !cl
执行 15 clear 指令

!<?指令?> 输入部份字符,部份吻合
# !?etc?
执行 13 ls etc

以上指令在 tcsh 及 bash 下皆可使用,如此是不是可帮你省下许多时间..

10.用 dig 及 host 来取代 nslookup

一般我们用来检查网络是否有问题,大多是用以下三个指令..

nslookup
ping
traceroute

其中 nsllokup 是用来检查 dns 的相关设定, ping 用来检查自己和对方网络是否通顺,而 traceroute 则是用来检查从自己的计算机到对方的计算机所经过的线路状况..

不过以 nslookup 而言,个人觉得不是很实用,有时我们只是想单纯的查一下某台主机或是 MX 记录,那使用 nslookup 就有点噜嗦了..

在此介绍二个好用的指令 host 及 dig,这二个指令很类似,不过效率较 nslookup 高

# host -a <主机名称> 或 <ip>

=> 输入主机名称显示 dns 正向解析的部份,输入 ip 则是显示反向(ptr)

# dig <主机名称或ip> <any a mx soa txt.. 任选一项>

如要显示 MX 记录

# dig 主机名称 mx

个人是觉得比 nslookup 方便多了,你觉得呢.. ^.^

当然功能不只这些,详情请 man dig 或 host..
11.加快你的开机速度..

严格说起来,FreeBSD 的开机速度算满快的,不过中间会有个 10 秒的延迟时间(以便让你进入 boot 的 command prompt mode),如果你嫌这10秒还是太慢了,那你可将时间?#123;短一些..

FreeBSD 激活时会先去参考 /boot/defaults/loader.conf 档的设定,然后再参考 /boot/loader.conf,一般我们都不去?#123;整 /boot/defaults/loader.conf 这个档,而直接?#123;整 /boot/loader.conf..

只要在 /boot/loader.conf 中加上以下这一行即可

autoboot_delay="秒数" 即可,如

autoboot_delay="7" 代表7秒

这样开机是不是更快了..

另外建议,有时间可参考一下 /boot/defaults/loader.conf 这个档案的设定,其中有许多实用的设定哦..

12.忘了 root 密码

如果你忘了 root 的密码怎么办,这在 FreeBSD 中满好解决的,请照以下 steps 来处理..

1. 进入单人模式

开机后,当出现

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 10 seconds...

按 space(或除了 enter 以外的键) 键则会进入 command prompt mode,同时出现一个 ok ..

这时请输入 boot -s 以进入单人模式

2. 选择 sh

进入单人模式后,系统会询问你要使用那个 sh,内定是 /bin/sh ,就使用这个吧,直接按 enter 跳过

3. 将所有的硬盘分割架起来

# mount -a

4. 更改密码

# passwd

长度要在 6 个以上,输入二次

5. 重新激活

# reboot

13.介绍一些一些有用的参数(注意大小写)..

%B 代表高亮度
%n 代表用者名称
%m 主机名称
%/ 目前的目录

一般我们可能比较在意以上几点,如我要管理好几台 FreeBSD 主机,那么以上几个参数就很重要了..

举个实例来说,如我想把我的 prompt 改成这样,而且要高亮度显示:

使用者名称
主机名称[目录名称]>

则 prompt 的设定应该是这样的..

set prompt = "%B%n
%m[%/]> "

注意 = 左右都要有一个空白,否则会出错,导致无法登入,另外如果要统一所有使用者的 prompt 的话,除了更改 /home/使用者/.cshrc 外,最好也在 /etc/csh.cshrc 中设定这一行,另外如要新增新用者也用这种提示,则请在 /usr/share/skel/dot.cshrc 中也加上(或改成)这一行,这是因为:

tcsh 在使用时会先参考 /etc/csh.cshrc 这个档案,再依 user 去抓其 home 目录下的 .cshrc,而设定 /usr/share/skel/dot.cshrc 是让你新使用者时,自动将其 prompt 设定成 set prompt = "%B%n
%m[%/]> "

这种设法,当你在管理多台主机及切换目录时,就不易搞错而发生一些惨剧

14.在提示列秀出 [使用者]目前工作目录 (可以少打很多次pwd)

# cd /root
编辑 .cshrc

# set prompt="''hostname -s''# " ### 找到这一行并 mark 起来
set prompt = "[%n]%/# " ### 新增此行并存盘离开

# logout

login: root ....重新登入

ps.其它user id 是否可照办? 我还没试过哩..刚装freebsd而已

15.如何防止别人登录到你的计算机

有时,我们并不想让别人直接登入到我们的主机或是只想限定某些人可使用,如 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..


15. 一个 ./ 的技巧

众所周知,在 nix-like 中执行目前目录中的可执行文件时,必需加上 ./ 这二个符号,很多 unix-like 的初学者都会感觉较不习惯,因为在 dos 或 windows 的 dos 窗口中并不是如此..

其实在 unix-like 中如此设定是有其安全考量的,在使用指令或执行文件时,一般是建议使用完整的目录,例如要使用 ls,则如下:

# /bin/ls

当然,你直接输入 ls 亦可正确的执行,这是因为你所使用的 shell 中环境变量 $PATH 的因素..

你可键入 echo $PATH,来看目前 $PATH 的设定,当我们执行一个指令时,系统会依照这个环境变量来搜寻这个执行档并加以执行..

内定 shell 不会将目前目录 . 加到 $PATH 中,因此如果你想在目前目录执行这个目录下的执行文件而不想加上 ./ 时,可在你的 shell 中将 . 加入..

如一般在 FreeBSD 都是使用 tcsh,你可编辑个人 home 目录下的 .cshrc 檔 set path = ( ........ ,在此加入 . 即可..

记得重新退出 shell 再登录,以便让你的新设定生效.

16.谈谈软件的安装路径..

FreeBSD 对于档案目录的观念非常重,什么样的档案要放在那个目录都有规定,这也是有别于其它 unix-like 系统..

一般我们将软件安装分成二个部份,在这里来探讨一下软件到底都安装到那去了..

在安装软件时,通常会安装诸如 执行档、设定档、man file、doc 文件..

1. 安装系统时所安装的软件

执行档通常装在 /bin、/sbin、/usr/bin、/usr/sbin、/usr/libexec 下
设定文件通在在 /etc 目录下
man file 通常在 /usr/man 或 /usr/share/man
doc 文件通常在 /usr/share/doc 下

2. 经由 package 或 port 安装的软件

执行档通常装在 /usr/local/bin、/usr/local/sbin、/usr/local/libexec 下
设定文件通在在 /use/local/etc 目录下
man file 通常在 /usr/local/man ..
doc 文件通常在 /usr/share/doc 下

以上并不是绝对的(所以我用通常..^.^),因为有些特殊情况需视软件而定..

如此有时可能会造成些许困扰,因为如 ssh 、 bind .. 大多是在系统安统时就安装的,那如果升级新版时怎么办..

由于 FreeBSD 找寻执行档时会依照 $PATH 这个环境变量找寻,因为 /bin、/sbin、/usr/bin、/usr/sbin 比 /usr/local/bin 或 /usr/local/sbin 先,所以会先执行..也就是先抓到旧版的执行档..

因此在更新时要注意这种情况,以免更新了还是执行旧的程序..

那么如何看安时程序时的相关档案的安装路径呢?通常有以下方法

1. 看 port 的 pkg-plist 檔
2. 有时用 man [执行档名称] 可看到一些重要档案的位置
3. 看说明文件,通常在 /usr/local/share/doc 目录下

17、 如何在 FreeBSD 同一片网硌卡加一个 ip 地址

有的时候,需要在同一片网络卡上加 ip 以达到一些特殊的要求..

在 FreeBSD 这是非常简单的,假设原先网络卡的 ip 是 211.211.211.211,想加一个 211.211.211.212,使用的是 rl0 这片网络卡,则做法如下..

1. 在 /etc/rc.conf 加上这一行

ifconfig_rl0_alias0="inet 211.211.211.212 netmask 255.255.255.255"

其中的 alias0 就是加装的第一个 ip,如要设定多个可在此修正,如 alias1、alias2.. aliasN

2. 重新激活网络卡,执行 /etc/netstart

# /etc/netstart


18.保护你的档案
在系统中,有许多档案或一些设定档是非常重要的,加上 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

要解除旗标设定,可用 unschg,也就是在 schg 前加 un ,如:

# chflags unschg /etc/inetd.conf

大部份我们进入主机都是以 root 身份执行,因此稍不小心,可能就..因此建议将一些重要的档案及设定档设定为 schg flags,以保护档案..

如 /bin、 /sbin、 /etc/.conf、 /usr/lcaol/etc/*.conf .. 这些档案最好都是定成 schg 旗标..

chflags 详细用法请参考 man chflags..

19.有关系统的一些激活问题..

有时,会修改 FreeBSD 的一些设定,如一些网络参数、软件的 .conf 设定,或是 /etc/r.conf 檔,那么如何让设定值生效,是否一定要重新开机呢?

这可分为三方面来说..

1. 网络相关设定,如网络适配卡、hostname .. 等,只要执行以下指令就可以重新加载你的网络设定..

# sh /etc/netstart

netstart 是一个 script 档案,执行时会去参考 /etc/rc.network。因此只要执行这个指令就能够重新激活网络设定..

有兴趣者可参考一下 netstart 及 rc.network 这二个档的内容,研究看看到底做了些什么东东..

2. 修改了 rc.conf 中其它的设定
可参考以下三个 step 来做..

. 进入单人模式
# shutdown now

. 选择 sh,造内定值即可,即 /bin/sh

. 离开单人模式
# exit

这样就会重新激活系统了..



3. 软件的设定,如一些 *.conf 檔,像是修正了 apache sendmail .. 等

通常在 /etc/local/rc.d/ 这个目录中会有相关的 .sh 檔,直接执行就可以了,注意的是一般要加上参数,一般的参数有以下(视软件而定会有不同)..

start 激活
stop 停止
reload 或 restart 重新激活

第二种方法就是直接使用 killall,如我们要重新激活 inetd,可用以下方法:

# killall -1 inetd

或是

# killall -HUP inetd

这样就可以重新激活这个 daemon 了

20.
我要如何分割硬盘..

档案目录对于 FreeBSD (或者是所有 unix-like 系统),都是相当重要的,如开始时,分割的不是很恰当,日后就会遇到一些麻烦,如空间不够..等问题..

那么,我们要如何分割比较恰当呢..

这就有关于你的用途及 FreeBSD 的目录架构了..

一般个人是建议你如此分割:

1. / 根目录,一般在 250 ~ 500 MB 绝对够用,以我的根目录来说,使用一年多了,也才用了 66 MB 多。因为这个目录只是一些 kernel modules sbin bin etc .. 等目录

2. swap 档,一般人都不知道如何设较恰档,这也没一个标准,最主要是要看你的 ram 及硬盘而言,一般设成 1-2.5 倍(相对于你的 ram)。如你的 ram 在 256 mb 以上(含),设成一倍;如在 64 - 128 mb,则建议设成 2 倍

如要检查你的 swap 使用状况,可用以下指令来看..

# pstat -T
44/4044 files
0M/127M swap space

由以上可看出目前使用的 swap 为 0 ,设定的大小为 128 M

/var 目录 及 /usr 目录

这二个目录一般都会占比较大的空间,/var 的变动较小,以我个人来说,一年前设为 8 GB ,在目前只使用了不到 2GB。

但要注意的是一般的 mail 软件,都是将信件存在 /var/mail/ 中,如果你的信件很多或很大,这个部份不妨加大一些..

而 /usr 这个目录能大就给它大一点的空间,因为所安装的程序,或是 hone 都是在这个目录下(如果你没将 home 目录设成一个分割) ..

那这两个要如何分配呢,我的建议是 usr 和 var 的比例为 3:1,或是 2:1

4. 有些主机使用者较多,如学校单位。如果你没将 home 设成一个 partition,则 FreeBSD 会将 home 安装在 /usr 目录下,如果为了管理及安全问题,则不妨将 home 分割为单一目录..

至于大小,我想应该 3-5 GB 左右,就绝对够用了

我们来举个实际例子,假设你有一颗 40 GB 的硬盘,使用内存为 128 MB RAM,那我建议你的硬盘如此分割..

1. / => 250 MB
2. swap => 取 2 倍,即 256 MB
3. /home 如要独立出来,给它 3-5 GB
4. 剩下来的以 3:1 或 2:1 的比例设给 /usr 及 /var

21.FreeBSD 在那激活程序..

一般 FreeBSD 激活后会依序执行以下位置的程序..

1. /etc/rc.conf 这个档案内的程序,如 sendmail、sshd .. 都是在此执行,另外要注意的是,在执行这个档案之前,会先参考 /etc/defaults/rc.conf 的设定

2. /usr/local/etc/rc.d 下的一些 .sh 檔,这些档案的权限都是被设定成 x ,如 apache samba .. 都是在此设定

3. /etc/rc.local 这里也可设定,如我要把 postfix 设定在此,只需在这个档案内加一行,如下

/use/local/sbin/postfix start &

加上 & ,就不会显示出讯息

4. 由 cron 所控制的一些档案,当时间到了,便会自动执行..

那心细的人可能会问, /etc/inetd.conf 内设定的呢?这些在第 1 项就执行了..

了解以上并时时注意是否有不明的程序在执行(可能是被人植入木马程序),也是日常检视系统的重要工作..

21.有关 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

了解以上之后,在编译核心无法正常执行时,相信各位知道如何处理了..
22.加速你的按键速度..

相信使用 FreeBSD 的人很多都是在 console 下操作吧,有些时,要重复某一按键速度实在很慢..

另一个问题就是 cusror 的位置有些时不太明显..

可用以下方法来改善:

在 /etc/rc.conf 中加入以下资料..

keyrate="fast"
cursor="blink" 或 "destructive"

23.显示目录及档案 => tree

有时需显示某个目录下所有的目录及档案,虽使用 ls 可达到部份功能,但并不是很方便..

在 dos 中,有个 tree 指令,是不是满好用的..

其实在 FreeBSD 中也有类似的指令 => tree..

以下我们就透过 ports 来安装 tree

# cd /usr/ports/sysutils ; make install

如此会将 tree 这个指令安装在 /usr/local/bin/ 这个目录下..

使用例子:

1. 显示 /usr/ 下的目录及档案

# tree /usr

2. 只显示 /usr 下的目录

# tree -d /usr

详细用法请参考 man tree

PS:可透过管道 | 及 more 来显示

如 tree /usr | more..

24.mount nfts
但是在mount的时候和5.2.1等以前的5.x有点不同。
5.2.1等以前的5.x可以用
#mount_ntfs -C zh_CN.eucCN /dev/* /*来mount相应的ntfs分区。
但是在5.3中需要这样来才行。
#mount_ntfs -C eucCN /dev/* /*
需要去掉zh_CN.才可以正常mount,编辑fstab,加入
/dev/ad0s2 /ntfs1 ntfs ro,noauto,-C=eucCN 0 0
注意NTFS格式只读
mount iso:
在FreeBSD4.x下的方法:
%vnconfig /dev/vn0c ./IMAGE.ISO
%mount -t cd9660 /dev/vn0c MOUNT_DIR
%umount MOUNT_DIR
%vnconfig -u /dev/vn0c
在5.x以下则完全不同了:
%mdconfig -a -t vnode -f abc.iso -u 1
%mount -t cd9660 /dev/md1 MOUNT_DIR
%umount MOUNT_DIR

25.
如果控制台处于非安全状态,那么进入单用户状态就需要口令认证了。

提示:更改/etc/ttys中有关console的设置为insecure来保护单用户状态。
tty0改为insecure时,root用户没法在console下直接登陆

26.freebsd下默认安装的戏在命令是fetch,linux下是wget
uname -R 操作系统版本,free显示内存,swap的使用情况

27. vim代码颜色显示
修改$HOME中的.vimrc
syntax on(彩色)
syntax off(单色)
没有这个文件,建立一个就是了

28.
FreeBSD系统提供内核的源代码,在安装系统时是否安装内核代码与使用的不同安装选项有关。安装后的源代码位于/usr/src/sys目录中,如果这个目录不存在或者为空目录,则说明源代码没有安装。此时就必须重新安装内核源代码。

  仍然可以使用/stand/sysinstall程序,选择Distribution选项来安装源代码;也可以运行安装介质中src目录下的install.sh来安装。安装FreeBSD内核源代码之后,习惯上还创建了一个符号连接/sys,指向/usr/src/sys目录,以方便使用。

29.  n>&m
      使文件描述符n指向文件描述符m相同的文件

30.
你已经修改了motd并从中删除了内核版本信息,默认情况下FreeBSD仍然会在启动之后把这些东西加入 /etc/motd 。因此需要修改 /etc/rc.conf 并加入下面的设置:
  update_motd="NO"

31.
修改登录提示,编辑 /etc/gettytab. 找到 default:\\ 小节,它以下面的文字开头:
  :cb:ce:ck:lc

%s -->OS
%m -->Architecture
%h -->Hostname
%t -->tty name

  小心地修改 \\r\\n\\ \\r\\n\\r\\nr\\n: 之间的文字来适应自己的需要。请仔细检查 \\r 和 \\n 的数量,并保存修改。例如,我的登录提示是这样的:
  I''m a node in cyberspace. Who are you?
  login:

  可以在其他终端上尝试登录,以确认正确性。

32.
(1)启动日志
  修改/etc/rc.conf文件。
  #记录SSH连接记录
  security.*;auth.info /var/log/security #记录连接到SSH的日志信息
  auth.* /var/log/authlog

33.
用下面的命令可以查看哪些服务正在试图监听连接你的系统:
  sockstat -4

34.
你可能需要,也可能不需要打开这个端口,这取决于使用什么样的邮件程序来收发邮件。对于运行 FreeBSD 4.6-RELEASE 或更高版本的系统,在/etc/rc.conf中增加下面的行:
  sendmail_enable="NO"

  将告诉 sendmail 只监听 localhost,这允许所有的邮件客户程序发送邮件。如果你知道你的邮件客户程序带有内置的SMTP代理,或者喜欢冒险,那么可以尝试一下:
  sendmail_enable="NONE"

  这将彻底关闭25端口。检查一下这是否让你无法发送邮件是很重要的,确保已经关掉了所有应用程序,随后,以超级用户身份执行:
  shutdown now

  收到提示后按回车、exit。重新登录后给自己发一封邮件,如果收不到,那么把NONE改回NO。

  如果你的"sockstat"显示端口111打开,那么把下面几行加到 /etc/rc.conf (或者,如果已经有这些行,把 YES 改为 NO):
  nfs_server_enable="NO"
  nfs_clIEnt_enable="NO"
  portmap_enable="NO"



35.

syslog (端口 514) 也可能出现在你的输出结果中。我们可能并不希望完全关掉 syslog ,因为它提供的消息记录是我们需要的。但我们并不需要为此打开端口。在 /etc/rc.conf 文件中增加下面的选项:
  syslogd_enable="YES"
  syslogd_flags="-ss"

  标志中的ss (确认用了两个s,而不是一个) 将禁止来自远程主机的记录并关闭端口,但仍然允许 localhost 进行日志记录。

36.
你可能希望禁止一切远程登录(这意味着你必须物理地坐在机器前面),删除下面这一行前面的#号:
  #-:wheel:ALL EXCEPT LOCAL .win.tue.nl

  把 .win.tue.nl 去掉,于是它看起来将像这样:
  -:wheel:ALL EXCEPT LOCAL

  如果你需要从远程登录,那么把.win.tue.nl 替换为相应的IP或域名。如果有多个地址,用空格分开。

  如果只有一两个用户的话,那么可以拒绝其他人登录:
  -:ALL EXCEPT user1 user2:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4

  用具体的用户名替换掉 user1 user2 。如果需要的话,增加相应的tty。

  另外,也可以把用户组方在这里。首先,编辑 /etc/group 并增加下面的行:
  mygroup:*:100:genisis,dlavigne6,biko

  当增加组时,需要保证GID的唯一性。

  随后,修改 /etc/login.access :
  -:ALL EXCEPT mygroup:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4 ttyv5

  测试它非常重要,一定要留一个终端。测试每一个终端上的登录,确认其效果。

37.

拒绝直接以root身份登录:

  在/etc/ttys文件中,将"secure"标记改为"insecure"标记,使系统在进入单用户模式时会要求root密码。但是这样以来也为恢复root密码制造了障碍——安全和易用再次形成了矛盾的两个对立面。

38.
#找出你所有的可写入目录,
  #find / -perm -0777 -type d -ls

39.
配置SSH


  修改/etc/ssh/ssh_config文件

  (1)使用protocol 2代替protocol 1,SSH2更加安全,可以防止攻击者通过修改携带的版本banner来劫持(hijacking)启动会话进程并降低到protocol 1。注释掉protocol 2,1 改用下面语句代替:

  protocol 2

  (2)合理设置最大连接数量, 防止DOS攻击

  MaxStartups 5:50:10

  (3)禁止远程root和空密码登录,建议关闭X11forwording

  X11Forwarding no

  (4)强烈建议不使用静态密码,而使用DSA 或RSA KEY,修改如下内容可以关闭使用密码认证:

  PasswordAuthentication no

  (5)可以限制组或光是单个用户访问shell

  AllowGroups wheel
  AllowUsers xundi

  (6)使用TCP wrappers来限制一些访问,修改/etc/hosts.allow文件,注释掉"ALL : ALL : allow",增加如下内容:

  sshd:localhost:allow
  sshd:friendlcomputer:allow
  sshd:all : deny

  #相关命令:
  #chsh -s /sbin/nologin user
40.
FreeBSD下面
$ md5 4.1-install.iso
MD5 (4.1-install.iso) = 782d53b69c9e9ae89678c925ba6b6647

Linux下面
$ md5sum 4.1-install.iso
782d53b69c9e9ae89678c925ba6b6647 4.1-install.iso

41.
升级源码树
安装cvsup
进入:/usr/ports/net/cvsup
make clean
make deinstall
make install
make clean
即可

升级系统源码树及ports
更新/usr/share/examples/cvsup目录下stand-cvsup和ports-cvsup文件,并执行cvsup –g –L2 standard-supfile和cvsup –g –L2 ports-cvsup两个文件,升级ports树﹔

42.
如何让FreeBSD的csh像bash那样按tab列出列出无法补齐的候选文件?
答:标准的方法是按Ctrl+D。但如果一定要用tab的话,在/etc/csh.cshrc中加入:
代码:
set autolist

43.
FREEBSD-6.0更新到稳定版

首先安装FreeBSD的系统源代码和Ports

# mount -t cd9660 /dev/acd0 /mnt/
# cd /mnt/6.0-RELEASE/ports
# ./install.sh

# cd /mnt/6.0-RELEASE/src
# ./install.sh all

更新FreeBSD的系统源代码以及Ports

# cd /usr/share/examples/cvsup
# vi standard-supfile
*default host=cvsup4.FreeBSDChina.org
*default release=cvs tag=RELENG_6

# cvsup -g -L 2 /usr/share/examples/cvsup/standard-supfile
# cvsup -g -L 2 /usr/share/examples/cvsup/ports-supfile

编译生成新的系统二进制文件

# cd /usr/src
# make buildworld
# make installworld
# reboot

    现在,你的系统已经是最新的了。注意新的系统升级完成之后一些原先安装的软件最好重新安装,否则很容易引发一些意想不到的问题。

44.
问:tcsh(csh兼用) 提示符的变量常用的都有哪些?

答:

! 和%h一样
%B 开始粗体模式
%b 结束粗体模式
%c 当前工作目录名称的最后部分
%c2,%c3等等 当前工作目录名称的最后两个、三个(等等)组成部分
%C 跟%c类似,但是使用长形式的目录名称
%d 本周的当天
%D 今天是当月中的第几天
%h 当前命令的历史记录编号
%l shell的当前控制终端
%L 清除从提示符末尾到下一行的所有内容
%m 机器的主机名称
%M 机器的完全符合规范的域名
%n 用户名
%p 用精确格式(包括秒)显示的12小时制时间
%P 用精确格式(包括秒)显示的24小时制时间
%S 开始标准输出格式
%s 结束标准输出格式
%t 以12小时制格式显示时间
%T 以24小时制格式显示时间
%U 开始下划线模式
%u 结束下划线模式
%w 当前月的名称
%W 当前月的序数
%y 以2位格式表示的年
%Y 以4位格式表示的年
%% %字符
%! 跟%h相同
%
跟%t相同
$# 扩展到>供常规使用,如果用户正以root身份运行的话,就扩展到#
%/ 当前工作目录的完整名称
%- 以短格式表示的当前工作目录
^C 跟C匹配的控制字符:例如^G代表Ctrl+G
\\a 使tcsh在任何时候显示提示符时嘟嘟响
\\e 终止的escape符0x1B
\\f 终止的换页符
\\n 在这个位置开始一个新行
\\r 回车符
\\t Tab制表符
\\v 垂直制表符
\\nnn 由八进制数字nnn所指定的字符

45.
在 console 下操作时,由于屏幕显示有限,有时需看前面显示的资料,这时你可:

. 按一下 Pause or Scroll Lock键后,则可利用 PageUp PageDown Up Down Home End 等键来看前后显示的资料

. 再按一下 Pause or Scroll Lock则可回复等待输入画面.

46.
加快你的开机速度..

严格说起来,FreeBSD 的开机速度算满快的,不过中间会有个 10 秒的延迟时间(以便让你进入 boot 的 command prompt mode),如果你嫌这10秒还是太慢了,那你可将时间?#123;短一些..

FreeBSD 激活时会先去参考 /boot/defaults/loader.conf 档的设定,然后再参考 /boot/loader.conf,一般我们都不去?#123;整 /boot/defaults/loader.conf 这个档,而直接?#123;整 /boot/loader.conf..

只要在 /boot/loader.conf 中加上以下这一行即可

autoboot_delay="秒数" 即可,如

autoboot_delay="7" 代表7秒

这样开机是不是更快了..

另外建议,有时间可参考一下 /boot/defaults/loader.conf 这个档案的设定,其中有许多实用的设定哦..

47.
$lock -p
当你使用终端登陆时想暂时离开而又不想logout,那么可以用lock -p.
当你返回时输入密码就可以.
免责申明1、欢迎访问本站,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@dbabbs.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|DBA论坛中国 ( 鲁ICP备20017503号-2 )

GMT+8, 2024-11-23 16:05 , Processed in 0.081496 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表