2013年07月09日

$command option(s) argument(s)
command:命令
option(s):命令选项,均以’-'号开始
argument(s):参数
命令 用途
——————————————————-
prtconf 显示系统的各项主要配置
svmon -G 查看内存(4k)
iostat 2 查看磁盘读写情况(每2秒刷新);
set -o vi 调用缓冲区 k,j,x,h,l 向上下翻,Esc
smit 进入管理界面
cd 改变路径
ls 列出文件
ls -aF 列出隐含文件,并适当分类
ls -l 列出文件的详细信息
ls -ltr
more 输出文件内容到屏幕
cat 显示文本文件内容/合并文件
pg 分页显示文件内容,回车后下一页
file 显示文件属性(可执行/ASCII/等)
clear 清屏
mkdir 创建目录
rmdir 删除目录
cp 拷贝文件
mv 文件/目录改名,转移
rm 删除文件/目录, 如:rm -fr ora*
rmdir 删除目录,如: rmdir oracle
df -k 显示文件系统的信息
du 磁盘使用信息汇总
mount 显示已经挂装的文件系统的信息或挂装文件系统 mount -rv cdrfs /dev/cd0 /cdrom mount /dev/lv02 /u01
umount 卸载某个文件系统 umount /cdrom
fuser -kxuc /dev/cd0 当光驱不能正常释放时
lsattr -E -l sys0 -a realmem 察看内存的命令
env 输出用户环境变量到屏幕
id 察看用户的属性
whoami 察看当前用户名
who 查看已经登录的用户
who -r 查看目前系统的运行级别
users 用单独的一行打印出当前登录的用户,每个显示的用户名对应一个登录会话
如果一个用户有不止一个登录会话,那他的用户名将显示相同的次数
w 显示当前系统中每个用户和它所运行的进程信息
last 此命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户
whereis 命令的绝对路径
passwd 设置用户密码
su 改变/切换用户id
lsuser ALL 列出所有已经创建的用户
lsgroup ALL 列出所有已经创建的组
smitty user 管理用户
mkuser 创建新用户,创建用户的缺省属性值于文件:/usr/lib/security/mkuser.default,只能由root修改
smitty group 管理组
mkgroup 创建新组
chfn 改变用户详细信息
jobs 查看后台任务/进程
fg 把后台进程调到前台
bg 把当前进程调到后台运行
grep 查找匹配字符/字符串
netstat -i 显示网络连接信息及统计信息
netstat -IN
netstat -rn 显示核心路由表
netstat -I 网络设置名 端口号 监视端口情况
netstat -v 正在使用的设备驱动程序的统计信息
netstat -m 网络使用的内存空间情况
netstat -D 显示丢弃包的情况
ifconfig -a 显示网络配置信息
umask 显示文件创建掩码,即新建文件或目录的缺省权限,如#umask 664
date 系统时间
find path expression 查找文件,expression的值有:
-name/-type/-size/-mtime(修改时间)/-perm(权限)/-usr/-o(或)
uname 显示操作系统信息
oslevel 系统版本
man 帮助文件
smitty clstart | clstop 起用|关闭HA
smitty hamcp
smitty chinet 改变网卡的配置信息
smitty cluster 配置cluster
smitty hacmp 配置hacmp
/usr/sbin/cluster/clstat & 显示cluster信息
dbassist 启动oracle数据库配置助手(dbca -9i 可以用配置数据库方式启动一个数据库)
netasst 启动oracle数据库listener配置助手(-9i oemapp是一个包,后跟参数,不同工具)
vi 文件编辑器
动作字符:
a 在当前字符后添加文字; x 删除单个字符;
A 在当前行最后添加文字; dw 删除至当前词尾;
i 在当前字符前添加文字; d$ 删除至当前行尾;
I 在当前行开始处添加文字; d0 删除至当前行首;
o 在当前行后添加新行; dd 删除当前行;
O 在当前行前添加新行; :20,40d 删除20行至40行;
/text 向后查询 ?text 向前查询
r 修改当前字符 R 覆盖字符,直至按下[ESC]
s 删除当前字符,并可添加字符直至按[ESC]
S 删除当前行,并可添加字符直至按[ESC]
yy 将当前行存入缓冲区
dd
p
P
errpt|pg 创建/显示错误文件
errclear 0 清除错误日志文件内容
lsvg -o 显示卷组信息
lsvg -l rootvg
instfix -iv|grep AIX_ML 安装的文件集
smitty tcpip tcp/ip配置
lsdev -Cc disk 系统设备信息(磁盘)
lspv 显示卷组里的物理卷信息
lsdev -Cc pdisk 显示阵列里的磁盘信息
errclear 清除error log
lsps -a 显示交换空间
swapon /dev/paging01 激活交换空间
chps -a paging01 删除交换空间
rmps paging01 删除不活动的交换空间
smit mkps 增加交换空间
smit chps 修改交换空间
varyonvg 激活卷组 如:varyonvg datavg 将datavg激活
varyoffvg 关闭卷组
/ect/services 查看端口
/etc/hosts 机器名IP对照表
/etc/inittab 相当于DOS的AUTOEXEC.BAT文件
/etc/filesystems 记录所有的文件系统设置
增加并配置端口
删除端口
ftp://root@10.188.12.250/ 在客户端登录AIX(用IE)
lscfg
lsdev
route ADD 0 10.188.12.1
route add default 192.168.0.1 设置网关(或在/etc/defaultrouter文件中加入网关地址,重起机器就行)
su root 以ROOT用户登录;
smitty lv 增加逻辑盘
LN -s 源目录 目标目录 链接
ls -l 查看权限
./fielname 运行filename文件
smitty clstart 启动HA
smitty clstop 停止HA
.filename 表示filename文件(目录)为隐藏;
cat file1 >> file2 合并file1到file2
SMIT 综合管理工具
# 表示ROOT用户;
$ 表示一般用户;
shutdown -fr 快速重启;
smitty crjfs 创建结点; mount /u05 chown -R oracle.dbs u05 chmod -R 777 u05
加一个文件系统的步骤: 加文件系统/chmod/chown/mount 文件系统名
smitty jfs
smitty lv
smitty lvm 管理逻辑卷
smitty vg 管理卷组
smitty chvg
drwxrwxrwx d表示目录,-表示普通文件,r表示链接; d421421421 777全部权限
-rwxrwxrwx 第2-4:属主用户,5-7:同组用户,8-10所有用户
date 0217142590 This sets the date and time to Sat Feb 17 14:25:00 CST 1990.
当root不能在其终端上登录时 修改/etc/hosts文件,查看其IP地址对应的主机名;
当其他用户不能在其终端上登录时 删除用户,并删除/home下对应的目录,重建;
smitty aio 调整aioservers
#pstat -a|grep aios|wc -l 查看aio的值是否常达到MAX,IF 增加MIN, MAX aio;
当任何用户都不能登录图形界面时 有可能根结点充满,在登录窗口用字符方式登录,加大根结点空间即可;
ps -ef | grep cluster 查找包含”cluster”的进程
more /etc/passwd|grep zhxx 查找静态字符”zhxx”
pe -f 进程查看,如:# ps -f
UID PID PPID C STIME TTY TIME CMD
root 43626 45014 0 20:38:58 pts/1 0:00 -ksh
root 47710 43626 2 21:08:03 pts/1 0:00 ps -f
用户ID 进程ID 父进程ID CPU利用率 开始时间 控制台 运行时间 命令
kill -9 **** ***为进程号,可用ps获得
ping 10.188.12.252 -l 17000 -t 以17000 bytes/包 ping 目标
crontab 创建计划任务(crontab -l 查看已有任务, crontab -e 编辑或增加,删除任务)
0 2 * * * /u05/dmpbak/auto.sh 表示:每天两点执行/u05/dmpbak/auto.sh文件
lsfs 列出所有文件系统
lsvg -l rootvg 列出rootvg的卷
lsvg -p rootvg 列出物理卷信息
lsvg datavg 可查询空闲物理分区数
smit reogvg 重组卷组
smit importvg 导出卷组,卷组必须是不活动的;
lspv hdisk0 显示物理卷
lspv -l hdisk0 逻辑卷映射
lspv -p hdisk0 物理卷映射
defragfs -q /u01 报告文件系统的当前状态
defragfs -r /u01 得到碎片连续化操作后和前后对比情况
defragfs /u01 执行碎片连续化操作
fsck /u05 检查u05文件系统
xclock 时钟,可用于检查环境是否正常
chmod 777 /u02
r 2=3 相当于:chmod 777 /u03
rsh zzyc2_sev 在其他机器上登录某主机
dgmgrl 类似SVRMGRL(9i)
ps -ef |grep oracle |pg 查看oracle用户的所有进程
kill -9 14206 杀14206#进程
kill -l 显示KILL命令可以用的信号量
killall signal 删除除发送外的其他所有进程
/usr/sbin/cluster/clstat & 显示双机热备状态图
exit或logout 退出登录
qprt filename1,filename2… 打印文件
qchk 查看打印队列
qcan 取消打印作业
lsps -a 查询交换空间,如USE超过70%,则要增加
set 查看已定义的变量;
echo $name 查看某个变量的值;
xxx=value 定义变量
unset xxx 删除变量
`` 把``之间的内容作为一个命令,返回命令结果; 如$now=`date` $echo $now
” 直接显示”间的内容,不予解释;
“” 解释”"间的$,``,等字符的特殊含义;
忽略后的特殊字符的特殊含义;
$$ 表示当前进程的ID
$0 当前shell程序的名称
$# 传给当前shell Script的参数个数;
$* 传给当前shell Script的第*个参数,$1-$9,${10}……
$? 最近一个命令的返回值;
$! 最近一个后台进程的ID号;
expr shell下的四则运算:
* 乘; /除; % 求余数; +,- 如:expr (3+3)*(4-2)
command1 && command2 如果第一个命令执行成功,则运行第二个命令;
command1 || command2 如果第一个命令执行失败,则运行第二个命令;
test 表达式 测试条件表达式,主要有:
-f filename 文件是否存在;
-d dirctory 目录是否存在;
-r filename 文件存在,且能被当前进程读;
-w filename 文件存在,且能被当前进程写;
-x filename 文件存在,且能被当前进程运行;
-n string 字符STRING长度非零;
-z string 字符STRING长度零;
string1=string2 两个字符串相同;
integer1 -eq integer2 两个变量相等;(ne:不等 gt:大于 lt:小于 le:小于等于 ge:大于等于)
if ..
then ..
else…
fi
read xxx 从标准输入读入一行,赋给xxx变量; read x echo $x
for i in ….
do

done
while expression
do

done
ksh scriptname
scriptname
pathname/scriptname shell script的三种执行方法
#command 前台进程
#command & 后台进程
nice/renice 增加/再增加nice的值,从而降低进程优先级;
nohup command & 使用户的后台进程在用户退出时仍然运行
#alias alias=string 赋命令别名
unalias aliasname 取消命令别名
history 显示最后的16条命令
cal 2003/cal 2 2003 日历
finger [oracle] 显示用户信息
mail 接收,发出,查看电子邮件
clear 清屏
echo 显示指定信息
wc filename 统计指定文件的行数,词数,字节数
head filename 显示文件头
tail filename 显示文件尾
tail -f /tmp/hacmp.out 显示HACMP启动情况
[^+C]/[^+d]/[^+s]/[^+q]/[^+u] 终止/结束文件传输/暂停屏幕输出/继续屏幕输出/删除当前输入行
smit(system management interface Tool)
其log文件/script文件保存在各用户目录下;
alog -o -t boot 查看引导日志
chtz 设置新时区
/etc/profile
/etc/environment
$HOME/.profile 系统设置用户环境的主要文件;
lsuser -a id home ALL 列出所有用户
/etc/motd 用户登录时显示的信息,可直接编辑,但如果用户主目录下$HOME/.hushlogin存在,motd不显示;
wall ***** 向各登录用户发出*****消息,用户终端上将马上显示;
/var/adm/sulog su命令执行记录
/var/adm/wtmp,/etc/utmp 用who命令查看登录记录
last root |pg root用户登录记录
last reboot | pg 重启记录;
/etc/passwd 合法用户(不含密码)
/etc/group
/etc/security 普通用户不能访问的安全性文件目录
lsdev -P 列出所有的设备, lsdev -Pc disk
smitty devices 设备管理
lsattr -E -l sys0 列出已配置的设备
jfs/Cdrfs/Nfs AIX支持的三种文件系统
/var/adm/wtmp
/var/spool/*/*
/smit.log
/etc/securibty/failedlogin
/var/adm/sulog 这些文件增长很快,要定期清理,可用cat /dev/null > filename方式清理
du /u05 | sort -r -n 查询文件或目录所占用的磁盘块数
vmstat 显示虚拟内存,内存及CPU活动信息;
arp -a 查看解析协议ARP表
hostname 显示机器名
/etc/rc.tcpip 系统启动时自动执行,进而执行以下子进程:
 -syslogd :错误信息日志
 -portmap :端口查找
 -inetd :Internet服务的主守护进程
 -named :域名服务器
 -lpd :打印服务器
 -routed or gated :动态路由
 -sendmail :邮件系统
 -timed :时间服务器
 -rwhod :远程用户信息
 -snmpd :SNMP代理进程
host 机器名/IP 实现IP与机器名的转换
rsh PTYC2_svc date 执行另一台主机上的命令
lscfg 显示机器配置信息
lsdev -C -c if 显示网络接口描述
lsdev -C -c adapetr 显示适配描述
netpmon -v 物理/逻辑资源的详细报告
ps aux 查询内存使用情况
sar [-u|-c|-a|-q|-r] [-p] 1 10 查询系统负载情况
traceroute 10.188.182.1 跟踪IP
netpmon 可以监控关于网络行为的系统事件和性能以及网络行为对CPU的消耗。
lsdev -C|grep Process|wc -l 显示CPU数量
smitty mklv 创建裸设备(字符型设备);
smitty rmlv 删除裸设备(字符型设备);
lslv ***** ******为裸设备名称,显示裸设备相关参数
/etc/default/login 加上CONSOLE=/dev/console 后,可防止root用户telnet;
SSL工具代替telnet等,增加安全性
/etc/passwd …/bin/sh 对应 .profile
/etc/passwd …/bin/csh对应 .login
系统正常从桌面登录执行 .dtprofile
su – username执行 .profile
vmstat 查询内存情况
iostat
mpstat 查询CPU情况
/etc/vfstab 磁盘目录规划
mount 目录安装情况
format 查看磁盘物理信息
p 分区
p
swap [-l|s|d|a] 操作swap交换空间
patchadd -d 补丁文件名 打补丁-p 显示已打的补丁信息
sysdef -i
share -F nfs -o ro /etc
hare -F nfs -o rw=usera:userb /export
unshare /etc
dfshares
/usr/dt/bin/dtconfig -d 这将告知系统在下一次重新引导时不启动登录服务器。
/etc/ftpusers,/etc/default/login SOLARIS8下的FTP和TELNET缺省是关着,看看这两个文件.
sys-unconfig solaris重新设置
kdmconfig 配置显示器
eject 弹出CD-ROM或软驱;

2013年03月22日

我添加的是一块SCSI的硬盘, 所以新加的硬盘应该是以da0,1….开头. 如果是添加IDE的硬盘, 貌似应该是以ad0,1… 开头的了.

一、默认安装完freebsd系统后,可执行df -h命令查看当前硬盘信息:
[root@www.unixnotes.net /] #df -h

Filesystem     Size    Used   Avail Capacity  Mounted on  /dev/
da0s1a
    140G    2.9G    126G     2%    /  devfs          1.0K    1.0K      0B   100%    /dev  

从以上信息可知硬盘是
ad0
,好,接下来关机,接上第二个硬盘,开机登陆freebsd系统,执行dmesg命令:
[root@www.unixnotes.net /]#dmesg
显示以下信息:

......................................  .........省略部份..................  .........................  ppi0:  on ppbus0  da0
: 139205MB  [79656/16/63] at ata0-master UDMA100  da1
: 38166MB  [77545/16/63] at ata1-master UDMA100  Mounting root from ufs:/dev/ad0s1a  

从以上信息可以看到新加的硬盘是
da1,

二、建立newdirectory目录用于挂载第二个硬盘
[root@www.unixnotes.net /]#cd /
[root@www.unixnotes.net /]#mkdir newdirectory
情况一,新增加的硬盘是没有数据的,或新增加的硬盘数据是不要的了!

先格式化一下硬盘:
[root@www.unixnotes.net /]#dd if=/dev/zero of=/dev/da1 bs=1k count=1

始化新磁盘
[root@www.unixnotes.net /]#fdisk -BI da1

加上标签
[root@www.unixnotes.net /]#disklabel -B -w -r da1s1 auto

现在编辑你刚才创建的磁盘分区
[root@www.unixnotes.net /]#disklabel -e da1s1

为你创建的每个分区重复这个操作
[root@www.unixnotes.net /]#newfs /dev/da1s1c

挂上分区
[root@www.unixnotes.net /]#mount /dev/da1s1c /newdirectory
情况二,要增加的硬盘是有数据的,而且数据是要保留的,到时要挂载到netdirectory目录的!

加上标签
[root@www.unixnotes.net /]#disklabel -B -w -r ad2s1 auto

现在编辑你刚才创建的磁盘分区
[root@www.unixnotes.net /]#disklabel -e ad2s1

挂上分区
[root@www.unixnotes.net /]#mount /dev/ad2s1c /newdirectory

三、编辑/etc/fstab 文件,添加合适的记录到你的/etc/fstab文件。如我的是增加以下信息:

/dev/ad2s1c             /netdirectory          ufs     rw              2       2

以上空白处用tab键隔开,不是空格,我的是ad2,具体根据dmesg显示的信息修改!如下是我的fstab文件内容:
[root@www.unixnotes.net /]#vi /etc/fstab

# Device                Mountpoint      FStype  Options         Dump    Pass#  /dev/ad0s1b             none            swap    sw              0       0  /dev/ad0s1a             /               ufs     rw              1       1  /dev/ad0s1f             /tmp            ufs     rw              2       2  /dev/ad0s1g             /usr            ufs     rw              2       2  /dev/ad0s1e             /var            ufs     rw              2       2  /dev/acd0c              /cdrom          cd9660  ro,noauto       0       0  proc                    /proc           procfs  rw              0       0  /dev/ad2s1c             /netdirectory          ufs     rw              2       2  

五、OK完成!

Source:http://blog.163.com/liulina_517@126/blog/static/37661983201191411221176/

2010年08月16日

一.unix系统的基本安全机制

1.用户帐号

用户帐号就是用户在unix系统上的合法身份标志,其最简单的形式是用户名/口令。在unix系统内部,与用户名/口令有关的信息存储在/etc /passwd文件中,一旦当非法用户获得passwd文件时,虽然口令是被加密的密文,但如果口令的安全强度不高,非法用户即可采用“字典攻击”的方法 枚举到用户口令,特别是当网络系统有某一入口时,获取passwd文件就非常容易。

2.文件系统权限

unix文件系统的安全主要是通过设置文件的权限来实现的。每一个unix文件和目录都有18种不同的权限,这些权限大体可分为 3类,即此文件的所有者、组和其他人的使用权限如只读、可写、可执行、允许suid和sgid等。需注意的是权限为允许suid、sgid和可执行文件在 程序运行中,会给进程赋予所有者的权限,若被入侵者利用,就会留下隐患,给入侵者的成功入侵提供了方便。

3.日志文件

日志文件是用来记录系统使用状况的。unix中比较重要的日志文件有3种:

(1)/usr/adm/lastlog文件。此文件用于记录每个用户最后登录的时间(包括成功和未成功的),这样用户每次登录后,只要查看一下所有帐号的最后登录时间就可以确定本用户是否曾经被盗用。

(2)/etc/utmp和/etc/wtmp文件。utmp文件用来记录当前登录到系统的用户,wtmp文件则同时记录用户的登录和注销。

(3)/usr/adm/acct文件。此文件用于记录每个用户运行的每条命令,通常我们称之为系统记帐。

二.unix系统和安全防范

金融系统应用的unix网络系统一般均采用客户/服务器方式。系统前台客户机运行并向后台系统发出请求,后台服务器为前台系统提供服务,系统功能由前 后台协同完成,典型的应用如:前台运行银行界面输入输出、数据校验等功能,后台实现数据库查询等操作。由于unix系统设计基于一种开放式体系结构,系统 中紧密集成了通信服务,但存在一定程度的安全漏洞,容易受到非法攻击,通过多年的实践证明,加强安全防范,特别是针对一些可能的网络攻击采取一定的安全防 范措施,unix网络系统的安全性就可以大大提高。

1.网络攻击类型

(1)猛烈攻击(brute-force attack)。此攻击的目标是为破译口令和加密的信息资源,当试图入侵者使用一个高速处理器时,便可试用各种口令组合(或加密密钥),直到最终找到正确的口令进入网络,此法通常称之为“字典攻击”。

(2)社会工程攻击(social-engineering attack)。此攻击也是最难防备的一种攻击方式。网上黑客通常扮成技术支持人员呼叫用户,并向用户索要口令,而后以用户的身份进入系统。这是一种最简单同时也是最有效的攻击方式。

(3)被动攻击(passive attack)。非法用户通过探测网络布线等方法,收集敏感数据或认证信息,以备日后访问其他资源。

(4)拒绝服务(denial-of-service)。此攻击的目的通常是指试图入侵网络者采用具有破坏性的方法阻塞目标网络系统的资源,使网络系统暂时或永久瘫痪。如入侵者使用伪造的源地址发出tcp/ip请求,阻塞目标网络系统的资源从而使系统瘫痪。

2.网络安全防范策略

网络系统的攻击者可能是非法用户,也可能是合法用户,因此,加强内部管理、防范与外部同样重要。可实施以下策略进行防范。

(1)加强用户权限管理。为了保护unix系统资源安全,即使是对合法用户也必须采用最小权限法,即给每个用户只授予完成特定任务所必需的系统访问权 限。通常可以采用给每一个用户建立请求文件和资源访问许可权的程序,给定每个用户要处理的任务权限及任务的持续时间等。

(2)加强用户口令管理和更新。口令通常是较容易出现问题的地方,即使口令被加密,也容易在非法入侵者的“猛烈攻击”下被攻破。金融系统通常是一个群 体工作环境,工作中经常存在各种授权,银行的柜台活动也处在电视监控之下,口令泄露机会较多。因此,一方面要强制使用安全口令(使用非字母字符、大小写字 母混用、规定口令最小长度不得少于6位数,最好8位数、使用强加密算法等);另一方面系统管理员要主动定期使用口令检查程序(如:crack)对口令文件 进行检查,若口令不合乎安全规范,则需及时更换口令。还可以采用一定的技术手段,增加“字典攻击”的难度,如改变口令加密算法中的加密参数,然后加密口 令,这样除非攻击者同样改变了此参数,否则就得不到正确的口令。加强监控室及监控录象带的管理,对各类授权活动最好采用刷卡方式进行。

(3)设置防火墙。将网络系统内部分为多个子网,分级进行管理,这样可以有效地阻止或延缓入侵者的侵入。通常防火墙设置在内部网络与外部网络的接口 处,防火墙从功能和实现机制上分为数据包过滤、代理服务器两大类,两者在安全防护上各有特点,因此,一个比较完善的防护隔离体系就是将两种防火墙结合起 来,形成屏蔽子网体系结构,此举可大大提高内部网络的安全系数。但是,防火墙只能防护外部网络对内部网络的攻击,无法防护由内部网络发起的攻击或者拥有合 法访问权限的内部人员从外部发起的攻击,并且防火墙无法防护内外网络之间有其它不通过防火墙的通路。总之,防火墙需要与其它机制配合才能适应新的威协。

(4)建立实时监视系统。使用iss的realsecure实时监控系统对网络系统的运行过程进行实时监视和审计,对内部或外部黑客的侵入及一些异常 的网络活动能够实时地进行识别、审计、告警、拦截。realsecure还能和防火墙产品配合,及时切断“黑客”与信息系统的连接,形成一个动态的安全防 护体系。iss软件信息可访问[url]http://www.iss.net[/url]。

(5)定期对网络进行安全漏洞检测。网络安全是千变万化的,所以保护措施也应该是动态的,没有固定的模式可循,作为unix系统的管理人员,也要尝试 定期对网络服务器进行攻击测试,这样既可以分析和探索试图入侵者的攻击思路,同时又可以及时发现系统安全保护机制中的潜在问题,及时进行有效防范。

(6)制定相应的灾难恢复计划。没有一种安全策略是十全十美的,因此根据可能发生的情况制定相应的灾难恢复计划是非常有必要的。一是定时对网络系统上 各个计算机的系统文件、数据库文件进行备份。二是对网络系统和通讯系统备份,在系统万一遇到恶意攻击、软件故障、硬件故障、用户错误、系统管理员错误等灾 难后,可以及时采取相应的对策,恢复系统的正常运行,尽可能将损失减少到最小程度。

3.加强网络系统服务的安全手段和工具

(1)直接配置检查。使用cops(computer oracle password and seurity system)从系统内部检查常见的unix安全配置错误与漏洞,如关键文件权限设置、ftp权限与路径设置、root路径设置、口令等等,指出存在的失 误,减少系统可能被本地和远程入侵者利用的漏洞。cops软件信息可访问 [url]http://www.jordanpan@163.net[/url]。

(2)使用记录工具记录所有对unix系统的访问。大多数现成的unix应用系统可以通过syslog来记录事件,这是unix系统提供的集中记录工 具。通过每天扫描记录文件/var/adm/messaged,并可通过配置syslog,把高优先级的事件及时传送给系统安全员处理。另一个有用工具是 tcp wrappers,应用此软件可以解决unix网络系统安全监视和过滤问题,本软件将所有tcp连接试图(无论成功与否),都记录到一个文本文件里,文本 文件具体内容包括请求的源地址、目的地址、tcp端口和请求时间等。通过监视tcp wrappers记录,查看所有未遂连接试图,并可以通过配置,由tcp wrappers来根据某些因素,如源或目的tcp端口、ip地址等接受或者拒绝tcp连接。tcp wrappers软件下载地址为[url]ftp://ftp.win.tue.nl/pub/security[/url]。

(3)远程网络登录服务。此服务是我们使用最频繁的,unix系统提供了telnet和ftp远程登录,当使用telnet或ftp登录时,用户名和 口令是明文传输的,这就可能被网上其他用户截获。入侵者也经常使用telnet或 ftp对网络系统发动“猛烈攻击”。入侵者可较容易地编写一个脚本,通过破译不同的口令来试图和远程服务器建立连接,而telnet精灵进程在多次连接试 图失败之后会产生一定的延迟,延迟时间和未遂的注册次数成正比,从而防止入侵。还有一种加强telnet或ftp服务口令安全的方法,就是每次使用不同的 密码,这可通过s/key工具实现。s/key系统建立在一次性用户口令的基础上,生成一系列口令,用户可以使用这些口令与unix服务器进行远程访问, 且不需要特殊的客户机软件。s/key的认证算法使得入侵者无法预测用户下一个口令的内容。由于ftp功能与telnet类似,为此可以修改/etc /ftpusers文件,指定不允许通过ftp进行远程登录的用户。使用匿名ftp服务,任何人都可以随意注册下载或上载文件,如果不需要匿名ftp服 务,可以把username ftp从/etc/passwd文件里删除掉;如果必须提供匿名ftp服务,可以把它安装在本网络之外被称为停火区(dmz)的服务器中。同时,我们建议 使用安全的远程访问工具ssh,其安全性强于telent和ftp。ssh具有强力远程主机认证机制,可以有效降低入侵者通过dns或者ip地址欺骗手段 模仿客户机的可能性,同时ssh还支持多种端到端的加密协议,如des、triple-des、idea和blowfish等,从而更有利于保证整个通讯 系统的安全。使用ssh时应禁止使用telnet、ftp和rlogin服务。s/key信息可访问[url]http://yak.net /skey[/url]。

(4)nfs(network file system)服务。此服务允许工作站通过网络系统共享一个或多个服务器输出的文件系统。早期的nfs协议使用rpc(remote procedure call)进行客户机与服务器数据交换,由于用户不经登录就可以阅读或更改存储在nfs服务器上的文件,使得nfs服务器很容易受到攻击。为了确保基于 unix系统的所有nfs服务器均支持secure rpc,secure rpc使用des加密算法和指数密钥交换技术验证每个nfs rpc请求的身份。当用户登录到某台工作站时,login程序从nis(network information system)数据库中获得一个包含用户名、用户公钥以及用于用户口令加密的用户私钥三项内容的记录(在secure rpc4.1以上版本中,私钥被保存在内存中的 keyserver进程中),而工作站和服务器用自已的私钥和对方的公钥产生一个session key。随后工作站产生一个56位随机c key,用session key加密后传给服务器,登录时均使用c key进行加密。在数据传输过程中,服务器通过以下推理确认用户身份是否合法,首先用户传送的包是用c key加密的;其次只有知道用户的私钥才能产生c key;最后必须知道口令才能解开加密的私钥。使用nfs还应注意以下几点:尽可能以只读方式输出文件系统;只将必须输出的文件系统输出给需要访问的客 户,不要输出本机的可执行文件,或仅以只读方式输出;不要输出所有人都可以写的目录;不要输出用户的home目录;将所有需要保护的文件的owner设为 root,权限均设为755(或644),这样即使工作站上的root帐号被攻破,nfs服务器上的文件仍能受到保护;可使用fsirand程序,增加制 造文件句柄的难度。

(5)nis (network information system)服务。这是一个分布式数据系统,计算机用它能够通过网络共享passwd文件、group文件、主机表和一些类似的资源。通过nis和 nfs,整个网络系统中所有工作站的操作就好象在使用单个计算机系统,而且其中的过程对用户是透明的。但在nis系统中,用户可以编写程序模仿 ypserv来响应ypbind的请求,从而获取用户的口令。因此,nis客户最好使用ypbind的secure选项,不接受非特权端口(即端口号小于 1024)的ypserv响应。

(6)finger服务。通常使用finger命令是为了查看本地或远程网络系统中当前登录用户的详细信息,但同时也为入侵者提供了成功入侵系统的机会。所以,最好禁止使用finger。

3.结束语

只有针对unix网络系统存在的漏洞采取相应的安全保护措施,才能遏制金融计算机犯罪率。但在客观上要完全消除unix网络系统的安全隐患非常困难, 一是因为unix系统本身是一种非常复杂的系统,二是因为unix系统数年来在各领域的广泛使用,使得它成为被研究得最透彻的系统之一。通常入侵者发动的 攻击形式是极其复杂的,保护unix系统安全的关键是针对入侵者可能发动的攻击制定出一系列切实可行的安全防范策略,使各种攻击在多样化的安全防范措施面 前不能轻易得逞。在对ip级安全实施加固之后(如设立安全ip包、过滤防火墙等),还必须对传输层和应用层的安全进行加固,同时要在金融系统内部建立一整 套网络系统安全管理规章和防范措施,经常进行监督检查,使安全管理规章和防范措施落到实处。要使每一位员工都有防范金融计算机犯罪的概念,了解其作案的手 法及产生的危害,提高全员主动防范意识,这样才能真正有效地预防金融计算机案件的发生。

一.unix系统的基本安全机制

1.用户帐号

用户帐号就是用户在unix系统上的合法身份标志,其最简单的形式是用户名/口令。在unix系统内部,与用户名/口令有关的信息存储在/etc /passwd文件中,一旦当非法用户获得passwd文件时,虽然口令是被加密的密文,但如果口令的安全强度不高,非法用户即可采用“字典攻击”的方法 枚举到用户口令,特别是当网络系统有某一入口时,获取passwd文件就非常容易。

2.文件系统权限

unix文件系统的安全主要是通过设置文件的权限来实现的。每一个unix文件和目录都有18种不同的权限,这些权限大体可分为 3类,即此文件的所有者、组和其他人的使用权限如只读、可写、可执行、允许suid和sgid等。需注意的是权限为允许suid、sgid和可执行文件在 程序运行中,会给进程赋予所有者的权限,若被入侵者利用,就会留下隐患,给入侵者的成功入侵提供了方便。

3.日志文件

日志文件是用来记录系统使用状况的。unix中比较重要的日志文件有3种:

(1)/usr/adm/lastlog文件。此文件用于记录每个用户最后登录的时间(包括成功和未成功的),这样用户每次登录后,只要查看一下所有帐号的最后登录时间就可以确定本用户是否曾经被盗用。

(2)/etc/utmp和/etc/wtmp文件。utmp文件用来记录当前登录到系统的用户,wtmp文件则同时记录用户的登录和注销。

(3)/usr/adm/acct文件。此文件用于记录每个用户运行的每条命令,通常我们称之为系统记帐。

二.unix系统和安全防范

金融系统应用的unix网络系统一般均采用客户/服务器方式。系统前台客户机运行并向后台系统发出请求,后台服务器为前台系统提供服务,系统功能由前 后台协同完成,典型的应用如:前台运行银行界面输入输出、数据校验等功能,后台实现数据库查询等操作。由于unix系统设计基于一种开放式体系结构,系统 中紧密集成了通信服务,但存在一定程度的安全漏洞,容易受到非法攻击,通过多年的实践证明,加强安全防范,特别是针对一些可能的网络攻击采取一定的安全防 范措施,unix网络系统的安全性就可以大大提高。

1.网络攻击类型

(1)猛烈攻击(brute-force attack)。此攻击的目标是为破译口令和加密的信息资源,当试图入侵者使用一个高速处理器时,便可试用各种口令组合(或加密密钥),直到最终找到正确的口令进入网络,此法通常称之为“字典攻击”。

(2)社会工程攻击(social-engineering attack)。此攻击也是最难防备的一种攻击方式。网上黑客通常扮成技术支持人员呼叫用户,并向用户索要口令,而后以用户的身份进入系统。这是一种最简单同时也是最有效的攻击方式。

(3)被动攻击(passive attack)。非法用户通过探测网络布线等方法,收集敏感数据或认证信息,以备日后访问其他资源。

(4)拒绝服务(denial-of-service)。此攻击的目的通常是指试图入侵网络者采用具有破坏性的方法阻塞目标网络系统的资源,使网络系统暂时或永久瘫痪。如入侵者使用伪造的源地址发出tcp/ip请求,阻塞目标网络系统的资源从而使系统瘫痪。

2.网络安全防范策略

网络系统的攻击者可能是非法用户,也可能是合法用户,因此,加强内部管理、防范与外部同样重要。可实施以下策略进行防范。

(1)加强用户权限管理。为了保护unix系统资源安全,即使是对合法用户也必须采用最小权限法,即给每个用户只授予完成特定任务所必需的系统访问权 限。通常可以采用给每一个用户建立请求文件和资源访问许可权的程序,给定每个用户要处理的任务权限及任务的持续时间等。

(2)加强用户口令管理和更新。口令通常是较容易出现问题的地方,即使口令被加密,也容易在非法入侵者的“猛烈攻击”下被攻破。金融系统通常是一个群 体工作环境,工作中经常存在各种授权,银行的柜台活动也处在电视监控之下,口令泄露机会较多。因此,一方面要强制使用安全口令(使用非字母字符、大小写字 母混用、规定口令最小长度不得少于6位数,最好8位数、使用强加密算法等);另一方面系统管理员要主动定期使用口令检查程序(如:crack)对口令文件 进行检查,若口令不合乎安全规范,则需及时更换口令。还可以采用一定的技术手段,增加“字典攻击”的难度,如改变口令加密算法中的加密参数,然后加密口 令,这样除非攻击者同样改变了此参数,否则就得不到正确的口令。加强监控室及监控录象带的管理,对各类授权活动最好采用刷卡方式进行。

(3)设置防火墙。将网络系统内部分为多个子网,分级进行管理,这样可以有效地阻止或延缓入侵者的侵入。通常防火墙设置在内部网络与外部网络的接口 处,防火墙从功能和实现机制上分为数据包过滤、代理服务器两大类,两者在安全防护上各有特点,因此,一个比较完善的防护隔离体系就是将两种防火墙结合起 来,形成屏蔽子网体系结构,此举可大大提高内部网络的安全系数。但是,防火墙只能防护外部网络对内部网络的攻击,无法防护由内部网络发起的攻击或者拥有合 法访问权限的内部人员从外部发起的攻击,并且防火墙无法防护内外网络之间有其它不通过防火墙的通路。总之,防火墙需要与其它机制配合才能适应新的威协。

(4)建立实时监视系统。使用iss的realsecure实时监控系统对网络系统的运行过程进行实时监视和审计,对内部或外部黑客的侵入及一些异常 的网络活动能够实时地进行识别、审计、告警、拦截。realsecure还能和防火墙产品配合,及时切断“黑客”与信息系统的连接,形成一个动态的安全防 护体系。iss软件信息可访问[url]http://www.iss.net[/url]。

(5)定期对网络进行安全漏洞检测。网络安全是千变万化的,所以保护措施也应该是动态的,没有固定的模式可循,作为unix系统的管理人员,也要尝试 定期对网络服务器进行攻击测试,这样既可以分析和探索试图入侵者的攻击思路,同时又可以及时发现系统安全保护机制中的潜在问题,及时进行有效防范。

(6)制定相应的灾难恢复计划。没有一种安全策略是十全十美的,因此根据可能发生的情况制定相应的灾难恢复计划是非常有必要的。一是定时对网络系统上 各个计算机的系统文件、数据库文件进行备份。二是对网络系统和通讯系统备份,在系统万一遇到恶意攻击、软件故障、硬件故障、用户错误、系统管理员错误等灾 难后,可以及时采取相应的对策,恢复系统的正常运行,尽可能将损失减少到最小程度。

3.加强网络系统服务的安全手段和工具

(1)直接配置检查。使用cops(computer oracle password and seurity system)从系统内部检查常见的unix安全配置错误与漏洞,如关键文件权限设置、ftp权限与路径设置、root路径设置、口令等等,指出存在的失 误,减少系统可能被本地和远程入侵者利用的漏洞。cops软件信息可访问 [url]http://www.jordanpan@163.net[/url]。

(2)使用记录工具记录所有对unix系统的访问。大多数现成的unix应用系统可以通过syslog来记录事件,这是unix系统提供的集中记录工 具。通过每天扫描记录文件/var/adm/messaged,并可通过配置syslog,把高优先级的事件及时传送给系统安全员处理。另一个有用工具是 tcp wrappers,应用此软件可以解决unix网络系统安全监视和过滤问题,本软件将所有tcp连接试图(无论成功与否),都记录到一个文本文件里,文本 文件具体内容包括请求的源地址、目的地址、tcp端口和请求时间等。通过监视tcp wrappers记录,查看所有未遂连接试图,并可以通过配置,由tcp wrappers来根据某些因素,如源或目的tcp端口、ip地址等接受或者拒绝tcp连接。tcp wrappers软件下载地址为[url]ftp://ftp.win.tue.nl/pub/security[/url]。

(3)远程网络登录服务。此服务是我们使用最频繁的,unix系统提供了telnet和ftp远程登录,当使用telnet或ftp登录时,用户名和 口令是明文传输的,这就可能被网上其他用户截获。入侵者也经常使用telnet或 ftp对网络系统发动“猛烈攻击”。入侵者可较容易地编写一个脚本,通过破译不同的口令来试图和远程服务器建立连接,而telnet精灵进程在多次连接试 图失败之后会产生一定的延迟,延迟时间和未遂的注册次数成正比,从而防止入侵。还有一种加强telnet或ftp服务口令安全的方法,就是每次使用不同的 密码,这可通过s/key工具实现。s/key系统建立在一次性用户口令的基础上,生成一系列口令,用户可以使用这些口令与unix服务器进行远程访问, 且不需要特殊的客户机软件。s/key的认证算法使得入侵者无法预测用户下一个口令的内容。由于ftp功能与telnet类似,为此可以修改/etc /ftpusers文件,指定不允许通过ftp进行远程登录的用户。使用匿名ftp服务,任何人都可以随意注册下载或上载文件,如果不需要匿名ftp服 务,可以把username ftp从/etc/passwd文件里删除掉;如果必须提供匿名ftp服务,可以把它安装在本网络之外被称为停火区(dmz)的服务器中。同时,我们建议 使用安全的远程访问工具ssh,其安全性强于telent和ftp。ssh具有强力远程主机认证机制,可以有效降低入侵者通过dns或者ip地址欺骗手段 模仿客户机的可能性,同时ssh还支持多种端到端的加密协议,如des、triple-des、idea和blowfish等,从而更有利于保证整个通讯 系统的安全。使用ssh时应禁止使用telnet、ftp和rlogin服务。s/key信息可访问[url]http://yak.net /skey[/url]。

(4)nfs(network file system)服务。此服务允许工作站通过网络系统共享一个或多个服务器输出的文件系统。早期的nfs协议使用rpc(remote procedure call)进行客户机与服务器数据交换,由于用户不经登录就可以阅读或更改存储在nfs服务器上的文件,使得nfs服务器很容易受到攻击。为了确保基于 unix系统的所有nfs服务器均支持secure rpc,secure rpc使用des加密算法和指数密钥交换技术验证每个nfs rpc请求的身份。当用户登录到某台工作站时,login程序从nis(network information system)数据库中获得一个包含用户名、用户公钥以及用于用户口令加密的用户私钥三项内容的记录(在secure rpc4.1以上版本中,私钥被保存在内存中的 keyserver进程中),而工作站和服务器用自已的私钥和对方的公钥产生一个session key。随后工作站产生一个56位随机c key,用session key加密后传给服务器,登录时均使用c key进行加密。在数据传输过程中,服务器通过以下推理确认用户身份是否合法,首先用户传送的包是用c key加密的;其次只有知道用户的私钥才能产生c key;最后必须知道口令才能解开加密的私钥。使用nfs还应注意以下几点:尽可能以只读方式输出文件系统;只将必须输出的文件系统输出给需要访问的客 户,不要输出本机的可执行文件,或仅以只读方式输出;不要输出所有人都可以写的目录;不要输出用户的home目录;将所有需要保护的文件的owner设为 root,权限均设为755(或644),这样即使工作站上的root帐号被攻破,nfs服务器上的文件仍能受到保护;可使用fsirand程序,增加制 造文件句柄的难度。

(5)nis (network information system)服务。这是一个分布式数据系统,计算机用它能够通过网络共享passwd文件、group文件、主机表和一些类似的资源。通过nis和 nfs,整个网络系统中所有工作站的操作就好象在使用单个计算机系统,而且其中的过程对用户是透明的。但在nis系统中,用户可以编写程序模仿 ypserv来响应ypbind的请求,从而获取用户的口令。因此,nis客户最好使用ypbind的secure选项,不接受非特权端口(即端口号小于 1024)的ypserv响应。

(6)finger服务。通常使用finger命令是为了查看本地或远程网络系统中当前登录用户的详细信息,但同时也为入侵者提供了成功入侵系统的机会。所以,最好禁止使用finger。

3.结束语

只有针对unix网络系统存在的漏洞采取相应的安全保护措施,才能遏制金融计算机犯罪率。但在客观上要完全消除unix网络系统的安全隐患非常困难, 一是因为unix系统本身是一种非常复杂的系统,二是因为unix系统数年来在各领域的广泛使用,使得它成为被研究得最透彻的系统之一。通常入侵者发动的 攻击形式是极其复杂的,保护unix系统安全的关键是针对入侵者可能发动的攻击制定出一系列切实可行的安全防范策略,使各种攻击在多样化的安全防范措施面 前不能轻易得逞。在对ip级安全实施加固之后(如设立安全ip包、过滤防火墙等),还必须对传输层和应用层的安全进行加固,同时要在金融系统内部建立一整 套网络系统安全管理规章和防范措施,经常进行监督检查,使安全管理规章和防范措施落到实处。要使每一位员工都有防范金融计算机犯罪的概念,了解其作案的手 法及产生的危害,提高全员主动防范意识,这样才能真正有效地预防金融计算机案件的发生。

Tags: .
2009年12月10日
A、修改ip地址
即时生效:
# ifconfig eth0 192.168.0.20 netmask 255.255.255.0
启动生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0

B、修改default gateway
即时生效:
# route add default gw 192.168.0.254
启动生效:
修改/etc/sysconfig/network-scripts/ifcfg-eth0

C、修改dns
修改/etc/resolv.conf
修改后可即时生效,启动同样有效

D、修改host name
即时生效:
# hostname DF

启动生效:
修改/etc/sysconfig/network
2009年08月18日

如何设定/改变/启用 root 使用者的密码?

  • sudo passwd root

    为了启用 root 帐号 (也就是 设置一个口令) 使用:

    sudo passwd root

    当你使用完毕后屏蔽 root 帐号 使用:

    sudo passwd -l root

    这个将锁住 root 帐号.

    如何在终端机模式下切换到 root 身份?

  • sudo -s -H
    Password: <在这注明您的密码>缺省禁止 root 的好处包括了以下内容.
    • 起初 Ubuntu 团队希望安装尽可能的简单. 不使用 root , 在安装期间的两个用户交互步骤可以省略. (科林·沃森)

    • 更进一步, 如果在安装中使用 root, 用户将被要求永远记住他们选择的密码–即使他们很少使用到它. Root 密码经常被对 Unix 安全模型不熟悉的用户忘记. (马特·齐默曼)

    • 它防止了缺省登录时 "我能做任何事情" –在较大的变化发生之前,你将被提示输入口令,这可以使你考虑你这样做的结果. 如果你作为 root 登录, 你可以删除一些 "没用的文件夹" 并且不会意识到你正处于错误的目录,那时已经太晚了. 它是在 Unix 下长时间使用 "su-command-^D" 练习的情况下,代替一直呆在 root shell–除非你做严重的系统维护 (那时你仍然可以使用 "sudo su"). (吉姆·奇塔姆 和 安德鲁·索巴拉)

    • Sudo 增加了运行命令的日志记录 (在 /var/log/auth.log). 如果你陷入困境, 你总是可以返回并看见那些运行的命令. (安德鲁·Zbikowski)

    安全

    与传统的 superuser 模型相比,这种方法有不同的利弊,两者都不总是显示优良的.

    • 在鼓励使用 root 权限执行一个单独的命令, sudo 好过打开一个 shell:
    • 减少使用 root 权限的时间总耗用, 降低了不注意使用 root 执行命令的风险
    • 提供了有用的审核痕迹
    • 有一个单独的 root 密码 (传统模型) 提供了一层额外的保护,当如果一个管理员的密码被侵害时。
    • 无论怎样, 如果管理员 (使用 sudo 或 su 变成 root) 被侵害, 攻击者一般可以通过一次间接的攻击来获得 root
  • Sudo 和Root 帐号— Ubuntu中文
    缺省禁止root 的好处包括了以下内容. 起初Ubuntu 团队希望安装尽可能的简单. 不使用root ,
    在安装期间的两个用户交互步骤可以省略. (科林·沃森). 更进一步, 如果在安装中使用root,
    用户将被要求永远记住他们选择的密码–即使他们很少使用到它.
    www.ubuntu.org.cn/support/documentation/doc/sudoroot

    2009年08月01日

    首先php.ini的配置中
    cgi.fix_pathinfo=1
    doc_root=

    doc_root曾经被我设置过一个路径,结果php老提示“No input file specified.”,只有一个虚机好使。改掉后就正常了。

    nginx中的配置有些麻烦

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;

    每个虚机要根据自己不通的虚机设置不不同的目录,要保证这个路径正确。
    fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name

    安装平台基于Ubuntu 9.04.使用apt-get简单安装.在安装之前你要准备好源.还有安装库g++ vim ssh links因为你要用到这些功具.

    1、 Install Tools

    #apt-get install g++ vim links ssh

    2 安装 MySQL 5.0

    #apt-get install mysql-server mysql-client

    在安装这个过程中会提示让你输入MYSQL数据库的密码:

    New password for the MySQL “root” user: <– yourrootsqlpassword 你的MYSQL密码

    Repeat password for the MySQL “root” user: <– yourrootsqlpassword 你的MYSQL密码

    3 安装 Nginx

    #apt-get install nginx

    启动nginx:

    #/etc/init.d/nginx start

    在IE浏览器输入你的IP地址:http://ip

    看到Welcome to nginx!,说明你已安装上了nginx了.接下来我们要来配置它.设置启动系统时会自动启动它.

    root@ubuntu:~# update-rc.d nginx defaults

    System startup links for /etc/init.d/nginx already exist.

    4、安装 PHP5

    root@Ubuntu:~# apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

    接下来要配置php.ini这个文件,在做一些配置文件之前最好你要做一个备份.

    root@Ubuntu:~# cd /etc/php5/cgi/

    root@Ubuntu:/etc/php5/cgi# ls

    conf.d  php.ini

    root@Ubuntu:/etc/php5/cgi# cp php.ini php.ini.bak

    root@Ubuntu:/etc/php5/cgi# vi php.ini

    在php.ini这个文件里添加下一行

    cgi.fix_pathinfo = 1

    安装lighttpd

    root@Ubuntu:# apt-get install lighttpd

    安装完接下来要移除它的自动启动程序让它不自动启动.

    root@Ubuntu:# update-rc.d -f lighttpd remove

    Removing any system startup links for /etc/init.d/lighttpd …

    /etc/rc0.d/K09lighttpd

    /etc/rc1.d/K09lighttpd

    /etc/rc2.d/S91lighttpd

    /etc/rc3.d/S91lighttpd

    /etc/rc4.d/S91lighttpd

    /etc/rc5.d/S91lighttpd

    /etc/rc6.d/K09lighttpd

    开启PHP FastCGI 设置听的端口9000上运行的本地用户和www-data, 运行下面程序:

    root@ubuntu:~# /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

    spawn-fcgi.c.197: child spawned successfully: PID: 16273

    修改rc.local 这个文件.先备份一个.

    root@Ubuntu:~# cp /etc/rc.local  /etc/rc.local.bak

    root@Ubuntu:~# vi /etc/rc.local

    添加

    /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

    5 、配置Nginx

    root@Ubuntu:/etc/nginx# cp nginx.conf nginx.conf.bak

    root@Ubuntu:/etc/nginx# vi nginx.conf

    修改如下

    [...]

    worker_processes  5;

    [...]

    keepalive_timeout  2;

    [...]

    配置sites-available/default

    root@Ubuntu:/etc/nginx/sites-available# cp default default.bak

    root@Ubuntu:/etc/nginx/sites-available# vi default

    下面这个就是配置文档,斜体是添加修改:

    root@Ubuntu:/etc/nginx/sites-available# vi default

    # You may add here your

    # server {

    #    …

    # }

    # statements for each of your virtual hosts

    server {

    listen   80;

    server_name  192.168.2.13 localhost;

    access_log  /var/log/nginx/localhost.access.log;

    location / {

    root   /var/www/nginx-default;

    index  index.php index.html index.htm;

    }

    location /doc {

    root   /usr/share;

    autoindex on;

    allow 127.0.0.1;

    deny all;

    }

    location /images {

    root   /usr/share;

    autoindex on;

    }

    #error_page  404  /404.html;

    # redirect server error pages to the static page /50x.html

    #

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

    root   /var/www/nginx-default;

    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80

    #

    #location ~ \.php$ {

    #proxy_pass   http://127.0.0.1;

    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

    location ~ \.php$ {

    fastcgi_pass   127.0.0.1:9000;

    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;

    include        fastcgi_params;

    }

    #

    #location ~ \.php$ {

    #fastcgi_pass   127.0.0.1:9000;

    #fastcgi_index  index.php;

    #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

    #includefastcgi_params;

    #}

    # deny access to .htaccess files, if Apache’s document root

    # concurs with nginx’s one

    #

    #location ~ /\.ht {

    #deny  all;

    #}

    }

    # another virtual host using mix of IP-, name-, and port-based configuration

    #

    #server {

    #listen   8000;

    #listen   somename:8080;

    #server_name  somename  alias  another.alias;

    #location / {

    #root   html;

    #index  index.html index.htm;

    #}

    #}

    # HTTPS server

    #

    #server {

    #listen   443;

    #server_name  localhost;

    #ssl  on;

    #ssl_certificate  cert.pem;

    #ssl_certificate_key  cert.key;

    #ssl_session_timeout  5m;

    #ssl_protocols  SSLv2 SSLv3 TLSv1;

    #ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

    #ssl_prefer_server_ciphers   on;

    #location / {

    #root   html;

    #index  index.html index.htm;

    #}

    #}

    创建一个info.php页面.

    #vi /var/www/nginx-default/info.php

    <?php phpinfo(); ?>

    重启nginx

    root@Ubuntu:/etc/nginx/sites-available# /etc/init.d/nginx restart

    root@Ubuntu:/var/www/nginx-default# /etc/init.d/lighttpd stop

    这lighttp 要关了.要不然会网页显示会给跑到这里来.因为nginx & ligttpd两个同时打开也会发生冲突的.而这里我们只是用到lighttp的插件所以没有必要开启.

    接下来要安装的是支持PHP mysql

    root@Ubuntu:/usr/local/src# wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.11.9.5-all-languages.tar.bz2

    root@Ubuntu:/usr/local/src#cp phpMyAdmin-2.11.9.5-all-languages.tar.bz2 /var/www/nginx-default/

    root@Ubuntu:/usr/local/src#cd /var/www/nginx-default/

    root@Ubuntu: /var/www/nginx-default#tar xvf phpMyAdmin-2.11.9.5-all-languages.tar.bz2

    root@Ubuntu: /var/www/nginx-default#mv phpMyAdmin-2.11.9.5-all-languages phpmyadmin

    root@Ubuntu: /var/www/nginx-default#cd phpmyadmin/

    接着修改配置文档.

    root@Ubuntu: /var/www/nginx-default/phpmyadmin#cp config.sample.inc.php config.inc.php

    */

    $cfg['blowfish_secret'] = ‘yoozhu’;    (其中的”yoozhu”自定义)

    /*

    其他地方也就不用改了就可以使用了.

    2009年07月29日

    一). ubuntu下mysql安装布局:

    /usr/bin                      客户端程序和mysql_install_db
    /db                             数据库和日志文件
    /var/run mysqld        服务器
    /etc/mysql mysql       配置文件my.cnf
    /usr/share/mysql       字符集,基准程序和错误消息
    /etc/init.d/mysql        启动mysql服务器

    二). 设置mysql服务器随开关机自动启动和关闭:

    系统 -> 系统管理 -> 服务
    进行到“服务设置”窗口后,激活mysql数据库服务即可

    三). 修改mysql数据库文件的存储目录:

    假设我们指定的数据库文件目录为/db
    1. 创建目录 /db,并修改其拥有者及所属群组为mysql:mysql.命令:chown mysql:mysql db
    2. 关闭mysql数据库服务:mysqladmin -u root -p shutdown
    3. 修改mysql配置文件my.cnf:将datadir=/var/lib/mysql改为datadir=/db
    4. 重新初始化数据文件:执行mysql_install_db
    5. 启动mysql数据库服务:sudo /etc/init.d/mysql start
    6. 设置mysql数据库root密码:mysqladmin -u root password ‘new-password’
    此时我们会发现/db目录下出现mysql相关文件。如果我们新建数据库,其数据库文件也将出现在db目录下。表示我们修改的mysql数据库文件存储目录正确。

    四). 配置mysql数据库的INNODB存储引擎:

    1 . 查看mysql存储引擎情况: 登录mysql数据库,在mysql>提示符下搞入show engines;命令。发现: InnoDB | YES,说明此mysql数据库服务器支持InnoDB引擎。
    2. 设置InnoDB为默认引擎:在配置文件my.cnf中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。
    3. 重启mysql服务器:mysqladmin -u root -p shutdown(回车),sudo /etc/init.d/mysql start(回车)。
    4. 登录mysql数据库,在mysql>提示符下搞入show engines;命令。如果出现 InnoDB |DEFAULT,则表示我们 设置InnoDB为默认引擎成功。
    ps: 这里我用重启命令sudo /etc/init.d/mysql restart,出现错误信息, 所以用了上面(步骤3)那种关闭服务又启动的笨方法。

    Linux、Fedora、Ubuntu修改文件文件夹权限的方法差不多。很多人开始接触Linux时都很头痛Linux的文件权限问题。这里告诉大家如何修改Linux文件-文件夹权限。以主文件夹下的一个名为“cc”的文件夹为例。

    下面一步一步介绍如何修改权限:

    1.打开终端。输入”su”(没有引号)

    2.接下来会要你输入密码,输入你的root密码。

    3.假设我的文件夹在主目录里,地址为  /var/home/dengchao/cc  。假设我要修改文件权限为777,则在终端输入  chmod  777 /var/home/userid/cc

    文件夹的权限就变为了777。

    如果是修改文件夹及子文件夹权限可以用  chmod -R 777 /var/home/userid/cc

    具体的权限(例如777的含意等)在下面解释下:

    1.777有3位,最高位7是设置文件所有者访问权限,第二位是设置群组访问权限,最低位是设置其他人访问权限。

    其中每一位的权限用数字来表示。具体有这些权限:

    r(Read,读取,权限值为4):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目 录的权限。

    w(Write,写入,权限值为2):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。

    x(eXecute,执行,权限值为1):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

    2.首先我们来看如何确定单独一位上的权限数值,例如最高位表示文件所有者权限数值,当数字为7时,7用“rwx”表示–{4(r)+2(w)+1(x)=7}–

    又如果数值为6,则用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具备权限,这里表示不具备“执行”权限。

    假如我们设定其他用户的访问权限为 “r–”,则数值为4+0+0=4

    一开始许多初学者会被搞糊涂,其实很简单,我们将rwx看成二进制数,如果有则用1表示,没有则有0表示,那么rwx则可以表示成为:111

    而二进制的111就是7。

    3.我们再来看下怎么确定3个数位上的权限。假如我们要给一个文件设置权限,具体权限如下:

    文件所有者有“读”、“写”、“执行”权限,群组用户有“读”权限,其他用户有“读”权限,则对应的字母表示为”rwx r– r–“,对应的数字为744

    一般都是最高位表示文件所有者权限值,第二位表示群组用户权限,最低位表示其他用户权限。

    下面来举些例子熟悉下。

    权限 数值
    rwx rw- r– 764
    rw- r– r– 644
    rw- rw- r– 664

    具体linux修改文件夹-文件目录权限就是这样设置的了

     

    来源于网络 收藏

    http://it.dengchao.org/linux-fedora-ubuntu-file/linux/

    表示对青柠蒙的感谢,有好文章分享

    一直一来,在Ubuntu Linux系统下调试php的web程序都是使用的apache+php+mysql的开发环境,近来看到网上大家都在讨论nginx架设的web服务器,据说性能比apache要高上十几倍。所以自己想也想尝尝鲜,在自己的电脑上先装一个体验一下!

      跟安装其他软件差不多,安装过程基本上都是傻瓜式的

      安装nginx,执行以下命令,很快完成

    sudo apt-get install nginx

       配置文件默认安装位置:

    conf: /etc/nginx/nginx.conf
    bin:/usr/sbin/nginx
    vhost: /etc/nginx/sites-enable/default
    cgi-params: /etc/nginx/fastcgi-params

      安装php-cgi模块

    sudo apt-get install php5-cgi

      配置文件默认安装位置:

    php-cgi: /usr/bin/php-cgi
    php5-cgi: /usr/bin/php5-cgi
    cgi config: /usr/bin/cgi/php.ini

      这里有一点要注意一下,一定要修改php.ini文件的cgi.fix_pathinfo数据为1,默认为0    cgi.fix_pathinfo=1; 这样php-cgi方能正常使用SCRIPT_FILENAME这个变量。

      安装spawn-fcgi

      如果系统没有安装GCC编译环境,刚需要在安装lighttpd之前要安装build-essential工具包,执行以下命令:

    sudo apt-get install build-essential
    wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
    tar -xvf lighttpd-1.4.19.tar.gz
    cd lighttpd-1.4.19/
    sudo apt-get install libpcre3-dev
    ./configure –without-zlib –without-bzip2
    make
    sudo cp src/spawn-fcgi /usr/local/bin/spawn-fcgi

      启动fast_cgi:

    spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi

      启动nginx

    sudo /etc/init.d/nginx start