不久之前,Godaddy 发布了一款云储存产品,名为 Godaddy Online Storage ,具备 100G 的在线储存空间,不需要担心数据安全的问题。目前 Godaddy Online Storage 的价格十分亲民,只年付只需 23.88 美元(相当于每月1.99美元),折合人民币约 150 元/年,并且支付周期越长越优惠,最低每月只需1.39美元。
但是 Godaddy Online Storage 并非专门为 VPS 文件备份而设计的,因此只支持 FTP 。如此一来,对于喜欢用 RSYNC 或者 SCP 方式来备份文件的同学来说是一大遗憾(尽管可以用 lftp 的 mirror 功能,但太过单一了)。
本文将为大家介绍一种折中的方法,变相使 Godaddy Online Storage 支持 SCP 和 RSYNC 。原理是用一台服务器作为中转服务器,通过 curlftpfs 挂载 Godaddy Online Storage 的 FTP 账号,然后其他服务器即可通过传统 RSYNC 或 SCP 的方法,将需要备份的文件通过中转服务器备份到 Godaddy Online Storage 。
当然,只有一台 VPS 的同学,可以通过本文介绍的方法,挂载 Godaddy Online Storage 之后,在本机直接通过常规的文件操作命令,如 cp 来备份。
第一步:安装 DAG repository
CentOS 5.x 32位:
wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.i386.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm
CentOS 5.x 64位:
wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
第二步:通过 yum 安装 curlftpfs
执行以下命令,将安装 curlftpfs 以及相关依赖包,如 fuse 和 fuse-lib 等。
yum -y install curlftpfs
第三步:创建挂载点
mkdir -p /root/mnt/godaddy
第四步:使用 curlftpfs 挂载
curlftpfs -v -o allow_other -o user=你的用户名:对应的密码 onlinefilefolder.com /root/mnt/godaddy
到这里就大功告成了!已经成功的把 Godaddy Online Storage 提供的 FTP 空间作为一个本地的储存设备,我们可以进行任何的文件操作了,比方说复制、删除、修改这些基本操作,也可以通过 SCP 和 RSYNC 来从其他服务器备份文件到 Godaddy Online Storage 了!
删除挂载点的两种方法
1.通过umount
umount /root/mnt/godaddy
2.通过fusermount
fusermount -u /root/mnt/godaddy
开机自动挂载的方法
echo "curlftpfs#你的用户名:对应的密码@onlinefilefolder.com <wbr>/root/mnt/godaddy </wbr><wbr>fuse allow_other 0 0" >> /etc/fstab</wbr>
引用地址:http://www.vpseek.com/advanced-guides/backup-files-to-your-godaddy-online-storage-via-scp-or-rsync.html
Linux命令:改变文件或目录的访问权限 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
文件或目录的访问权限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的创建者。所有者可以允许同组用户有权访问文件,还可以将文件的访问权限赋予系统中的其他用户。在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。例如:
$ ls -l sobsrc. tgz
-rw-r–r– 1 root root 483997 Ju1 l5 17:3l sobsrc. tgz
横线代表空许可。r代表只读,w代表写,x代表可执行。注意这里共有10个位置。第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。
例如:
- rw- r– r–
普通文件 文件主 组用户 其他用户
是文件sobsrc.tgz 的访问权限,表示sobsrc.tgz是一个普通文件;sobsrc.tgz的属主有读写权限;与sobsrc.tgz属主同组的用户只有读权限;其他用户也只有读权限。
确定了一个文件的访问权限后,用户可以利用Linux系统提供的chmod命令来重新设定不同的访问权限。也可以利用chown命令来更改某个文件或目录的所有者。利用chgrp命令来更改某个文件或目录的用户组。
下面分别对这些命令加以介绍。
chmod 命令
chmod命令是非常重要的,用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。
该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | - | =] [mode] 文件名?
命令中各选项的含义为:
2. 数字设定法
我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示尚慈ㄏ蓿?表示可读权限,然后将其相加。所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。
例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。
数字设定法的一般形式为:
chmod [mode] 文件名?
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp [选项] group filename?
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的所有子目录和文件的属组。
chown 命令
功能:更改某个文件或目录的属主和属组。这个命令也很常用。例如root用户把自己的一个文件拷贝给用户xu,为了让用户xu能够存取这个文件,root用户应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件。
语法:chown [选项] 用户或组 文件
说明:chown将指定文件的拥有者改为指定的用户或组。用户可以是用户名或用户ID。组可以是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义如下:
- R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
- v 显示chown命令所做的工作。
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
- 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
文件名:以空格分开的要改变权限的文件列表,支持通配符。
在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example
使同组和其他用户对文件example 有读权限。
目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上。主要部分是根、/usr 、/var 和 /home 文件系统。每个部分有不同的目的。
每台机器都有根文件系统,它包含系统引导和使其他文件系统得以mount所必要的文件,根文件系统应该有单用户状态所必须的足够的内容。还应该包括修复损坏系统、恢复备份等的工具。
/usr 文件系统包含所有命令、库、man页和其他一般操作中所需的不改变的文件。 /usr 不应该有一般使用中要修改的文件。这样允许此文件系统中的文件通过网络共享,这样可以更有效,因为这样节省了磁盘空间(/usr 很容易是数百兆),且易于管理(当升级应用时,只有主/usr 需要改变,而无须改变每台机器) 即使此文件系统在本地盘上,也可以只读mount,以减少系统崩溃时文件系统的损坏。
/var 文件系统包含会改变的文件,比如spool目录(mail、news、打印机等用的), log文件、formatted manual pages和暂存文件。传统上 /var 的所有东西曾在 /usr 下的某个地方,但这样/usr 就不可能只读安装了。
/home 文件系统包含用户家目录,即系统上的所有实际数据。一个大的/home 可能要分为若干文件系统,需要在/home 下加一级名字,如/home/students 、/home/staff 等。
虽然上面将不同的部分称为文件系统,但它们不必是真的分离的文件系统。如果系统是小的单用户系统,而用户希望简单化,可以很容易地放在一个文件系统中。根据磁盘容量和不同目的所需分配的空间,目录树也可以分到不同的文件系统中。重要的是使用标准的名字,即使/var 和/usr 在同一分区上,名字 /usr/lib/libc.a 和/var/adm/messages 必须能工作,例如将/var 下的文件移动到/usr/var ,并将 /var 作为/usr/var 的符号连接。
Unix文件结构根据目的来分组文件,即所有的命令在一个地方,所有的数据在另一个地方,所有的文档又在一个地方,等等。另一个方法是根据属于的程序分组文件,即所有Emacs文件在一个目录中,所有TeX文件在另一个中,等等。后一种方法的问题是文件难于共享(程序目录经常同时包含静态可共享的和动态不可共享的文件),有时难于查找 (例如man页在极大数量的地方,使man程序查找它们极其困难)。
根文件系统
根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏。损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导。
根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz 。所有其他文件在根文件系统的子目录中。
/bin :引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
/sbin :类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。
/etc :特定机器的配置文件。
/root:root用户的家目录。
/lib :根文件系统上的程序所需的共享库。
/lib/modules :核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
/dev :设备文件。
/tmp :临时文件。引导启动后运行的程序应该使用/var/tmp ,而不是/tmp ,因为前者可能在一个拥有更多空间的磁盘上。
/boot :引导加载器(bootstrap loader)使用的文件,如LILO。核心映象也经常在这里,而不是在根目录。如果有许多核心映象,
这个目录可能变得很大,这时可能使用单独的文件系统更好。另一个理由是要确保核心映象必须在IDE硬盘的前1024柱面内。
/mnt :系统管理员临时mount的安装点。程序并不自动支持安装到/mnt 。 /mnt 可以分为子目录(例如/mnt/dosa 可能是使用MSDOS文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱)。
/proc , /usr , /var , /home :其他文件系统的安装点。
/etc目录
/etc 目录包含很多文件。许多网络配置文件也在/etc 中。
/etc/rc or /etc/rc.d or /etc/rc*.d :启动、或改变运行级时运行的scripts或scripts的目录。
/etc/passwd :用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
/etc/fdprm :软盘参数表。说明不同的软盘格式。用setfdprm 设置。
/etc/fstab :启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表。 Linux下,也包括用swapon -a启用的swap区的信息。
/etc/group :类似/etc/passwd ,但说明的不是用户而是组。
/etc/inittab :init 的配置文件。
/etc/issue :getty 在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。
/etc/magic :file 的配置文件。包含不同文件格式的说明,file 基于它猜测文件类型。
/etc/motd :Message Of The Day,成功登录后自动输出。内容由系统管理员确定。经常用于通告信息,如计划关机时间的警告。
/etc/mtab :当前安装的文件系统列表。由scripts初始化,并由mount 命令自动更新。需要一个当前安装的文件系统的列表时使用,例如df 命令。
/etc/shadow :在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读。这使破译口令更困难。
/etc/login.defs :login 命令的配置文件。
/etc/printcap :类似/etc/termcap ,但针对打印机。语法不同。
/etc/profile , /etc/csh.login , /etc/csh.cshrc :登录或启动时Bourne或C shells执行的文件。这允许系统管理员为所有用户建立全局缺省环境。
/etc/securetty :确认安全终端,即哪个终端允许root登录。一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权。
/etc/shells :列出可信任的shell。chsh 命令允许用户在本文件指定范围内改变登录shell。提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录。
/etc/termcap :终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap 中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。
/dev目录
/dev 目录包括所有设备的设备文件。设备文件用特定的约定命名。
/usr文件系统
/usr 文件系统经常很大,因为所有程序安装在这里。 /usr 里的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local 下。这样可能在升级新版系统或新distribution时无须重新安装全部程序。
/usr/X11R6 :X Window系统的所有文件。为简化X的开发和安装,X的文件没有集成到系统中。 X自己在/usr/X11R6 下类似/usr 。
/usr/X386 :类似/usr/X11R6 ,但是给X11 Release 5的。
/usr/bin :几乎所有用户命令。有些命令在/bin 或/usr/local/bin 中。
/usr/sbin :根文件系统不必要的系统管理命令,例如多数服务程序。
/usr/man , /usr/info , /usr/doc :手册页、GNU信息文档和各种其他文档文件。
/usr/include :C编程语言的头文件。为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字。
/usr/lib :程序或子系统的不变的数据文件,包括一些site-wide配置文件。名字lib来源于库(library); 编程的原始库存在/usr/lib 里。
/usr/local :本地安装的软件和其他文件放在这里。
/var文件系统
/var 包括系统一般运行时要改变的数据。每个系统是特定的,即不通过网络与其他计算机共享。
/var/catman :当要求格式化时的man页的cache。man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在 /usr/man/cat* 中。而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了。 (/var/catman 经常被清除,就象清除临时目录一样。)
/var/lib :系统正常运行时要改变的文件。
/var/local
/usr/local 中安装的程序的可变数据(即系统管理员安装的程序)。注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock 。
/var/lock :锁定文件。许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设
备或文件。
/var/log :各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息。 /var/log 里的文件经常不确定地增长,应该定期清除。
/var/run :保存到下次引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。
/var/spool :mail, news, 打印队列和其他队列工作的目录。每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中。
/var/tmp ;比/tmp 允许的大或需要存在较长时间的临时文件。 (虽然系统管理员可能不允许/var/tmp 有很旧的文件。)
/proc文件系统
/proc 文件系统是一个假的文件系统。它不存在在磁盘某个磁盘上。而是由核心在内存中产生。用于提供关于系统的信息(originally about processes, hence the name)。下面说明一些最重要的文件和目录。
/proc/1 :关于进程1的信息目录。每个进程在/proc 下有一个名为其进程号的目录。
/proc/cpuinfo :处理器信息,如类型、制造商、型号和性能。
/proc/devices :当前运行的核心配置的设备驱动的列表。
/proc/dma :显示当前使用的DMA通道。
/proc/filesystems :核心配置的文件系统。
/proc/interrupts :显示使用的中断,and how many of each there have been.
/proc/ioports :当前使用的I/O端口。
/proc/kcore :系统物理内存映象。与物理内存大小完全一样,但不实际占用这么多内存;it is generated on the fly as programs access it. (记住:除非你把它拷贝到什么地方,/proc 下没有任何东西占用任何磁盘空间。)
/proc/kmsg :核心输出的消息。也被送到syslog 。
/proc/ksyms :核心符号表。
/proc/loadavg :系统"平均负载";3个指示器指出系统当前的工作量。
/proc/meminfo :存储器使用信息,包括物理内存和swap。
/proc/modules :当前加载了哪些核心模块。
/proc/net ;网络协议状态信息。
/proc/self :到查看/proc 的程序的进程目录的符号连接。当2个进程查看/proc 时,是不同的连接。这主要便于程序得到它自己的进程目录。
/proc/stat :系统的不同状态,such as the number of page faults since the system was booted.
/proc/uptime :系统启动的时间长度。
/proc/version :核心版本。
1:Ping 测试网络连通性,测试一个网络是不是可以正常连接
【参数说明】
-t :不停的ping指定的计算机,直到按下Ctrl+C中断。
-a :将地址解析为计算机NetBios名。
-n :发送count指定的ECHO数据包数。通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助。能够测试发送数据包的返回平均时间,及时间的快慢程度。默认值为 4。
-l :发送指定数据量的ECHO数据包。默认为 32 字节;最大值是65500byt。
-f :在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段。通常你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-i :将“生存时间”字段设置为TTL指定的值。指定TTL值在对方的系统里停留的时间。同时检查网络运转情况的。
-v :tos 将“服务类型”字段设置为 tos 指定的值。
-r :在“记录路由”字段中记录传出和返回数据包的路由。通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通过此参数可以设定,想探测经过路由的个数。限定能跟踪到9个路由。
-s :指定 count 指定的跃点数的时间戳。与参数-r差不多,但此参数不记录数据包返回所经过的路由,最多只记录4个。
-j :利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源) IP 允许的最大数量为 9。
-k :computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
-w:timeout 指定超时间隔,单位为毫秒。
[admin@localhost ~]$ ping -c 5 www.myzhenai.com PING www.myzhenai.com (173.252.231.204) 56(84) bytes of data. 64 bytes from 173-252-231-204.take2hosting.com (173.252.231.204): icmp_seq=1 ttl=50 time=203 ms 64 bytes from 173-252-231-204.take2hosting.com (173.252.231.204): icmp_seq=2 ttl=50 time=205 ms 64 bytes from 173-252-231-204.take2hosting.com (173.252.231.204): icmp_seq=3 ttl=50 time=203 ms 64 bytes from 173-252-231-204.take2hosting.com (173.252.231.204): icmp_seq=4 ttl=50 time=205 ms 64 bytes from 173-252-231-204.take2hosting.com (173.252.231.204): icmp_seq=5 ttl=50 time=205 ms --- www.myzhenai.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4209ms rtt min/avg/max/mdev = 203.647/204.765/205.763/0.938 ms
2:nslookup 检查DNS查询结果和MX
nslookup最简单的用法是查询域名对应的IP地址,包括A记录、MX记录、NS记录 CNAME记录。 查询A记录:nslookup 域名 查询MX记录:nslookup -qt=mx 域名 查询NS记录:nslookup -qt=ns 域名 查询CNAME记录:nslookup 域名
[admin@localhost ~]$ nslookup www.myzhenai.com.cn Server: 202.100.199.8 Address: 202.100.199.8#53 Non-authoritative answer: Name: www.myzhenai.com.cn Address: 173.252.231.204
3:traceroute 显示数据包到达目标的路径,即查询网络线路
-d 使用Socket层级的排错功能。
-f< 存活数值> 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g< 网关> 设置来源路由网关,最多可设置8个。
-i< 网络界面> 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m< 存活数值> 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p< 通信端口> 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s< 来源地址> 设置本地主机送出数据包的IP地址。
-t< 服务类型> 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w< 超时秒数> 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。
[admin@localhost ~]$ traceroute www.myzhenai.com traceroute to www.myzhenai.com (173.252.231.204), 30 hops max, 60 byte packets 1 * * * 2 218.77.136.37 (218.77.136.37) 15.683 ms 17.646 ms 20.018 ms 3 218.77.143.45 (218.77.143.45) 32.606 ms 34.860 ms 39.786 ms 4 202.97.35.246 (202.97.35.246) 42.593 ms 42.997 ms 45.305 ms 5 202.97.60.50 (202.97.60.50) 47.738 ms 50.929 ms 52.149 ms 6 202.97.51.166 (202.97.51.166) 232.286 ms 219.600 ms 221.710 ms 7 202.97.50.22 (202.97.50.22) 218.443 ms 208.250 ms 207.595 ms 8 te4-5.ccr02.lax04.atlas.cogentco.com (154.54.12.133) 202.010 ms 201.850 ms 204.122 ms 9 te0-3-0-7.ccr21.lax01.atlas.cogentco.com (154.54.1.9) 211.176 ms 210.355 ms te0-2-0-7.ccr22.lax01.atlas.cogentco.com (154.54.6.241) 208.571 ms 10 te3-1.mpd01.sjc01.atlas.cogentco.com (154.54.5.185) 239.511 ms te7-3.ccr02.sjc01.atlas.cogentco.com (154.54.2.150) 371.838 ms te4-1.ccr02.sjc01.atlas.cogentco.com (154.54.5.69) 375.233 ms 11 te4-1.ccr01.sjc07.atlas.cogentco.com (154.54.26.150) 205.030 ms 206.039 ms 206.722 ms 12 38.99.107.162 (38.99.107.162) 208.285 ms 210.247 ms 208.691 ms 13 172.19.202.2 (172.19.202.2) 209.528 ms 205.705 ms 205.393 ms 14 172.19.0.66 (172.19.0.66) 189.686 ms 187.993 ms 189.075 ms 15 74-82-173-18.take2hosting.com (74.82.173.18) 190.718 ms 189.835 ms 189.718 ms 16 173-252-231-204.take2hosting.com (173.252.231.204) 205.258 ms 204.869 ms 204.542 ms
4:tcpdump 监视网络传输数据
-a 将网络地址和广播地址转变成名字;
-d 将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd 将匹配信息包的代码以c语言程序段的格式给出;
-ddd 将匹配信息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部信息;
-f 将外部的Internet地址以数字的形式打印出来;
-l 使标准输出变为缓冲行形式;
-n 不把网络地址转换成名字;
-t 在输出的每一行不打印时间戳;
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv 输出详细的报文信息;
-c 在收到指定的包的数目后,tcpdump就会停止;
-F 从指定的文件中读取表达式,忽略其它的表达式;
-i 指定监听的网络接口;
-r 从指定的文件中读取包(这些包一般通过-w选项产生);
-w 直接将包写入文件中,并不分析和打印出来;
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc(远程过程调用)和snmp(简单网络管理协议)
-p 指定协议tcp,udp,icmp,arp
-s 指定捕获数包字的大小,单位byte,默认96最大65536
查看icmp包:
1,tcpdump -i eth0 -p icmp (and src 192.168.1.xxx)
查看广播包:
2,tcpdump -i eth0 -p broadcast
查看arp包
3,tcpdump -i eth0 -p arp
4,tcpdump -X -i eth0 -p tcp port 21 //嗅探21端口数据并解包
获取ftp密码实例:
tcpdump -X -i eth0 -p tcp port 21 > 21.log &
cat 21.log | grep "USER\."
cat 21.log | grep "PASS\."
更精确的嗅探:
嗅探从172.16.1.1到172.16.1.2端口为21的数据包:
tcpdump -i eth0 -X -tnn -p tcp and src 172.16.1.1 and dst 172.16.1.2 and port 21
5.tcpdump -X -n -p tcp dst port 80 //嗅探80端口数据,并解包 (加-t就不显示时间)
6.tcpdump -i eth0 host 202.96.128.68 //指定主机
7,//嗅探从172.16.1.2到172.16.1.1 或者172.16.1.13的数据包
tcpdump -i eth0 -tnn src 172.16.1.2 and dst \(172.16.1.1 or 172.16.1.13 \)
8,利用tcpdump统计各类数据包:
//统计1000个数据包中的ip连接量,并按从多到少的顺序排序,列出前3名
tcpdump -i ethp -tnn -c 1000 | awk -F "." "{print $1"."$2"."$3"."$4}' | sort | uniq -c |sort -nr | head -n 3//按从大到小的顺
序排序并列出并三名
tcpdump -i ethp -tnn -c 1000 | awk -F "." "{print $1"."$2"."$3"."$4}' | sort | uniq -c | awk '$1 > 100'//显示大于100数据包
sort:排序 -nr 从大到小 -rn 从小到大
uniq -c:过滤重复并在前面打印重复的行数
awk '$1 > 100':如果$1参数(数字)大于100
head -n 3:显示头3行
9,tcpdump -i eth0 -tnn host 192.168.1.100 and -p tcp or udp or icmp //嗅探所有 tcp,udp,icmp消息所不转换网络名称(加快速度)
10,嗅探dhcp服务器的ip(捕获非法DHCP Server):
tcpdump -i eth0 -tnn port 67
然后用dhclient eth0进行dhcp请求,捉dhcp server的ip地址
或者直接看日志啦cat /var/messages | grep "DHCPACK from"
由于RedHat的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件。在这种情况下,想使用Redhat系统,还想用yum源来在线安装软件,有没有办法?
1、删除redhat原有的yum源
# rpm -aq | grep yum|xargs rpm -e --nodeps
2、下载新的yum安装包
这里我们使用CentOS的yum源
# wget http://mirror.centos.org/centos/6.0/os/i386/Packages/Python-iniparse-0.3.1-2.1.el6.noarch.rpm # wget http://mirror.centos.org/centos/6.0/os/i386/Packages/yum-metadata-parser-1.1.2-14.1.el6.i686.rpm # wget http://mirror.centos.org/centos/6.0/os/i386/Packages/yum-3.2.27-14.el6.centos.noarch.rpm # wget http://mirror.centos.org/centos/6.0/os/i386/Packages/yum-plugin-fastestmirror-1.1.26-1.el6.noarch.rpm
3、安装yum软件包
# rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm # rpm -ivh yum-metadata-parser-1.1.2-14.1.el6.i686.rpm # rpm -ivh yum-3.2.27-14.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.26-11.el6.noarch.rpm
注意:最后两个安装包要放在一起同时安装,否则会提示相互依赖,安装失败。
4、更改yum源 #我们使用网易的CentOS镜像源
# cd /etc/yum.repos.d/ # wget http://mirrors.163.com/.help/CentOS6-Base-163.repo # vi CentOS6-Base-163.repo
编辑文件,把文件里面的$releasever全部替换为版本号,即6 最后保存!或者直接把下面的内存拷贝到CentOS6-Base-163.repo文件中即可(已经修改好)
##########################################################################
CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client. You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorlist= does not work for you, as a fall back you can try the# remarked out baseurl= line instead.##[base]name=CentOS-6 - Base - 163.combaseurl=http://mirrors.163.com/centos/6/os/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=osgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#released updates[updates]name=CentOS-6 - Updates - 163.combaseurl=http://mirrors.163.com/centos/6/updates/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=updatesgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#additional packages that may be useful[extras]name=CentOS-6 - Extras - 163.combaseurl=http://mirrors.163.com/centos/6/extras/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=extrasgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#additional packages that extend functionality of existing packages[centosplus]name=CentOS-6 - Plus - 163.combaseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=centosplusgpgcheck=1enabled=0gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6#contrib - packages by Centos Users[contrib]name=CentOS-6 - Contrib - 163.combaseurl=http://mirrors.163.com/centos/6/contrib/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contribgpgcheck=1enabled=0gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#########################################################################
5、清理yum缓存
# yum clean all # yum makecache #将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度 # yum install vim* #测试域名是否可用
至此,Redhat6可以使用CentOS的yum源在线安装软件了!
天津大学开源软件镜像站:http://mirror.tju.edu.cn/
Centos:http://mirror.tju.edu.cn/centos/ Ubuntu:http://mirror.tju.edu.cn/ubuntu/
Linux作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无数的技术人员作为技术后盾和技术支持,这使得Linux越来越受到程序员的欢迎。
但这种开放式的操作系统有一个最大的弊端就是每个程序员的水平不等,编写相关软件后并未注意自己程序中的漏洞。没有统一的漏洞检查,这使得Linux的软件中会出现很多的漏洞,而软件开发者却很难察觉自己编写程序的漏洞,但黑客们会非常注意这些漏洞,并且会利用这些漏洞来达到自己的目的。那么是不是Linux系统就不安全了呢?其实大可不必担心,只要做好下述几点便可安心的使用Linux系统,
一、取消不必要的服务
早期的Unix版本中,每一个不同的网络服务都有一个服务程序在后台运行,后来的版本用统一的/etc/inetd服务器程序担此重任。Inetd是Internetdaemon的缩写,它同时监视多个网络端口,一旦接收到外界传来的连接信息,就执行相应的TCP或UDP网络服务。
由于受inetd的统一指挥,因此Linux中的大部分TCP或UDP服务都是在/etc/inetd.conf文件中设定。所以取消不必要服务的第一步就是检查/etc/inetd.conf文件,在不要的服务前加上“#”号。
一般来说,除了http、smtp、telnet和ftp之外,其他服务都应该取消,诸如简单文件传输协议tftp、网络邮件存储及接收所用的imap/ipop传输协议、寻找和搜索资料用的gopher以及用于时间同步的daytime和time等。
还有一些报告系统状态的服务,如finger、efinger、systat和netstat等,虽然对系统查错和寻找用户非常有用,但也给黑客提供了方便之门。例如,黑客可以利用finger服务查找用户的电话、使用目录以及其他重要信息。因此,很多Linux系统将这些服务全部取消或部分取消,以增强系统的安全性。
Inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。因此,用户必须仔细检查该文件中各端口的设定,以免有安全上的漏洞。
在Linux中有两种不同的服务型态:一种是仅在有需要时才执行的服务,如finger服务;另一种是一直在执行的永不停顿的服务。这类服务在系统启动时就开始执行,因此不能靠修改inetd来停止其服务,而只能从修改/etc/rc.d/rc[n].d/文件或用Runleveleditor去修改它。提供文件服务的NFS服务器和提供NNTP新闻服务的news都属于这类服务,如果没有必要,最好取消这些服务。
二、限制系统的出入
在进入Linux系统之前,所有用户都需要登录,也就是说,用户需要输入用户账号和密码,只有它们通过系统验证之后,用户才能进入系统。
与其他Unix操作系统一样,Linux一般将密码加密之后,存放在/etc/passwd文件中。Linux系统上的所有用户都可以读到/etc/passwd文件,虽然文件中保存的密码已经经过加密,但仍然不太安全。因为一般的用户可以利用现成的密码破译工具,以穷举法猜测出密码。比较安全的方法是设定影子文件/etc/shadow,只允许有特殊权限的用户阅读该文件。
在Linux系统中,如果要采用影子文件,必须将所有的公用程序重新编译,才能支持影子文件。这种方法比较麻烦,比较简便的方法是采用插入式验证模块(PAM)。很多Linux系统都带有Linux的工具程序PAM,它是一种身份验证机制,可以用来动态地改变身份验证的方法和要求,而不要求重新编译其他公用程序。这是因为PAM采用封闭包的方式,将所有与身份验证有关的逻辑全部隐藏在模块内,因此它是采用影子档案的最佳帮手。
此外,PAM还有很多安全功能:它可以将传统的DES加密方法改写为其他功能更强的加密方法,以确保用户密码不会轻易地遭人破译;它可以设定每个用户使用电脑资源的上限;它甚至可以设定用户的上机时间和地点。
Linux系统管理人员只需花费几小时去安装和设定PAM,就能大大提高Linux系统的安全性,把很多攻击阻挡在系统之外。
三、保持最新的系统核心
由于Linux流通渠道很多,而且经常有更新的程序和系统补丁出现,因此,为了加强系统安全,一定要经常更新系统内核。Kernel是Linux操作系统的核心,它常驻内存,用于加载操作系统的其他部分,并实现操作系统的基本功能。由于Kernel控制计算机和网络的各种功能,因此,它的安全性对整个系统安全至关重要。
早期的Kernel版本存在许多众所周知的安全漏洞,而且也不太稳定,只有2.0.x以上的版本才比较稳定和安全,新版本的运行效率也有很大改观。在设定Kernel的功能时,只选择必要的功能,千万不要所有功能照单全收,否则会使Kernel变得很大,既占用系统资源,也给黑客留下可乘之机。
在Internet上常常有最新的安全修补程序,Linux系统管理员应该消息灵通,经常光顾安全新闻组,查阅新的修补程序。
四、增强安全防护工具
SSH是安全套接层的简称,它是可以安全地用来取代rlogin、rsh和rcp等公用程序的一套程序组。SSH采用公开密钥技术对网络上两台主机之间的通信信息加密,并且用其密钥充当身份验证的工具。由于SSH将网络上的信息加密,因此它可以用来安全地登录到远程主机上,并且在两台主机之间安全地传送信息。实际上,SSH不仅可以保障Linux主机之间的安全通信,Windows用户也可以通过SSH安全地连接到Linux服务器上。
五、限制超级用户的权力
我们在前面提到,root是Linux保护的重点,由于它权力无限,因此最好不要轻易将超级用户授权出去。但是,有些程序的安装和维护工作必须要求有超级用户的权限,在这种情况下,可以利用其他工具让这类用户有部分超级用户的权限。Sudo就是这样的工具。Sudo程序允许一般用户经过组态设定后,以用户自己的密码再登录一次,取得超级用户的权限,但只能执行有限的几个指令。
六、设定用户账号的安全等级
除密码之外,用户账号也有安全等级,这是因为在Linux上每个账号可以被赋予不同的权限,因此在建立一个新用户ID时,系统管理员应该根据需要赋予该账号不同的权限,并且归并到不同的用户组中。在Linux系统上的tcpd中,可以设定允许上机和不允许上机人员的名单。其中,允许上机人员名单在/etc/hosts.allow中设置,不允许上机人员名单在/etc/hosts.deny中设置。设置完成之后,需要重新启动inetd程序才会生效。此外,Linux将自动把允许进入或不允许进入的结果记录到/rar/log/secure文件中,系统管理员可以据此查出可疑的进入记录。每个账号ID应该有专人负责。在企业中,如果负责某个ID的职员离职,管理员应立即从系统中删除该账号。很多入侵事件都是借用了那些很久不用的账号。在用户账号之中,黑客最喜欢具有root权限的账号,这种超级用户有权修改或删除各种系统设置,可以在系统中畅行无阻。因此,在给任何账号赋予root权限之前,都必须仔细考虑。
Linux系统中的/etc/securetty文件包含了一组能够以root账号登录的终端机名称。例如,在RedHatLinux系统中,该文件的初始值仅允许本地虚拟控制台(rtys)以root权限登录,而不允许远程用户以root权限登录。最好不要修改该文件,如果一定要从远程登录为root权限,最好是先以普通账号登录,然后利用su命令升级为超级用户。
当我们忘记root密码时如果GRUB没有设置密码(或者知道GRUB密码时)我们可以 用单用户方法来修改密码,这是我们就得用光盘修改root密码 1,将系统光盘放入光驱,设置光驱引导。
2,选择F2进入系统修复 输入命令:linux rescue

3,以下出现的几个选择和安装系统时一样。
4当出现这个提示的时候应该记住,他提示的命令:chroot /mnt/sysimage

5 下一步就是进入修改密码,我们先行:chroot /mnt/sysimage 不认不能进入可写模式。

6 最后运行命令:passwd
新密码
确认新密码
7 重启计算机. 如何为grub加密:为grub密分为二种,一是明文,二是采用MD5算法的加密。
明文加密:编辑 grub.conf文件
vim /boor/grub/grub.conf 在default=0下面加一行 password=1234567890(这个就是明文密码) MD5加密:先要命令 grub-md5-crypt计算出MD5的值,然后复制这个值到grub.conf文件中 password –md5$BYxEn$e5X/xOTS2pTpPPWtgIMhU1(这个就是用MD5加密后的值)
问题症状:只要一打开QQ聊天窗口,点击查看聊天历史记录,或者点击了QQ截图,或其他操作,QQ很容易就自动退出关闭了。
解决方法:
只要修改一下qq配置文件(/usr/bin/qq)就可以了。具体如下。
1. 打开qq配置文件:在终端输入命令代码:sudo gedit /usr/bin/qq
2. 在打开的qq配置文件中,在#!bin/sh下面一行,cd /usr/share/tencent/qq/前面一行的位置插入代码:
export GDK_NATIVE_WINDOWS=true
3. 最终修改后的QQ脚本配置文件如下,保存关闭即可。
#!/bin/sh export GDK_NATIVE_WINDOWS=true cd /usr/share/tencent/qq/ ./qq
4. 重启QQ,qq不再自动退出和关闭了。
以上方法多个linux系统均可适用,Redhat,centos,ubuntu,openSUSE,fedora,debian.
Recent Comments