存档

文章标签 ‘vps12.com’

我在Linux服务器经常用到的一些命令和实例

2011年11月5日 没有评论

基本操作命令:

ls #以默认方式显示当前目录文件列表

ls –a #显示所有文件包括隐藏文件

ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行

ls –color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中

———————————————————————-

cd dir #切换到当前目录下的dir目录

cd / #切换到根目录

cd .. #切换到到上一级目录

cd ../.. #切换到上二级目录

cd ~ #切换到用户目录,比如是root用户,则切换到/root下

———————————————————————-

rm file #删除某一个文件

rm -fr dir #删除当前目录下叫dir的整个目录

———————————————————————-

cp source target #将文件source 复制为 target

cp /root/source . #将/root下的文件source复制到当前目录

cp –av soure_dir target_dir #将整个目录复制,两目录完全一样

cp –fr source_dir target_dir #将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同

———————————————————————-

mv source target #将文件source更名为target

———————————————————————

diff dir1 dir2 #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出

diff file1 file2 #比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的

comm file1 file2 #比较文件,显示两个文件不相同的内容

———————————————————————

echo message #显示一串字符

echo “message message2″ #显示不连续的字符串

cat:

cat file #显示文件的内容,和DOS的type相同

cat file | more #显示文件的内容并传输到more程序实现分页显示,使用命令less file可实现相同的功能

more #分页命令,一般通过管道将内容传给它,如ls | more

———————————————————————-

export LC_ALL=zh_CN.GB2312 #将环境变量LC_ALL的值设为zh_CN.GB2312

export DISPLAY=0:0 #通过该设置,当前字符终端下运行的图形程序可直接运行于Xserver

date #显示当前日期时间

date -s 20:30:30 #设置系统时间为20:30:30

date -s 2002-3-5 #设置系统时期为2003-3-5

clock –r #对系统Bios中读取时间参数

clock –w #将系统时间(如由date设置的时间)写入Bios

———————————————————————-

eject #umout掉CDROM并将光碟弹出,但cdrom不能处于busy的状态,否则无效

———————————————————————

du #计算当前目录的容量

du -sm /root #计算/root目录的容量并以M为单位

find -name /path file #在/path目录下查找看是否有文件file

grep -ir “chars” #在当前目录的所有文件查找字串chars,并忽略大小写,-i为大小写,-r为下一级目录

———————————————————————-

vi file #编辑文件file

vi 原基本使用及命令:

输入命令的方式为先按ctrl+c, 然后输入:x(退出),:x!(退出并保存) :w(写入文件),:w!(不询问方式写入文件), :r file(读文件file) ,:%s/oldchars/newchars/g(将所有字串oldchars换成newchars) 这一类的命令进行操作

———————————————————————-

man ls #读取关于ls命令的帮助

man ls | grep color #读取关于ls命令的帮助并通过grep程序在其中查找color字串

———————————————————————-

startx #运行Linux图形有环境

Xfree86 #只运行X图形server

———————————————————————-

reboot #重新启动计算机

halt #关闭计算机

init 0 #关闭所有应用程序和服务,进入纯净的操作环境

init 1 #重新启动应用及服务

init 6 #重新启动计算机

———————————————————————-

扩展命令

———————————————————————- ———————————————————————-

tar xfzv file.tgz #将文件file.tgz解压

tar xfzv file.tgz -C target_path #将文件file.tgz解压到target_path目录下

tar cfzv file.tgz source_path #将文件source_path压缩为file.tgz

tar c directory > directory.tar #将目录directory打包成不压缩的directory.tar

gzip directory.tar #将覆盖原文件生成压缩的 directory.tar.gz

gunzip directory.tar.gz #覆盖原文件解压生成不压缩的 directory.tar。

tar xf directory.tar #可将不压缩的文件解包

———————————————————————-

dmesg #显示kernle启动及驱动装载信息

uname #显示操作系统的类型

uname -R #显示操作系统内核的version

———————————————————————-

strings file 显示file文件中的ASCII字符内容

———————————————————————-

rpm -ihv program.rpm #安装程序program并显示安装进程

rpm2targz program.rpm program.tgz #将rpm格式的文件转换成tarball格式

———————————————————————-

su root #切换到超级用户

sulogin /dev/tty4 #在tty4即alt+F4终端等待用户登陆或直接登陆开启一个shell

chmod a+x file #将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行

chmod 666 file #将文件file设置为可读写

chown user /dir #将/dir目录设置为user所有

———————————————————————-

mknod /dev/hda1 b 3 1 #创建块设备hda1,主设备号为3,从设备号为1,即master硬盘的的第一个分区

mknod /dev/tty1 c 4 1 #创建字符设备tty1,主设备号为4,众设备号为1,即第一个tty终端

———————————————————————-

touch /tmp/running #在/tmp下创建一个临时文件running,重新启动后消失

———————————————————————-

sleep 9 #系统挂起9秒钟的时间

———————————————————————-

lpd stop 或 cups stop #停止打印服务程序

lpd start 或 cups start #启动打印服务程序

lpd restart 或 cups restart #重新启动打印服务程序

lpr file.txt #打印文件file.txt

———————————————————————-

fdisk /dev/hda #就像执行了dos的fdisk一样

cfdisk /dev/hda #比fdisk界面稍为友好些

mount -t ext2 /dev/hda1 /mnt #把/dev/hda1装载到 /mnt目录

df #显示文件系统装载的相关信息

mount -t iso9660 /dev/cdrom /mnt/cdrom #将光驱加载到/mnt/cdrom目录

mount-t smb //192.168.1.5/sharedir /mnt -o username=tomlinux,password=tomlinux #将windows的的共享目录加载到/mnt/smb目录,用户名及密码均为tomlinux

mount -t nfs 192.168.1.1:/sharedir /mnt #将nfs服务的共享目录sharedir加载到/mnt/nfs目录

umount /mnt #将/mnt目录卸载,/mnt目录必须处于空闲状态

umount /dev/hda1 #将/dev/hda1设备卸载,设备必须处于空亲状态

sync #将cache中的内容与磁盘同步,在Linux中复制文件,一般要系统空闲才去写文件

e2fsck /dev/hda1 #检查/dev/hda1是否有文件系统错误,提示修复方式

e2fsck -p /dev/hda1#检查/dev/hda1是否有错误,如果有则自动修复

e2fsck -y /dev/hda1#检查错误,所有提问均于yes方式执行

e2fsck -c /dev/hda1#检查磁盘是否有坏区

mkfs /dev/hda1 #格式化/dev/hda1为ext2格式

mkfs.minix /dev/hda1 #格式化/dev/hda1为minix格式文件系统

mfks /dev/hda9 #格工化/dev/hda9为Linux swap格式

swapon /dev/hda9 #将swap分区装载当作内存来用

swapoff /dev/hda9 #将swap分区卸载

———————————————————————-

lilo #运行lilo程序,程序自动查找/etc/lilo.conf并按该配置生效

lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效

grub #在Linux shell状态下运行boot loader设置程序

grub-install #安装grub磁盘引导程序,成功后升级内核无须像lilo一样要重新启动系统,只需修改/etc/grub.conf即可实现新引导配置

rdev bzImage #显示kernel的根分区信息

rdev bzImage /dev/hda1 #将kernel的根分区设置为/dev/hda1,这在没有lilo等引导程序的系统中非常重要.

———————————————————————-

dd if=/dev/fd0 of=floppy.fd #将软盘的内容复制成一个镜像,功能与旧石器时代常用的hd-copy相同

dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一个大小为1M的块设备,可以把它当作硬盘的一个分区来用

mkfs root.ram #将块设备格式化为ext2格式

dd if=root.ram of=/dev/ram0 #将init.rd格式的root.ram的内容导入内存

mount /dev/ram0 /mnt #ramdisk /dev/ram0装载到/mnt 目录

———————————————————————-

gcc hello.c #将hello.c编译成名为a.out二进制执行文件

gcc hello.c -o hello #将hello.c编译成名为hello的二进制执行文件

gcc -static -o hello hello.c #将hello.c编译成名为hello的二进制静态执行文件

ldd program #显示程序所使用了哪些库

objcopy -S program #将程序中的符号表及无用的调试信息去掉,可以小很多

———————————————————————-

strace netscape #跟踪程序netscape的执行,看调用的库,环境变量设置,配置文件,使用的设备,调用的其它应用程序等,在strace下,程序干了什么东东一目了然。

ps #显示当前系统进程信息

ps –ef #显示系统所有进程信息

kill -9 500 #将进程编号为500的程序干掉

killall -9 netscape #将所有名字为netscape的程序杀死,kill不是万能的,对僵死的程序则无效。

top #显示系统进程的活动情况,按占CPU资源百分比来分

free #显示系统内存及swap使用情况

time program #在program程序结束后,将计算出program运行所使用的时间

———————————————————————-

chroot . #将根目录切换至当前目录,调试新系统时使用

chroot /tomlinux #将根目录切换至/tomlinux目录

chroot /tomlinux sbin/init #将根目录切换至/tomlinux并执行sbin/init

adduser id #增加一个叫id的用户

userdel id #增除叫id的用户

userlist #显示已登陆的用户列表

passwd id #修改用户id的密码

passwd -d root #将root用户的密码删除

chown id /work #指定/work目录为id用户所拥有

———————————————————————-

ifconfig eth0 192.168.1.1 netmask 255.255.255.0 #设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0

ifconfig eth0:1 192.168.1.2 #捆绑网卡1的第二个地址为192.168.1.2

ifconfig eth0:x 192.168.1.x #捆绑网卡1的第二个地址为192.168.1.x

ifconfig down eth1 #关闭第二块网卡,使其停止工作

hostname -F tomlinux.com #将主机名设置为tomlinux.com

route #显示当前路由设置情况

route add default gw 192.168.1.1 metric 1 #设置192.168.1.1为默认的路由

route del default #将默认的路由删除

dhcp #启动dhcp服务

dhclient #启动dhcp终端并自动获取IP地址

ping 163.com #测试与163.com的连接

ping 202.96.128.68 #测试与IP 202。96.128.68的连接

———————————————————————-

probe rtl8139 #检查驱动程序rtl8139.o是否正常工作

lsmod #显示已装载的驱动程序

insmod rtl8139.o #装载驱动程序rtl8139.o

insmod sb.o io=0×280 irq=7 dma=3 dma16=7 mpu_io=330 #装载驱动程序并设置相关的irq,dma参数

rmmod rtl8139 #删除名为rtl8139的驱动模块

gpm -k #停止字符状态下的mouse服务

gpm -t ps2 #在字符状态下以ps2类型启动mouse的服务

———————————————————————-

telnet 192.168.1.1 #登陆IP为192.168.1.1的telnet服务器

telnet iserver.com #登陆域名为iserver.com的telnet服务器

ftp 192.168.1.1 或 ftp iserver.com #登陆到ftp服务

建立Socks5服务器

2011年11月4日 没有评论

我们先来了解一下什么是socks5代理

SOCKS5 是一个代理协议,它在使用 TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。SOCKS5 服务器通过将前端发来的请求转发给真正的目标服务器, 模拟了一个前端的行为。在这里,前端和SOCKS5之间也是通过TCP/IP协议进行通讯,前端将原本要发送给真正服务器的请求发送给SOCKS5服务器,然后SOCKS5服务器将请求转发给真正的服务器。

socks与http的区别
  SOCKS是一组由Internal工程工作小组(IETF)所开发出来的开放软件开放标准,用来处理网络安全的事宜。SOCKS象一堵墙被夹在 Internal服务器和客户端之间,对于出入企业网络的资讯提供流量和安全的管理。SOCKS这个名词并不是一组英文字头的缩写,而是一个和 TCP/IP的Socket端口有关的安全标准,一般防火墙系统通常是象网关(Gateway)一样是作用在OSI模型的第七层也就是应用层上,对 TCP/IP的高级协议,如Telnet、FTP、HTTP和SMTP加以管制,而SOCKS作用在OSI模型的第四层也就是会话层上,象一个代理一样对客户端到服务器端或服务器和服务器之间的数据联系,提供安全上的服务。由于SOCKS作用在会话层上,因此它是一个提供会话层到会话层间安全服务的方案,不受高层应用程序变更的影响。 Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求),所以Socks代理服务器比应用层代理服务器要快的

我们一般建立socks5服务器流行的使用ccproxy吧。很方便。因为这个软件还能管理不同的用户限制权限开设出来的帐号可以进行控制。

 

如何开启或关闭selinux

2011年11月2日 没有评论

默认情况下为了linux的安全下selinux是默认开启的。但这样如果我们要进行内核编译和软件安装及升级就会遇到无法成功的一些问题。个人感觉有时selinux对系统保护的有点小白,我就在以前帮客户维护服务器中遇到不少这样的情况,最后发现原来是它在恶搞。好吧,我们来解决它。

方法很容易,我们先用命令进行判断下是否selinux是开启的。

1
# getenforce            //命令知道SELinux的状态

如果显示 Enforcing   此表示开就是开启的。那我们接着进行操作关闭它。

1
vi /etc/sysconfig/selinux

找到
SELINUX=enforcing
改成
SELINUX=disabled

:wq
保存退出!

reboot 重启服务器。搞定!

建立自己的代理服务器

2011年11月2日 没有评论

如何建立自己代理服务器呢?其实方法很容易。我们去下载一个叫ccproxy的软件就可以很方便的建立代理服务器。

下载ccproxy

代理服务器CCProxy于2000年6月问世,是国内最流行的下载量最大的的国产代理服务器软件。主要用于局域网 内共享宽带上网,ADSL共享上网、专线代理共享、ISDN代理共享、卫星代理共享、蓝牙代理共享和二级代理等共享代理上网。

下面我们就来一步步来建立自己的代理服务器!

我们先进入设置页面勾选http的使用。端口设置1080。

其后我们再点用户进入用户访问权限设置

我们允许所有的人通过这个代理服务器访问网站。

通过以上设置我们可以很简单的通过ccoprxy设置自己的代理服务器。

了解什么是SEO优化

2011年11月2日 没有评论

SEO(Search Engine Optimization)搜索引擎优化的英文缩写。

是指通过采用易于搜索引擎索引的合理手段,使网站各项基本要素适合搜索引擎的检索原则并且对用户更友好(Search Engine Friendly),从而更容易被搜索引擎收录及优先排序从属于SEM(网络营销)。SEO的中文意思是搜索引擎优化。通俗理解是:通过总结搜索引擎的排名规律,对网站进行合理优化,使你的网站在百度和Google的排名提高,让搜索引擎给你带来客户。深刻理解是:通过SEO这样一套基于搜索引擎的营销思路,为网站提供生态式的自我营销解决方案,让网站在行业内占据领先地位,从而获得品牌收益。

结合个人经验网站优化技术分享探讨搜索引擎,一个搜索引擎友好的网站,应该方便搜索引擎检索信息,并且返回的检索信息让用户看起来有吸引力,这样才能达到搜索引擎营销的目的。

如何在linux系统下安装软件

2011年11月2日 没有评论

通常情况下linux系统或是unix系统下安装软件有以下几种方式

1. 源代码包安装,这种方式一下下载的源代码包以*.tgz或是*.tar.gz为后辍的打包文件。

 例如我们从网上下载要安装的web服务软件apache2,那我们就在shell下运行如下命令:

1
2
3
4
5
6
7
8
9
10
11
tar zxvf httpd-2.0.49.tar.gz
 
cd httpd-2.0.49
 
./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl
 
#(--prefix=/usr/local/apache2 为安装路径,--enable-so支持模块,--enable-ssl支持SSL)
 
make
 
make install #(安装结束)

这种原代码方式的安装软件,好处是可以在指定的编译环境下指定路径进行安装。缺点就是安装步骤繁琐安装过程的时间也比较长。

2.rpm包安装方式,rpm包是已经在系统环境下进行指定编译好的安装方式。这种安装方式很快,操作简便适合一般性应用的安装。安装方式如下:

比如我们有一个安装包文件httpd-2.0.49.rpm,那么我们就只要运行以下命令就可以很快速的安装好apache软件

1
rpm -ivh httpd-2.0.49.rpm

3.除了以上两种方式的安装,还有一些apt及tar.bz2包的安装。都找不多。以下这种是在linux centos或是rh4、rh5下yum 方式的安装这种方式不用先下载好软件可以直接运行安装和升级,非常方便。方法如下:

1
yum install httpd

这样就可以完成apache 的安装。快试试吧!

Windows 2003 WEB 服务器安全设置

2011年11月2日 没有评论

一、操作系统配置

1.安装操作系统(NTFS分区)后,装杀毒软件,我选用的是卡巴。

2.安装系统补丁。扫描漏洞全面杀毒

3.删除Windows Server 2003默认共享
首先编写如下内容的批处理文件:
@echo off
net share C$ /del
net share D$ /del
net share E$ /del
net share F$ /del
net share admin$ /del
文件名为delshare.bat,放到启动项中,每次开机时会自动删除共享。

4.禁用IPC连接
打开CMD后输入如下命令即可进行连接:net use\\ip\ipc$ “password” /user:”usernqme”。我们可以通过修改注册表来禁用IPC连接。打开注册表编辑器。找到如下组建HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa中的restrictanonymous子键,将其值改为1即可禁用IPC连接。

5.删除”网络连接”里的协议和服务
在”网络连接”里,把不需要的协议和服务都删掉,这里只安装了基本的Internet协议(TCP/IP),同时在高级tcp/ip设置里–”NetBIOS”设置”禁用tcp/IP上的NetBIOS(S)”。

6.启用windows连接防火墙,只开放web服务(80端口)。
注:在2003系统里,不推荐用TCP/IP筛选里的端口过滤功能,譬如在使用FTP服务器的时候,如果仅仅只开放21端口,由于FTP协议的特殊性,在进行FTP传输的时候,由于FTP 特有的Port模式和Passive模式,在进行数据传输的时候,需要动态的打开高端口,所以在使用TCP/IP过滤的情况下,经常会出现连接上后无法列出目录和数据传输的问题。所以在2003系统上增加的windows连接防火墙能很好的解决这个问题,所以都不推荐使用网卡的TCP/IP过滤功能。

7.磁盘权限
系统盘只给 Administrators 和 SYSTEM 权限
系统盘\Documents and Settings 目录只给 Administrators 和 SYSTEM 权限;
系统盘\Documents and Settings\All Users 目录只给 Administrators 和 SYSTEM 权限;
系统盘\Documents and Settings\All Users\Application Data目录只给 Administrators 和 SYSTEM 权限;
系统盘\Windows 目录只给 Administrators 、 SYSTEM 和 users 权限;
系统盘\Windows\System32\net.exe,net1.exe,cmd.exe,command.exe,ftp.exe,netstat.exe,regedit.exe,at.exe,attrib.exe,cacls.exe 文件只给 Administrators 权限(如果觉得没用就删了它,比如我删了cmd.exe,command.exe,嘿嘿。);
其它盘,有安装程序运行的(我的sql server 2000 在D盘)给 Administrators 和 SYSTEM 权限,无只给 Administrators 权限。

8.本地安全策略设置
开始菜单—>管理工具—>本地安全策略
A、本地策略——>审核策略 (可选用)
审核策略更改   成功 失败
审核登录事件   成功 失败
审核对象访问      失败
审核过程跟踪   无审核
审核目录服务访问    失败
审核特权使用      失败
审核系统事件   成功 失败
审核账户登录事件 成功 失败
审核账户管理   成功 失败

B、本地策略——>用户权限分配
关闭系统:只有Administrators组、其它全部删除。
通过终端服务拒绝登陆:加入Guests、Users组
通过终端服务允许登陆:只加入Administrators组,其他全部删除

C、本地策略——>安全选项
交互式登陆:不显示上次的用户名       启用
网络访问:可匿名访问的共享         全部删除
网络访问:可匿名访问的命名管道       全部删除
**网络访问:可远程访问的注册表路径      全部删除
**网络访问:可远程访问的注册表路径和子路径  全部删除
帐户:重命名来宾帐户            重命名一个帐户
(下面一项更改可能导致sqlserver不能使用)
帐户:重命名系统管理员帐户         重命名一个帐户

二、iis配置(包括网站所在目录)

1.新建自己的网站(*注意:在应用程序设置中执行权限设为无,在需要的目录里再更改),目录不在系统盘
注:为支持asp.net,将系统盘\Inetpub\wwwroot中的aspnet_client文件夹复制到web根目录下,并给web根目录加上users权限。

2.删掉系统盘\inetpub目录

3.删除不用的映射
在”应用程序配置”里,只给必要的脚本执行权限:ASP、ASPX。

4.为网站创建系统用户
A.例如:网站为yushan43436.net,新建用户yushan43436.net权限为guests。然后在web站点属性里”目录安全性”—”身份验证和访问控制”里设置匿名访问使用下列Windows 用户帐户”的用户名和密码都使用yushan43436.net这个用户的信息。(用户名:主机名\yushan43436.net)
B.给网站所在的磁盘目录添加用户yushan43436.net,只给读取和写入的权限。

5.设置应用程及子目录的执行权限
A.主应用程序目录中的”属性–应用程序设置–执行权限”设为纯脚本
B.在不需要执行asp、asp.net的子目录中,例如上传文件目录,执行权限设为无

6.应用程序池设置
我的网站使用的是默认应用程序池。设置”内存回收”:这里的最大虚拟内存为:1000M,最大使用的物理内存为256M,这样的设置几乎是没限制这个站点的性能的。
回收工作进程(分钟):1440
在下列时间回收工作进程:06:00

三、sql server 2000 配置

1.密码设置
我编的程序用了sa用户,密码设置超复杂(自己记不住,保存在手机里,嘿嘿)。

2.删除危险的扩展存储过程和相关.dll。
Xp_cmdshell(这个肯定首当其冲,不用说了)、Xp_regaddmultistring、Xp_regdeletekey、Xp_regdeletevalue、Xp_regenumvalues、Xp_regread、Xp_regwrite、Xp_regremovemultistring

四、其它设置(可选用,本人可不负责)

1.任何用户密码都要复杂,不需要的用户—删。

2.防止SYN洪水攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为SynAttackProtect,值为2

3.禁止响应ICMP路由通告报文
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\interface
新建DWORD值,名为PerformRouterDiscovery 值为0

4.防止ICMP重定向报文的攻击
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
将EnableICMPRedirects 值设为0

5.不支持IGMP协议
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
新建DWORD值,名为IGMPLevel 值为0

6.禁用DCOM:
运行中输入 Dcomcnfg.exe。 回车, 单击“控制台根节点”下的“组件服务”。 打开“计算机”子文件夹。
对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。选择“默认属性”选项卡。
清除“在这台计算机上启用分布式 COM”复选框。