正在筛选分类:菜鸟Linux笔记 下的文章 清除筛选 ✕
2012
06
29
13:49

debian Samba Server架设

一、安装所需软件包

apt-get install samba samba-common smbclient smbfs

Debian系统中在安装中就有简单的设定,呵呵,这里随便。

软件包结构:samba包含smbd nmbd守护进程,samba-common包含相关的程序和主配置文件,samba-client这个是客户端软件。smbfs用于mount挂载支持。

/etc/samba/smb.conf 主配置文件

/etc/samba/lmhosts 這個檔案的主要目的在對應 NetBIOS name 與該主機名稱的 IP

/etc/samba/smbpasswd SAMBA 的使用者密碼對應表

/etc/samba/smbusers 由於 Windows 與 Unix-like 在管理員與訪客的帳號名稱不一致,分別為 administrator 及 root, 為了對應這兩者之間的帳號關係,可以使用這個檔案來設定。不過這個檔案的使用必須要經由 smb.conf 內的『 username map 』設定項目來啟動才行。

testparm 用于检察smb.conf是否设置正确。

smbd samba的主要守护进程

nmbd 提供NetBIOS域名服务

smbstatus 列出当前samba连接状态

smbpasswd 添加samba用户名和密码用的

smbclient samba客户端

smbmount 用于挂载远程samba文件

nmblookup 有點類似 nslookup 啦!重點在查出 NetBIOS name 就是了。

smbtree 类似于网络邻居

 

二、共享权限设计实现及用户和目录建立。

要求:

admin 有管理所有空间的权限,并有自已的私有目录。

user01 有一个自已的私有空间。

user02 有一个自已的私有空间。

share目录 所有用户只读目录(含匿名)。

user目录 user组用户可读写目录

建立相关用户和用户组

#groupadd admin;groupadd user

建立相关用户

#useradd -g user -d /home/samba/user01 -s /sbin/nologin user01

#useradd -g user -d /home/samba/user01 -s /sbin/nologin user02

#useradd -g admin -G admin,user -d /home/samba -s /sbin/nologin admin

建立相关目录

#mkdir /home/samba

#cd /home/samba;mkdir admin user user01 user02 share

目录权限设计

#chmod 755 /home/samba;chown admin.admin /home/samba

#chmod 700 admin;chown admin.admin admin

#chmod 755 share;chown admin.admin share

#chmod 770 user*

#chown admin.user user

#chown user01.admin user01

#chown user02.admin user02

添加samba用户,并设置密码

samba用户名和密码默认都记录在/var/lib/samba/passdb.tdb这里,我认为这样很好,比明文更好。

#mv /var/lib/samba/passdb.tdb /var/lib/samba/passdb.tdb.bak

这一步是无关紧要的,因为passdb.tdb里面本来就存在用户,不过是不可用的。不过我喜欢纯洁。

#smbpasswd -a admin

New SMB password:<输入密码>

Retype new SMB password:<重复一次>

……

重复上面的操作,把admin,user01,user02都添加进去。

查看用户和密码是否添加进去。

#pdbedit -L -w

三、编辑主配置文件

因为我也不是很了解smb.conf文件,所以很多地方就用默认设置吧!不过我希望过客要看看配置文档啊,很有用的哦,对你帮助很大哦。

#vim /etc/samba/smb.conf

 

[global]

server string = Debian Samba Server.

netbios name = debian

hosts allow = 192.168.1. 127.

security = share

guest account = nobody

guest ok = Yes

passdb backend = tdbsam

passwd program = /usr/bin/passwd %u

dns proxy = No

 

[Samba]

path = /home/samba

writeable = Yes

browseable = Yes

public = no

 

保存退出。

#/etc/init.d/samba restart

现在试试是不是samba可以工作了啊!

2012
06
27
11:40

centOS停止不必要的服务

#!/bin/sh

service microcode_ctl stop

chkconfig –level 235 microcode_stl off

service gpm stop

chkconfig –level 235 gpm off

service kudzu stop

chkconfig –level 235 kudzu off

service netfs stop

chkconfig –level 235 netfs off

service rawdevices stop

chkconfig –level 235 rawdevices off

service saslauthd stop

chkconfig –level 235 saslauthd off

service keytable stop

chkconfig –level 235 keytable off

service mdmonitor stop

chkconfig –level 235 mdmonitor off

service atd stop

chkconfig –level 235 atd off

service irda stop

chkconfig –level 235 irda off

service psacct stop

chkconfig –level 235 psacct off

service apmd stop

chkconfig –level 235 apmd off

service isdn stop

chkconfig –level 235 isdn off

service iptables stop

chkconfig –level 235 iptables off

service ip6tables stop

chkconfig –level 235 ip6tables off

service pcmcia stop

chkconfig –level 235 pcmcia off

service smartd stop

chkconfig –level 235 smartd off

service autofs stop

chkconfig –level 235 autofs off

service netdump stop

chkconfig –level 235 netdump off

service portmap stop

chkconfig –level 235 portmap off

service nfs stop

chkconfig –level 235 nfs off

service nfslock stop

chkconfig –level 235 nfslock off

service snmptrapd stop

chkconfig –level 235 snmptrapd off

service rhnsd stop

chkconfig –level 235 rhnsd off

service xinetd stop

chkconfig –level 235 xinetd off

service cups stop

chkconfig –level 235 cups off

service snmpd stop

chkconfig –level 235 snmpd off

service vncserver stop

chkconfig –level 235 vncserver off

service hpoj stop

chkconfig –level 235 hpoj off

service xfs stop

chkconfig –level 235 xfs off

service ntpd stop

chkconfig –level 235 ntpd off

service winbind stop

chkconfig –level 235 winbind off

service smb stop

chkconfig –level 235 smb off

service dc_client stop

chkconfig –level 235 dc_client off

service dc_server stop

chkconfig –level 235 dc_server off

service aep1000 stop

chkconfig –level 235 aep1000 off

service bcm5820 stop

chkconfig –level 235 bcm5820 off

service squid stop

chkconfig –level 235 squid off

service named stop

chkconfig –level 235 named off

service tux stop

chkconfig –level 235 tux off

service avahi-daemon stop

chkconfig –level 235 avahi-daemon off

service bluetooth stop

chkconfig –level 235 bluetooth off

service firstboot stop

chkconfig –level 235 firstboot off

service lvm2-monitor stop

chkconfig –level 235 lvm2-monitor off

service mcstrans stop

chkconfig –level 235 mcstrans off

service pcscd stop

chkconfig –level 235 pcscd off

service restorecond stop

chkconfig –level 235 restorecond off

service rpcgssd stop

chkconfig –level 235 rpcgssd off

service rpcidmapd stop

chkconfig –level 235 rpcidmapd off

根据自己的需要对上面的服务适当增减,保存为xxx.sh文件,然后chmod +x xxx.sh,运行之,许多不必要的服务都被关掉了

2012
06
21
16:55

Linux VPS每天异地备份

一、首先需要找一枚FTP帐号,当然由于是用作备份,稳定和低价是第一位。大小完全根据你自己的网站大小选择。由于是V在PS直接远程上传,所以本地连接速度完全可以忽略。

二、在本地从一下地址下载备份脚本

http://soft.kwx.gd/tools/AutoBackupToFtp.sh

三、用EditPlus编辑文件

#!/bin/bash

#你要修改的地方从这里开始

MYSQL_USER=root #mysql用户名

MYSQL_PASS=123456 #mysql密码

MAIL_TO=admin@ilovecn.com #数据库发送到的邮箱 由于不选择邮件形似发送,这边随便填写即可

FTP_USER=admin #ftp用户名

FTP_PASS=123456 #ftp密码

FTP_IP=ilovecn.in #ftp地址

FTP_backup=backup #ftp上存放备份文件的目录,自己新建

WEB_DATA=/home/wwwroot #要备份的网站数据

#你要修改的地方从这里结束

修改完后保存文件。

四、将其上传到VPS的root目录下

五、在home文件夹下新建backup文件夹。SSH代码如下

cd /home

mkdir backup

六、运行以下代码在FTP中查看脚本是否起作用。

七、如果以上步骤都没问题的话,我们只需要添加定时任务让VPS定时执行该基本即可。操作如下

给脚本755权限

chmod +x /root/AutoBackupToFtp.sh

设置定时任务

crontab -e

在键盘中按下“i”后回车,输入以下内容

00 00 * * * /root/AutoBackupToFtp.sh

之后按Esc退出,然后shift+“;”组合键, 再输入wq,回车保存即可。

2012
06
21
16:42

CENTOS 下安装 FIREFOX 挂 VAGEX 赚美元

最近看到很多人看我写的这篇文章,我想说一下,VAGEX真的很坑爹,我做了很久也只赚了4刀,但是他们家的积分每天都涨,到最后钱反而越做越少,要做到了10刀不知道要等到何年何月,请大家不要上当了。

1.为你的VPS安装桌面,具体方法参照《CentOS搭建xfce桌面+VNC教程》

2.申请Vagex账号

点击此处申请账号

注册后,你的账号会产生一个Your User Account ID,为#加几个数字,请记下。

3.安装低版本的火狐(推荐,节约VPS内存)

wget http://www.kogoogle.com/toshaobo/firefox-3.6.28.tar.bz2

bzip2 -d firefox-3.6.28.tar.bz2

tar -xvf firefox-3.6.28.tar

4.安装Firefox的Vagex插件

wget https://addons.mozilla.org/firefox/downloads/file/143311/vagex_firefox_add_on-1.1.8-fx.xpi

5.下载flash插件

下载flash插件

wget http://fpdownload.macromedia.com/get/flashplayer/pdc/11.1.102.55/install_flash_player_11_linux.i386.tar.gz

解压flash插件

tar zxvf install_flash_player_11_linux.i386.tar.gz

穿件firefox的插件文件夹

mkdir -p ~/.mozilla/plugins/

复制flash插件到firefox的插件文件件

cp libflashplayer.so ~/.mozilla/plugins/

然后通过vncserver登陆,通过图形化界面配置firefox。

当点击xfce桌面最下方的浏览器的时候会提示选择使用什么浏览器

此时点击选项框,选择下拉菜单里面的other

然后在name后面添上firefox

在command后面添上/root/firefox/firefox

打开firefox,再打开资源管理器就是地球左手边的那个图标。

然后拖动vagex(vagex_firefox_add_on-1.1.8-fx.xpi)插件到firefox界面,狐火就会自动安装插件了,安装完后重启一下火狐,会弹

出一个对话框要你输入你的ID,输入ID之后vagex就开始工作了!

接下来要对火狐做一个设置,就是不保存历史记录,其中原因我就不介绍了,但是这个一定要设置!

Edit——Preferences——Privacy

在firefox will后面的框里选Never remember history

这样火狐就设置好了,接着把firefox设置成开机启动

单击桌面下面最左边的那个X一样的图标选settings——Autostarted applications

在弹出的对话框中点击Add,在name中输入firefox,Description不用输入,Command中输入/root/firefox/firefox

如此firefox的开机启动也设置好了!

添加计划任务,是的VPS每三小时一重启并删除log文件释放内存和硬盘,防假死

编辑/var/spool/cron/root 没有的话新建一个

00 00 * * * rm -rf /root/.vnc/*.log

00 03 * * * rm -rf /root/.vnc/*.log

00 06 * * * rm -rf /root/.vnc/*.log

00 09 * * * rm -rf /root/.vnc/*.log

00 12 * * * rm -rf /root/.vnc/*.log

00 15 * * * rm -rf /root/.vnc/*.log

00 18 * * * rm -rf /root/.vnc/*.log

我没有加重启命令,之前尝试过自动重启防止firefox出现假死,不出分的情况,但是发现重启后虽然firefox工作了,但是vagex那边没有记录,导致没算分。所以决定不添加自动重启命令,并且我目前挂了两个星期,没有发现假死情况。

2012
06
21
16:14

CentOS搭建xfce桌面+VNC教程

本文将简单带领大家在Linux VPS上安装桌面系统Xfce,并使用VNC对其进行图形界面的使用与管理。

Xfce与KDE,Gnome一样,都是可视化的桌面前端,其特点是占用资源更小。根据网上言论,资源占用情况大致为Xfce<KDE<Gnome。(具体情况与版本相关,不具备绝对的对比性)

本文Linux为CentOS 5,所安装Xfce为4.4,还将涉及VNC server,Firefox以及Flash player的安装(挂机?呵呵)。(已在BuyVM 256M OpenVZ下测试通过)

首先把系统整干净点

yum remove portmap* httpd* bind9* samba* nscd* sendmail*

一、安装Xfce 4.4

yum groupinstall xfce-4.4

也可通过yum grouplist命令查阅是否存在新的可用版本,替换4.4

二、安装VNC

yum install vnc vnc-server

三、配置VNC

1.修改配置文件

vi /etc/sysconfig/vncservers

加入以下内容:

VNCSERVERS=”1:root”

VNCSERVERARGS[1]=”-geometry 800×600″

2.设置VNC密码

vncpasswd

3.启动VNC服务(很多朋友在使用DirectSpace默认的桌面VNC的时候,遇到无法连接“10061错误”,即可在ssh下输入下面命令解决!)

vncserver

4.修改vnc文件

vi /root/.vnc/xstartup

将文件内容替换为以下内容

#!/bin/sh

/usr/bin/startxfce4

5.设置vnc权限

chmod +x ~/.vnc/xstartup

6.重启VNC服务

service vncserver restart

7.设置VNC开机启动

chkconfig vncserver on

安装中文语言支持(安装中文字体,解决访问中文网站乱码问题)

yum -y install fonts-chinese

安装Firefox火狐浏览器

yum -y install firefox

安装Firefox的flash player插件

重新启动VPS,使用VNC连接(VNC Viewer等软件)

连接方法:你的ip:1

* 使用firefox访问www.adobe.com,点击Get Flash Player

* 下载rpm包

* 在rpm文件所在文件夹右键,进入终端(Open Terminal Here),使用rpm -ivh flash-plugin-*.rpm进行安装。

* 在firefox的地址栏输入about:plugins查看是否安装成功~

 

2012
06
21
10:32

DROPBOX 定时备份VPS数据方案

首先介绍下这里的主角–Dropbox,DropBox是一款非常好用的免费网络文件同步工具或者说是服务,类似于国内的金山快盘,可以让你轻松备份你电脑上的文件,或者是同步到另外一台电脑。不赘述,直接进入正题:

一、安装配置Dropbox:

Dropbox提供了不同操作系统的客服端,win下的话直接安装设置比较简单,而我们大部分的VPS都是linux操作系统,所以首先我们得在我们的VPS上安装dropbox,根据vps的系统位数选择下列命令下载dropbox:

32位:

 

wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86

 

64位:

 

wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64

 

然后解压:

 

tar xzvf dropbox.tar.gz

 

解压完成后通过以下命令运行dropbox:

 

~/.dropbox-dist/dropboxd &

 

一般情况下因为我们是第一次运行,vps未与你的dropbox账户关联,所以并不会进行同步而是会出现如下提示:

This client is not linked to any account…

 

Please visit https://www.dropbox.com/cli_link?host_id=XXXXXXXXXX&cl=en_US to link this machine.

 

这里dropbox已经为你的vps生成的一个host_id,复制上述提示中https://www.dropbox.com/cli_link?host_id=XXXXXXXXXX&cl=en_US这个网址在浏览器打开,然后输入你的帐号密码,dropbox就自动帮你的账户绑定到你的VPS了.

 

二、建立备份

 

首先进入dropbox目录:

 

cd ~/Dropbox

 

在开始备份之前,我们首先要通过ln软链接你所有要备份的目录,例如:

 

ln -s /home/wwwroot/abc

 

ln -s /home/wwwroot/bcd

 

具体目录可以根据自己的实际情况选择添加。

好了,运行下列命令,dropbox便开始同步了:

 

~/.dropbox-dist/dropboxd &

 

三、建立定时备份脚本

 

dropbox默认是进行实时同步的,这肯定非常耗资源,而我们的vps总是越能节省资源越好,所以我们要设置下dropbox只间隔性的一次性同步然后关闭程序节省资源。

首先关掉同步:

 

killall dropbox

 

建立并编写定时同步脚本:

 

vi backup.sh

 

将以下代码写入脚本:

#!/bin/sh

start() {

echo starting dropbox

/root/.dropbox-dist/dropboxd &

}

stop() {

echo stoping dropbox

pkill dropbox

}

case “$1″ in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

esac

 

保存后我们要给backup.sh添加执行权限:

 

chmod +x backup.sh

 

然后在var\spool\cron目录下建立root文件或直接运行crontab -e命令添加定时运行:

0 2 * * * sh /root/backup.sh restart

0 3 * * * sh /root/backup.sh stop

这里指的是2点开始同步,3点结束同步,具体运行时间可以根据直接的实际情况调整。而间隔时间也可以根据直接要同步的数据量来进行更改。

 

四、添加数据库备份

 

首先建立并编辑备份命令:

 

vi backupdb.sh

 

将以下脚本写入,具体需要更改的脚本中已经注释得很清楚了:

 

#!/bin/bash

DBName=修改为数据库名

DBUser=修改为数据库用户名

DBPasswd=修改为数据库密码

BackupPath=/root/Dropbox/

LogFile=/root/db.log

DBPath=/usr/local/mysql/var/ #备份的数据库目录

#BackupMethod=mysqldump

#BackupMethod=mysqlhotcopy

#BackupMethod=tar

 

NewFile=”$BackupPath”db$(date +%y%m%d).tgz

DumpFile=”$BackupPath”db$(date +%y%m%d)

OldFile=”$BackupPath”db$(date +%y%m%d –date=’5 days ago’).tgz #自动删除5天前的备份

echo “——————————————-” >> $LogFile

echo $(date +”%y-%m-%d %H:%M:%S”) >> $LogFile

echo “————————–” >> $LogFile

#Delete Old File

if [ -f $OldFile ]

then

rm -f $OldFile >> $LogFile 2>&1

echo “[$OldFile]Delete Old File Success!” >> $LogFile

else

echo “[$OldFile]No Old Backup File!” >> $LogFile

fi

if [ -f $NewFile ]

then

echo “[$NewFile]The Backup File is exists,Can’t Backup!” >> $LogFile

else

case $BackupMethod in

mysqldump)

if [ -z $DBPasswd ]

then

mysqldump -u $DBUser –opt $DBName > $DumpFile

else

mysqldump -u $DBUser -p$DBPasswd –opt $DBName > $DumpFile

fi

tar czvf $NewFile $DumpFile >> $LogFile 2>&1

echo “[$NewFile]Backup Success!” >> $LogFile

rm -rf $DumpFile

;;

mysqlhotcopy)

rm -rf $DumpFile

mkdir $DumpFile

if [ -z $DBPasswd ]

then

mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1

else

mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

fi

tar czvf $NewFile $DumpFile >> $LogFile 2>&1

echo “[$NewFile]Backup Success!” >> $LogFile

rm -rf $DumpFile

;;

*)

service mysql stop >/dev/null 2>&1

tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1

service mysql start >/dev/null 2>&1

echo “[$NewFile]Backup Success!” >> $LogFile

;;

esac

fi

echo “——————————————-” >> $LogFile

保存后同样要先给backupdb.sh添加执行权限:

chmod +x backupdb.sh

然后在var\spool\cron目录下的root文件或直接运行crontab -e命令添加定时运行:

0 1 * * * sh /root/backupdb.sh

一般我喜欢在dropbox运行前建立数据库备份,而具体时间可以自己调整。

 

最后附上删除卸载dropbox的方法:

killall dropbox

rm -rf .dropbox .dropbox-dist Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py

2012
06
21
10:28

VPS 简单性能测试命令

在拿到一台VPS开始使用之间,进行简单的命令测试可以让自己更了解手上的VPS,下面列举一些常用命令:

一、CPU信息及性能查看

先使用命令,得到你的CPU信息,你也可以安装环境之后上传探针在探针里面看,而且探针里面比较详细。

cat /proc/cpuinfo

至于具体的CPU性能查询可到www.anandtech.com/Bench或者www.cpubenchmark.net查看。

二、硬盘IO性能

dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

一般来说越高越好,对于那些小于10M的基本就是不怎么样的。

三、网络性能

wget http://cachefly.cachefly.net/100mb.test

下载完后可以得到一个平均下载速度,如果是10M/s左右,一般来说就是100M的口子。如果能达到50+,那就应该是G口的了。

四、UB跑分得到综合性能

一款国外提供的linux性能专用软件,可以跑出分数来让你做对比:

wget http://www.CTOHome.com/linux-vps-pack/unixbench.sh;sh ./unixbench.sh;

总分情况,低于400的就算性能低下;600-800是属于正常VPS水准;超过1000分性能就算给力。

五、VPS的访问速度

这个主要测试是PING值,和观看TRACERT值,来判断速度。大概这几个网站:

站长站:ping.chinaz.com – ping.chinaz.com/tracert

卡卡网:www.webkaka.com/ping.aspx – www.webkaka.com/Tracert.aspx

国外的:www.just-ping.com 软件:speedtest.net/mini.php

最后在经过硬盘性能和网络性能测试后磁盘会多出两个文件来,可通过如下命令删除

rm test rm 100mb.test

2012
06
21
10:25

LINUX VPS 及压缩与解压缩命令

在平时管理vps或者网站的时候常会对文件进行一些常规操作,除了ftp之外了解在ssh下必要的文件操作命令那也是必不可少的,以下摘录一些常用的文件操作命令:

文件操作:

ls ####查看目录中的文件####

ls -F ####查看目录中的文件####

ls -l ####显示文件和目录的详细资料####

ls -a ####显示隐藏文件####

ls *[0-9]* ####显示包含数字的文件名和目录名####

rm go.tar #### 删除go.tar文件####

find mt.cgi ####查找文件名为mt.cgi的文件####

df ?h ####查看磁盘剩余空间####

find / -name xxx -print ####查找xxx文件####

压缩与解压缩:

tar xvf wordpress.tar ####解压tar格式的文件####

tar -tvf myfile.tar ####查看tar文件中包含的文件 ####

tar cf toole.tar tool ####把tool目录打包为toole.tar文件####

tar cfz xwyme.tar.gz tool ####把tool目录打包且压缩为xwyme.tar.gz文件,因为.tar文件几乎是没有压缩过的,MT的.tar.gz文件解压成.tar文件后差不多是10MB ####

tar jcvf /var/bak/www.tar.bz2 /var/www/ ####创建.tar.bz2文件,压缩率高####

tar xjf www.tar.bz2 ####解压tar.bz2格式####

gzip -d ge.tar.gz ####解压.tar.gz文件为.tar文件####

unzip phpbb.zip ####解压zip文件,windows下要压缩出一个.tar.gz格式的文件还是有点麻烦的####

bunzip2 file1.bz2 ####解压一个叫做 ‘file1.bz2′的文件####

bzip2 file1 ####压缩一个叫做 ‘file1′ 的文件####

gunzip file1.gz ####解压一个叫做 ‘file1.gz’的文件####

gzip file1 ####压缩一个叫做 ‘file1′的文件####

gzip -9 file1 ####最大程度压缩####

rar a file1.rar test_file ####创建一个叫做 ‘file1.rar’ 的包####

rar a file1.rar file1 file2 dir1 ####同时压缩 ‘file1′, ‘file2′ 以及目录 ‘dir1′####

rar x file1.rar ####解压rar包####

unrar x file1.rar ####解压rar包####

tar -cvf archive.tar file1 ####创建一个非压缩的 tarball####

tar -cvf archive.tar file1 file2 dir1 ####创建一个包含了 ‘file1′, ‘file2′ 以及 ‘dir1′的档案文件####

tar -tf archive.tar ####显示一个包中的内容####

tar -xvf archive.tar ####释放一个包####

tar -xvf archive.tar -C /tmp ####将压缩包释放到 /tmp目录下####

tar -cvfj archive.tar.bz2 dir1 ####创建一个bzip2格式的压缩包####

tar -xvfj archive.tar.bz2 ####解压一个bzip2格式的压缩包####

tar -cvfz archive.tar.gz dir1 ####创建一个gzip格式的压缩包####

tar -xvfz archive.tar.gz ####解压一个gzip格式的压缩包####

zip file1.zip file1 ####创建一个zip格式的压缩包####

zip -r file1.zip file1 file2 dir1 ####将几个文件和目录同时压缩成一个zip格式的压缩包####

unzip file1.zip ####解压一个zip格式压缩包####

2012
06
21
10:24

LINUX VPS VI(VIM) 编辑器使用命令

Vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。

 

Vi有3个模式:插入模式、命令模式、低行模式。

 

插入模式:在此模式下可以输入字符,按ESC将回到命令模式。

命令模式:可以移动光标、删除字符等。

低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

 

一、打开文件、保存、关闭文件(vi命令模式下使用)

 

vi filename //打开filename文件

:w //保存文件

:w filename //保存至filename文件

:q //退出编辑器,如果文件已修改请使用下面的命令

:q! //退出编辑器,且不保存

:wq //退出编辑器,且保存文件

 

二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC键可退出插入模式)

 

a //在当前光标位置的右边添加文本

i //在当前光标位置的左边添加文本

A //在当前行的末尾位置添加文本

I //在当前行的开始处添加文本(非空字符的行首)

O //在当前行的上面新建一行

o //在当前行的下面新建一行

R //替换(覆盖)当前光标位置及后面的若干文本

J //合并光标所在行及下一行为一行(依然在命令模式)

 

三、移动光标(vi命令模式下使用)

 

1、使用上下左右方向键

 

2、命令模式下:h 向左、j 向下 、k 向上、l 向右。

空格键 向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。

 

四、删除、恢复字符或行(vi命令模式下使用)

 

x //删除当前字符

nx //删除从光标开始的n个字符

dd //删除当前行

ndd //向下删除当前行在内的n行

u //撤销上一步操作

U //撤销对当前行的所有操作

 

五、搜索(vi命令模式下使用)

 

/xwyme //向光标下搜索vpser字符串

?xwyme //向光标上搜索vpser字符串

n //向下搜索前一个搜素动作

N //向上搜索前一个搜索动作

 

六、跳至指定行(vi命令模式下使用)

 

n+ //向下跳n行

n- //向上跳n行

nG //跳到行号为n的行

G //跳至文件的底部

 

七、设置行号(vi命令模式下使用)

 

:set nu //显示行号

:set nonu //取消显示行号

 

八、复制、粘贴(vi命令模式下使用)

 

yy //将当前行复制到缓存区,也可以用 “ayy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

nyy //将当前行向下n行复制到缓冲区,也可以用 “anyy 复制,”a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。

yw //复制从光标开始到词尾的字符。

nyw //复制从光标开始的n个单词。

y^ //复制从光标到行首的内容。

y$ //复制从光标到行尾的内容。

p //粘贴剪切板里的内容在光标后,如果使用了前面的自定义缓冲区,建议使用”ap 进行粘贴。

P //粘贴剪切板里的内容在光标前,如果使用了前面的自定义缓冲区,建议使用”aP 进行粘贴。

 

九、替换(vi命令模式下使用)

 

:s/old/new //用new替换行中首次出现的old

:s/old/new/g //用new替换行中所有的old

:n,m s/old/new/g //用new替换从n到m行里所有的old

:%s/old/new/g //用new替换当前文件里所有的old

 

十、编辑其他文件

:e otherfilename //编辑文件名为otherfilename的文件。

 

十一、修改文件格式

 

:set fileformat=unix //将文件修改为unix格式,如win下面的文本文件在linux下会出现^M。

 

总结:vi(vim)编辑器虽然有比较多的命令,但是只要勤加练习,相信你会很快的熟练掌握,同时也会给你的工作或学习带来更高的效率。当如果不知道自己处在什么模式时可以按2次Esc键即可回到命令模式,会有最后提醒一点:注意大小写!!!

2012
06
21
10:19

VPS 安全:WEB 服务器常用 IPTABLES 规则

最近因为自己一台VPS的问题一直在不断的查找VPS安全的资料。下面分享一个常用的iptables规则

IPT=”/sbin/iptables”

$IPT –delete-chain

$IPT –flush

$IPT -P INPUT DROP #1

$IPT -P FORWARD DROP #1

$IPT -P OUTPUT DROP #1

$IPT -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #2

$IPT -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT #3

$IPT -A INPUT -p tcp -m tcp –dport 873 -j ACCEPT #3

$IPT -A INPUT -i lo -j ACCEPT #4

$IPT -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT #5

$IPT -A INPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT #5

$IPT -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #6

$IPT -A OUTPUT -p udp -m udp –dport 53 -j ACCEPT #7

$IPT -A OUTPUT -o lo -j ACCEPT #4

$IPT -A OUTPUT -p tcp -m tcp –dport 80 -j ACCEPT #8

$IPT -A OUTPUT -p tcp -m tcp –dport 25 -j ACCEPT #9

$IPT -A OUTPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT #10

$IPT -A OUTPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT #10

service iptables save

service iptables restart

#1、设置INPUT,FORWARD,OUTPUT链默认target为DROP,也就是外部与服务器不能通信。

#2、设置当连接状态为RELATED和ESTABLISHED时,允许数据进入服务器。

#3、设置外部客户端连接服务器端口80,22,21,873。

#4、允许内部数据循回。

#5、允许外部ping服务器 。

#6、设置状态为RELATED和ESTABLISHED的数据可以从服务器发送到外部。

#7、允许服务器使用外部dns解析域名。

#8、设置服务器连接外部服务器端口80。

#9、允许服务器发送邮件。

#10、允许从服务器ping外部

这样禁用了除ssh、http、ftp等外的所有端口,当然我们可能用到其他端口以供管理,比如说我们在lnmp下常用PureFTPd来管理FTP,这样的话我们首先要编辑下 /etc/proftpd.conf,配置以下内容:

PassivePorts 25000 26000 #(端口号,可自行选择)

然后再上面的代码中还需要添加一行:

$IPT -A INPUT -p tcp -m tcp –dport 25000:26000 –syn -j ACCEPT #这里的25000和26000必须为你添加的端口号

另外也有人可能会用到VNC,那就继续添加一行:

$IPT -A INPUT -p tcp -m tcp –dport 5901 –syn -j ACCEPT#5901为你的vnc端口

等所有的端口都配置好以后,将脚本存储为iptables.sh,上传至VPS,执行sh iptables.sh即可自动配置防火墙。

这样,相信大家有点找到规律了,其他端口可以根据自己的需要选择开放然后重新执行脚本即可~