当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : vsftpd之详细的ftp使用指南
帖子发表于 : 2010-05-16 11:33 
头像

注册: 2009-12-13 21:11
帖子: 70
地址: 湖南湘潭
送出感谢: 0 次
接收感谢: 1
1. 匿名服务器的连接(独立的服务器)
在/etc/vsftpd/vsftpd.conf 配置文件中添加如下几项:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下载的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
功能:只能连接FTP服务器,不能上传和下载
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

2. 开启匿名FTP服务器上传权限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

3. 开启匿名服务器下载的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下载 (W)写----上传 (X)执行----如果不开FTP的目录都进不去

4.普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下载

5. 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行 chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可

6. 限制本地用户访问FTP
Userlist_enable=yes (用userlistlai 来限制用户访问)
Userlist_deny=no (名单中的人不允许访问)
Userlist_file=/指定文件存放的路径/ (文件放置的路径)
注:开启userlist_enable=yes匿名帐号不能登陆

7. 安全选项
Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又重新连接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据连接端口改在
Pasv_max_port=60000 50000—60000之间)
Max_clients=200 (FTP的最大连接数)
Max_per_ip=4 (每IP的最大连接数)
Listen_port=5555 (从5555端口进行数据连接)

8. 查看谁登陆了FTP,并杀死它的进程
ps –xf |grep ftp
kill 进程号



高级篇:

1. 配置本地组访问的FTP

首先创建用户组 test和FTP的主目录

groupadd test

mkdir /tmp/test

然后创建用户

useradd -G test –d /tmp/test –M usr1

注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定

M:不建立默认的自家目录,也就是说在/home下没有自己的目录

useradd –G test –d /tmp/test –M usr2

接着改变文件夹的属主和权限

chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1

chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有

这个实验的目的就是usr1有上传、删除和下载的权限

而 usr2只有下载的权限没有上传和删除的权限

当然啦大家别忘了我们的主配置文件vsftpd.conf

要确定local_enable=yes、 write_enable=yes、chroot_local_usr=yes这三个选项是有的哦!



2. 配置独立FTP的服务器的非端口标准模式进行数据连接

这个非常容易:在VSFTPD。CONF中添加

Listen_port=33333

就可以了啦!



好了重头戏来了,这也是我为什么叫高手篇的缘故!^_^(大家不要扔鸡蛋哦!)

3. 配置单独的虚拟FTP,使用虚拟FTP用户,并使建立的四个帐户中有不同的权限

(两个有读目录的权限,一个有浏览、上传、下载的权限,一个有浏览、下载、删除和改文件名的权限)

A:配置网卡

第一块网卡地址是10.2.3.4 掩码是255.255.0.0

ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up

B:写入/etc/sysconfig中(为了重起后IP地址不会丢失)

cd /etc/sysconfig/network-scripts

cp ifcfg-eth0 ifcfg-eth0:1

vi ifcfg-eth0:1在其中修改内容如下

DEVICE=eth0:1

BROADCAST=211.131.4.255

HWADDR= 该网卡的MAC 地址

IPADDR=211.131.4.253

NETMASK=255.255.255.0

NETWORK=211.131.4.0

ONBOOT=yes

TYPE=Ethernet

wq 推出

C:进入vsftpd.conf所在的文件夹

cp vsftpd.conf vsftpd2.conf

修改vsftpd.conf 添加以下信息

Listen_address=10.2.3.4

修改vsftpd2.conf添加以下信息

Listen_address=211.131.4.253

Ftpd_banner=this is a virtual ftp test

到此虚拟的FTP服务器建立好了

D:建立 logins.txt

vi /tmp/logins.txt

添加入下信息:

longlei------------ 用户名

longlei------------密码

zhangweibo

zhangweibo

jinhui

jinhui

lxp

lxp

格式要按照我的来哦,一个用户名,一个密码啦

F:建立访问者的口令库文件,然后修改其权限

db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db

G:进如/etc/pam.d/中创建ftp.vu

在此文件中添加如下信息

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

H:在/var /ftp/创建目录并改变其属性和它的属主

useradd -d /var/ftp/test qiang

chmod 700 /var/ftp/test

在目录中添加test_file测试文件

I:进入vsftpd2.conf修改其中的信息(我加的是)

Listen_yes

Anonymous_enable=no

Local_enable=yes

Write_enable=no

Anon_upload_enable=no

Anon_mkdir_write_enable=no

Anon_other_write_enable=no

Chroot_local_user=yes

Guest_enable=yes---------- 起用虚拟用户

Guest_username=qiang------将虚拟用户映射为本地用户

Listen_port=5555

Max_client=10

Max_per_ip=1

Ftpd_banner=this is a virtual server and users

Pam_service_name=ftp.vu

注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件

重起服务

到此虚拟 USER就建好了

J:在VSFTPD。CONF所在的目录中创建virtaul文件目录

并在文件目录中创建以你用户名命名的配置文件

Longlei zhangweibo jinhui lxp

在longlei中添加:

Anon_world_readable_only=no

在 lxp中添加

Anon_world_readable_only=no

这样此两个用户就有了浏览目录的权限了

在 jinhui中添加

Anon_world_readable_only=no

Write_enable=yes

Anon_upload_enable=yes

此用户就有了上传、下载和浏览的权限

在zhangweibo中添加

Anon_world_readable_only=no

Write_enable=yes

Anon_upload_enable=yes

Anon_other_write_enable=yes

此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限

K:修改vsftpd2.conf

加入 user_config_dir=/vsftpd.conf所在的目录/virtual

重起服务器就搞定了



好了大家别走开,现在隆重推出VSFTPD。CONF中的我所知道的所有配置信息

Anonymous_enable=yes (允许匿名登陆)

Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

Local_umask=022 (FTP上本地的文件权限,默认是077)

Connect_form_port_20=yes (启用FTP数据端口的数据连接)*

Xferlog_enable=yes (激活上传和下传的日志)

Xferlog_std_format=yes (使用标准的日志格式)

Ftpd_banner=XXXXX (欢迎信息)

Pam_service_name=vsftpd (验证方式)*

Listen=yes (独立的VSFTPD服务器)*

Anon_upload_enable=yes (开放上传权限)

Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)

Write_enable=yes (开放本地用户写的权限)

Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

Anon_world_readable_only=no (放开匿名用户浏览权限)

Ascii_upload_enable=yes (启用上传的ASCII传输方式)

Ascii_download_enable=yes (启用下载的ASCII 传输方式)

Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)

Idle_session_timeout=600(秒) (用户会话空闲后10分钟)

Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

Accept_timeout=60(秒) (将客户端空闲1分钟后断)

Connect_timeout=60(秒) (中断1分钟后又重新连接)

Local_max_rate=50000(bite) (本地用户传输率50K)

Anon_max_rate=30000(bite) (匿名用户传输率30K)

Pasv_min_port=50000 (将客户端的数据连接端口改在

Pasv_max_port=60000 50000—60000之间)

Max_clients=200 (FTP的最大连接数)

Max_per_ip=4 (每IP的最大连接数)

Listen_port=5555 (从5555端口进行数据连接)

Local_enble=yes (本地帐户能够登陆)

Write_enable=no (本地帐户登陆后无权删除和修改文件)

这是一组

Chroot_local_user=yes (本地所有帐户都只能在自家目录)

Chroot_list_enable=yes (文件中的名单可以调用)

Chroot_list_file=/ 任意指定的路径/vsftpd.chroot_list

(前提是chroot_local_user=no)

这又是一组

Userlist_enable=yes (在指定的文件中的用户不可以访问)

Userlist_deny=yes

Userlist_file=/指定的路径/vsftpd.user_list

又开始单的了

Banner_fail=/ 路径/文件名 (连接失败时显示文件中的内容)

Ls_recurse_enable=no

Async_abor_enable=yes

One_process_model=yes

Listen_address=10.2.2.2 (将虚拟服务绑定到某端口)

Guest_enable=yes (虚拟用户可以登陆)

Guest_username= 所设的用户名 (将虚拟用户映射为本地用户)

User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹

(指定不同虚拟用户配置文件的路径)

又是一组

Chown_uploads=yes (改变上传文件的所有者为root)

Chown_username=root

又是一组

Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址)

Banned_email_file=// 任意指定的路径/xx/

又是单的

Pasv_enable=yes ( 服务器端用被动模式)

User_config_dir=/ 任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)


(字节数 : 8142)
评论:0 | 推荐:0 | 引用:0 | 点击:0 | 收藏
解读linux内核源码的入门方法 [转贴 2006-08-11 09:05:38]
一.核心源程序的文件组织:

  1.Linux核心源程序通常都安装在/usr/src/linux下,而且它有一个非常简单的编号约定:任何偶数的核心(例如2.0.30)都是一个稳定地发行的核心,而任何奇数的核心(例如2.1.42)都是一个开发中的核心。

  本文基于稳定的2.2.5源代码,第二部分的实现平台为 Redhat Linux 6.0。

  2.核心源程序的文件按树形结构进行组织,在源程序树的最上层你会看到这样一些目录:

  ●Arch :arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如 i386就是关于intel cpu及与之相兼容体系结构的子目录。PC机一般都基于此目录;

  ●Include: include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在 include/linux子目录下,与 intel cpu相关的头文件在 include/asm-i386子目录下,而include/scsi目录则是有关scsi设备的头文件目录;


  ●Init: 这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件main.c和Version.c,这是研究核心如何工作的一个非常好的起点。

  ●Mm :这个目录包括所有独立于 cpu 体系结构的内存管理代码,如页式存储管理内存的分配和释放等;而和体系结构相关的内存管理代码则位于arch/*/mm/,例如arch/i386/mm/Fault.c

  ●Kernel:主要的核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c;同样,和体系结构相关的代码在arch/*/kernel中;

  ●Drivers: 放置系统所有的设备驱动程序; 每种驱动程序又各占用一个子目录:如,/block

  下为块设备驱动程序,比如ide(ide.c)。如果你希望查看所有可能包含文件系统的设备是如何初始化的,你可以看drivers/block/genhd.c中的device_setup()。它不仅初始化硬盘,也初始化网络,因为安装nfs文件系统的时候需要网络其他:

  如, Lib放置核心的库代码; Net,核心与网络相关的代码; Ipc,这个目录包含核心的进程间通讯的代码; Fs ,所有的文件系统代码和各种类型的文件操作代码,它的每一个子目录支持一个文件系统,例如fat和ext2; Scripts, 此目录包含用于配置核心的脚本文件等。

  一般,在每个目录下,都有一个 .depend 文件和一个 Makefile 文件,这两个文件都是编译时使用的辅助文件,仔细阅读这两个文件对弄清各个文件这间的联系和依托关系很有帮助;而且,在有的目录下还有Readme 文件,它是对该目录下的文件的一些说明,同样有利于我们对内核源码的理解;

  二.解读实战:为你的内核增加一个系统调用

  虽然,Linux 的内核源码用树形结构组织得非常合理、科学,把功能相关联的文件都放在同一个子目录下,这样使得程序更具可读性。然而,Linux 的内核源码实在是太大而且非常复杂,即便采用了很合理的文件组织方法,在不同目录下的文件之间还是有很多的关联,分析核心的一部分代码通常会要查看其它的几个相关的文件,而且可能这些文件还不在同一个子目录下。

  体系的庞大复杂和文件之间关联的错综复杂,可能就是很多人对其望而生畏的主要原因。当然,这种令人生畏的劳动所带来的回报也是非常令人着迷的:你不仅可以从中学到很多的计算机的底层的知识(如下面将讲到的系统的引导),体会到整个操作系统体系结构的精妙和在解决某个具体细节问题时,算法的巧妙;而且更重要的是:在源码的分析过程中,你就会被一点一点地、潜移默化地专业化;甚至,只要分析十分之一的代码后,你就会深刻地体会到,什么样的代码才是一个专业的程序员写的,什么样的代码是一个业余爱好者写的。

  为了使读者能更好的体会到这一特点,下面举了一个具体的内核分析实例,希望能通过这个实例,使读者对

  Linux的内核的组织有些具体的认识,从中读者也可以学到一些对内核的分析方法。

  以下即为分析实例:

  【一】操作平台:

  硬件:cpu intel Pentium II ;

  软件:Redhat Linux 6.0; 内核版本2.2.5【二】相关内核源代码分析:

  1.系统的引导和初始化:Linux 系统的引导有好几种方式:常见的有 Lilo,

  Loadin引导和Linux的自举引导(bootsect-loader),而后者所对应源程序为arch/i386 /boot/bootsect.S,它为实模式的汇编程序,限于篇幅在此不做分析;无论是哪种引导方式,最后都要跳转到arch/i386/Kernel /setup.S, setup.S主要是进行时模式下的初始化,为系统进入保护模式做准备;此后,系统执行 arch/i386/kernel/head.S (对经压缩后存放的内核要先执行arch/i386/boot /compressed/head.S); head.S 中定义的一段汇编程序setup_idt ,它负责建立一张256项的 idt 表(Interrupt Descriptor Table),此表保存着所有自陷和中断的入口地址;其中包括系统调用总控程序 system_call 的入口地址;当然,除此之外,head.S还要做一些其他的初始化工作;

  2.系统初始化后运行的第一个内核程序asmlinkage void __init start_kernel(void) 定义在/usr/src/linux/init/main.c中,它通过调用usr/src/linux/arch/i386/kernel /traps.c 中的一个函数void __init trap_init(void) 把各自陷和中断服务程序的入口地址设置到 idt 表中,其中系统调用总控程序system_cal就是中断服务程序之一;void __init trap_init(void) 函数则通过调用一个宏  set_system_gate(SYSCALL_VECTOR,&system_call); 把系统调用总控程序的入口挂在中断 0x80上; 其中SYSCALL_VECTOR是定义在 /usr/src/linux/arch/i386/kernel/irq.h中的一个常量 0x80; 而system_call即为中断总控程序的入口地址;中断总控程序用汇编语言定义在/usr/src/linux/arch/i386 /kernel/entry.S中;

  3.中断总控程序主要负责保存处理机执行系统调用前的状态,检验当前调用是否合法, 并根据系统调用向量,使处理机跳转到保存在 sys_call_table 表中的相应系统服务例程的入口; 从系统服务例程返回后恢复处理机状态退回用户程序;而系统调用向量则定义在/usr/src/linux/include/asm-386 /unistd.h 中;sys_call_table 表定义在/usr/src/linux/arch/i386/kernel/entry.S 中; 同时在/usr/src/linux/include/asm-386/unistd.h 中也定义了系统调用的用户编程接口;

  4.由此可见 , linux 的系统调用也象 dos 系统的 int 21h 中断服务, 它把0x80 中断作为总的入口, 然后转到保存在 sys_call_table 表中的各种中断服务例程的入口地址 , 形成各种不同的中断服务; 由以上源代码分析可知, 要增加一个系统调用就必须在 sys_call_table 表中增加一项 , 并在其中保存好自己的系统服务例程的入口地址,然后重新编译内核,当然,系统服务例程是必不可少的。

  由此可知在此版 linux内核源程序中,与系统调用相关的源程序文件就包括以下这些:

  1.arch/i386/boot/bootsect.S

  2.arch/i386/Kernel/setup.S

  3.arch/i386/boot/compressed/head.S

  4.arch/i386/kernel/head.S

  5.init/main.c

   6.arch/i386/kernel/traps.c

  7.arch/i386/kernel/entry.S

  8.arch/i386/kernel/irq.h

  9.include/asm-386/unistd.h

  当然,这只是涉及到的几个主要文件。而事实上,增加系统调用真正要修改文件只有include/asm-386/unistd.h和arch/i386/kernel /entry.S两个;

  【三】 对内核源码的修改:


  1.在kernel/sys.c中增加系统服务例程如下:

  asmlinkage int sys_addtotal(int numdata)

  {

  int i=0,enddata=0;

  while(i<=numdata)

   enddata+=i++;

  return enddata;

  }

  该函数有一个 int 型入口参数 numdata , 并返回从 0 到 numdata 的累加值;

  当然也可以把系统服务例程放在一个自己定义的文件或其他文件中,只是要在相应文件中作必要的说明;

  2.把 asmlinkage int sys_addtotal( int) 的入口地址加到 sys_call_table表中:

  arch/i386/kernel/entry.S 中的最后几行源代码修改前为:

  ... ...

  .long SYMBOL_NAME(sys_sendfile)

  .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */

  .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */

  .long SYMBOL_NAME(sys_vfork) /* 190 */

  .rept NR_syscalls-190

  .long SYMBOL_NAME(sys_ni_syscall)

  .endr

  修改后为: ... ...

  .long SYMBOL_NAME(sys_sendfile)

  .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */

  .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */

  .long SYMBOL_NAME(sys_vfork) /* 190 */

  /* add by I */

   .long SYMBOL_NAME(sys_addtotal)

  .rept NR_syscalls-191

  .long SYMBOL_NAME(sys_ni_syscall)

  .endr

  3. 把增加的 sys_call_table 表项所对应的向量,在include/asm-386/unistd.h

  中进行必要申明,以供用户进程和其他系统进程查询或调用:

  增加后的部分 /usr/src/linux/include/asm-386/unistd.h 文件如下:

  ... ...

  #define __NR_sendfile 187

   #define __NR_getpmsg 188

  #define __NR_putpmsg 189

   #define __NR_vfork 190

  /* add by I */

  #define __NR_addtotal 191

  4.测试程序(test.c)如下:

  #include

  #include

  _syscall1(int,addtotal,int, num)

  main()

  {

  int i,j;

  do

  printf("Please input a number\n");

  while(scanf("%d",&i)==EOF);

   if((j=addtotal(i))==-1)

  printf("Error occurred in syscall-addtotal();\n");

  printf("Total from 0 to %d is %d \n",i,j);

  }

  对修改后的新的内核进行编译,并引导它作为新的操作系统,运行几个程序后可以发现一切正常;在新的系统下对测试程序进行编译(*注:由于原内核并未提供此系统调用,所以只有在编译后的新内核下,此测试程序才能可能被编译通过),运行情况如下:

  $gcc -o test test.c

  $./test

  Please input a number

  36

  Total from 0 to 36 is 666

  可见,修改成功;

  而且,对相关源码的进一步分析可知,在此版本的内核中,/usr/src/linux/arch/i386 /kernel/entry.S

  文件中对 sys_call_table 表的设置可以看出,有好几个系统调用的服务例程都是定义在/usr/src/linux/kernel/sys.c

  中的同一个函数:

  asmlinkage int sys_ni_syscall(void)

  {

  return -ENOSYS;

  }

  例如第188项和第189项就是如此:

  ... ...

  .long SYMBOL_NAME(sys_sendfile)

  .long SYMBOL_NAME(sys_ni_syscall) /* streams1 */

  .long SYMBOL_NAME(sys_ni_syscall) /* streams2 */

  .long SYMBOL_NAME(sys_vfork) /* 190 */

  ... ...

  而这两项在文件 /usr/src/linux/include/asm-386/unistd.h 中却申明如下:

  ... ...

  #define __NR_sendfile 187

  #define __NR_getpmsg 188 /* some people actually want streams */

  #define __NR_putpmsg 189 /* some people actually want streams */

  #define __NR_vfork 190

  由此可见,在此版本的内核源代码中,由于asmlinkage int sys_ni_syscall(void) 函数并不进行任何操作,所以包括 getpmsg, putpmsg 在内的好几个系统调用都是不进行任何操作的,即有待扩充的空调用;但它们却仍然占用着sys_call_table表项,估计这是设计者们为了方便扩充系统调用而安排的; 所以只需增加相应服务例程(如增加服务例程getmsg或putpmsg),就可以达到增加系统调用的作用。


(字节数 : 7343)
评论:0 | 推荐:0 | 引用:0 | 点击:0 | 收藏
华为新命令行详讲 [转贴 2006-08-11 09:03:51]
计算机命令
~~~~~~~~~~
PCA login: root ;使用root用户
password: linux ;口令是linux
# shutdown -h now ;关机
# init 0 ;关机
# logout ;用户注销
# login ;用户登录
# ifconfig ;显示IP地址
# ifconfig eth0 <ip address> netmask <netmask> ;设置IP地址
# ifconfig eht0 <ip address> netmask <netmask> down ;删除IP地址
# route add 0.0.0.0 gw <ip> ;设置网关
# route del 0.0.0.0 gw <ip> ;删除网关
# route add default gw <ip> ;设置网关
# route del default gw <ip> ;删除网关
# route ;显示网关
# ping <ip> ;发ECHO包
# telnet <ip> ;远程登录
----------------------------------------
交换机命令
~~~~~~~~~~
[Quidway]super password ;修改特权用户密码
[Quidway]sysname ;交换机命名
[Quidway]interface ethernet 0/1 ;进入接口视图
[Quidway]interface vlan x ;进入接口视图
[Quidway-Vlan-interfacex]ip address 10.65.1.1 255.255.0.0 ;配置VLAN的IP 地址
[Quidway]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 ;静态路由=网关
[Quidway]user-interface vty 0 4 ;进入虚拟终端
[S3026-ui-vty0-4]authentication-mode password ;设置口令模式
[S3026-ui-vty0-4]set authentication-mode password simple 222 ;设置口令
[S3026-ui-vty0-4]user privilege level 3 ;用户级别
[Quidway-Ethernet0/1]duplex {half|full|auto} ;配置端口工作状态
[Quidway-Ethernet0/1]speed {10|100|auto} ;配置端口工作速率
[Quidway-Ethernet0/1]flow-control ;配置端口流控
[Quidway-Ethernet0/1]mdi {across|auto|normal} ;配置端口平接扭接
[Quidway-Ethernet0/1]port link-type {trunk|access|hybrid} ;设置端口工作模式
[Quidway-Ethernet0/1]undo shutdown ;激活端口
[Quidway-Ethernet0/2]quit ;退出系统视图
[Quidway]vlan 3       ;创建VLAN
[Quidway-vlan3]port ethernet 0/1 to ethernet 0/4      ;在VLAN中增加端口
[Quidway-Ethernet0/2]port access vlan 3      ;当前端口加入到VLAN
[Quidway-Ethernet0/2]port trunk permit vlan {ID|All}   ;设trunk允许的VLAN
[Quidway-Ethernet0/2]port trunk pvid vlan 3      ;设置trunk端口的PVID
[Quidway]monitor-port <interface_type interface_num>  ;指定镜像端口
[Quidway]port mirror <interface_type interface_num>   ;指定被镜像端口
[Quidway]port mirror int_list observing-port int_type int_num ;指定镜像和被镜像
[Quidway]description string      ;指定VLAN描述字符
[Quidway]description         ;删除VLAN描述字符
[Quidway]display vlan [vlan_id] ;查看VLAN设置
[Quidway]stp {enable|disable} ;设置生成树,默认关闭
[Quidway]stp priority 4096      ;设置交换机的优先级
[Quidway]stp root {primary|secondary}      ;设置为根或根的备份
[Quidway-Ethernet0/1]stp cost 200      ;设置交换机端口的花费
[SwitchA-vlanx]isolate-user-vlan enable      ;设置主vlan
[SwitchA]Isolate-user-vlan <x> secondary <list>      ;设置主vlan包括的子vlan
[Quidway-Ethernet0/2]port hybrid pvid vlan <id>      ;设置vlan的pvid
[Quidway-Ethernet0/2]port hybrid pvid      ;删除vlan的pvid
[Quidway-Ethernet0/2]port hybrid vlan vlan_id_list untagged  ;设置无标识的vlan
如果包的vlan id与PVId一致,则去掉vlan信息. 默认PVID=1。
所以设置PVID为所属vlan id, 设置可以互通的vlan为 untagged.
----------------------------------------
路由器命令
~~~~~~~~~~
[Quidway]display version       ;显示版本信息
[Quidway]display current-configuration       ;显示当前配置
[Quidway]display interfaces       ;显示接口信息
[Quidway]display ip route       ;显示路由信息
[Quidway]sysname aabbcc       ;更改主机名
[Quidway]super passwrod 123456       ;设置口令
[Quidway]interface serial0       ;进入接口
[Quidway-serial0]ip address <ip> <mask|mask_len>       ;配置端口IP地址
[Quidway-serial0]undo shutdown       ;激活端口
[Quidway]link-protocol hdlc       ;绑定hdlc协议
[Quidway]user-interface vty 0 4
[Quidway-ui-vty0-4]authentication-mode password
[Quidway-ui-vty0-4]set authentication-mode password simple 222
[Quidway-ui-vty0-4]user privilege level 3
[Quidway-ui-vty0-4]quit
[Quidway]debugging hdlc all serial0       ;显示所有信息
[Quidway]debugging hdlc event serial0       ;调试事件信息
[Quidway]debugging hdlc packet serial0       ;显示包的信息
静态路由:
[Quidway]ip route-static <ip><mask>{interface number|nexthop}[value][reject|blackhole]
例如:
[Quidway]ip route-static 129.1.0.0 16 10.0.0.2
[Quidway]ip route-static 129.1.0.0 255.255.0.0 10.0.0.2
[Quidway]ip route-static 129.1.0.0 16 Serial 2
[Quidway]ip route-static 0.0.0.0 0.0.0.0 10.0.0.2
动态路由:
[Quidway]rip ;设置动态路由
[Quidway]rip work ;设置工作允许
[Quidway]rip input ;设置入口允许
[Quidway]rip output ;设置出口允许
[Quidway-rip]network 1.0.0.0       ;设置交换路由网络
[Quidway-rip]network all ;设置与所有网络交换
[Quidway-rip]peer ip-address ;
[Quidway-rip]summary ;路由聚合
[Quidway]rip version 1 ;设置工作在版本1
[Quidway]rip version 2 multicast ;设置工作在版本2,多播方式
[Quidway-Ethernet0]rip split-horizon ;水平分隔
[Quidway]router id A.B.C.D ;配置路由器的ID
[Quidway]ospf enable ;启动OSPF协议
[Quidway-ospf]import-route direct ;引入直联路由
[Quidway-Serial0]ospf enable area <area_id> ;配置OSPF区域
标准访问列表命令格式如下:
acl <acl-number> [match-order config|auto] ;默认前者顺序匹配。
rule [normal|special]{permit|deny} [source source-addr source-wildcard|any]
例:
[Quidway]acl 10
[Quidway-acl-10]rule normal permit source 10.0.0.0 0.0.0.255
[Quidway-acl-10]rule normal deny source any
扩展访问控制列表配置命令
配置TCP/UDP协议的扩展访问列表:
rule {normal|special}{permit|deny}{tcp|udp}source {<ip wild>|any}destination <ip wild>|any}
[operate]
配置ICMP协议的扩展访问列表:
rule {normal|special}{permit|deny}icmp source {<ip wild>|any]destination {<ip wild>|any]
[icmp-code] [logging]
扩展访问控制列表操作符的含义
equal portnumber ;等于
greater-than portnumber ;大于
less-than portnumber ;小于
not-equal portnumber ;不等
range portnumber1 portnumber2 ;区间
扩展访问控制列表举例
[Quidway]acl 101
[Quidway-acl-101]rule deny souce any destination any
[Quidway-acl-101]rule permit icmp source any destination any icmp-type echo
[Quidway-acl-101]rule permit icmp source any destination any icmp-type echo-reply
[Quidway]acl 102
[Quidway-acl-102]rule permit ip source 10.0.0.1 0.0.0.0 destination 202.0.0.1 0.0.0.0
[Quidway-acl-102]rule deny ip source any destination any
[Quidway]acl 103
[Quidway-acl-103]rule permit tcp source any destination 10.0.0.1 0.0.0.0 destination-port equal ftp
[Quidway-acl-103]rule permit tcp source any destination 10.0.0.2 0.0.0.0 destination-port equal www

[Quidway]firewall enable
[Quidway]firewall default permit|deny
[Quidway]int e0
[Quidway-Ethernet0]firewall packet-filter 101 inbound|outbound

地址转换配置举例
[Quidway]firewall enable
[Quidway]firewall default permit
[Quidway]acl 101
[Quidway-acl-101]rule deny ip source any destination any
[Quidway-acl-101]rule permit ip source 129.38.1.4 0 destination any
[Quidway-acl-101]rule permit ip source 129.38.1.1 0 destination any
[Quidway-acl-101]rule permit ip source 129.38.1.2 0 destination any
[Quidway-acl-101]rule permit ip source 129.38.1.3 0 destination any
[Quidway]acl 102
[Quidway-acl-102]rule permit tcp source 202.39.2.3 0 destination 202.38.160.1 0
[Quidway-acl-102]rule permit tcp source any destination 202.38.160.1 0 destination-port great-than
1024
[Quidway-Ethernet0]firewall packet-filter 101 inbound
[Quidway-Serial0]firewall packet-filter 102 inbound
[Quidway]nat address-group 202.38.160.101 202.38.160.103 pool1
[Quidway]acl 1
[Quidway-acl-1]rule permit source 10.110.10.0 0.0.0.255
[Quidway-acl-1]rule deny source any
[Quidway-acl-1]int serial 0
[Quidway-Serial0]nat outbound 1 address-group pool1
[Quidway-Serial0]nat server global 202.38.160.101 inside 10.110.10.1 ftp tcp
[Quidway-Serial0]nat server global 202.38.160.102 inside 10.110.10.2 www tcp
[Quidway-Serial0]nat server global 202.38.160.102 8080 inside 10.110.10.3 www tcp
[Quidway-Serial0]nat server global 202.38.160.103 inside 10.110.10.4 smtp udp

PPP验证:
主验方:pap|chap
[Quidway]local-user u2 password {simple|cipher} aaa
[Quidway]interface serial 0
[Quidway-serial0]ppp authentication-mode {pap|chap}
[Quidway-serial0]ppp chap user u1 //pap时,不用此句
pap被验方:
[Quidway]interface serial 0
[Quidway-serial0]ppp pap local-user u2 password {simple|cipher} aaa
chap被验方:
[Quidway]interface serial 0
[Quidway-serial0]ppp chap user u1
[Quidway-serial0]local-user u2 password {simple|cipher} aaa


(字节数 : 22062)
评论:0 | 推荐:0 | 引用:0 | 点击:0 | 收藏
网络路由协议分析 [转贴 2006-08-11 09:02:24]
1、什么时候使用多路由协议?
当两种不同的路由协议要交换路由信息时,就要用到多路由协议。当然,路由再分配也可以交换路由信息。下列情况不必使用多路由协议:
从老版本的内部网关协议( Interior Gateway Protocol,I G P)升级到新版本的I G P。
你想使用另一种路由协议但又必须保留原来的协议。
你想终止内部路由,以免受到其他没有严格过滤监管功能的路由器的干扰。
你在一个由多个厂家的路由器构成的环境下。
什么是距离向量路由协议?
距离向量路由协议是为小型网络环境设计的。在大型网络环境下,这类协议在学习路由及保持路由将产生较大的流量,占用过多的带宽。如果在9 0秒内没有收到相邻站点发送的路由选择表更新,它才认为相邻站点不可达。每隔30秒,距离向量路由协议就要向相邻站点发送整个路由选择表,使相邻站点的路由选择表得到更新。这样,它就能从别的站点(直接相连的或其他方式连接的)收集一个网络的列表,以便进行路由选择。距离向量路由协议使用跳数作为度量值,来计算到达目的地要经过的路由器数。
例如,R I P使用B e l l m a n - F o r d算法确定最短路径,即只要经过最小的跳数就可到达目的地的线路。最大允许的跳数通常定为 1 5。那些必须经过1 5个以上的路由器的终端被认为是不可到达的。
距离向量路由协议有如下几种: IP RIP、IPX RIP、 A p p l e Talk RT M P和I G R P。
什么是链接状态路由协议?
链接状态路由协议更适合大型网络,但由于它的复杂性,使得路由器需要更多的C P U 资源。它能够在更短的时间内发现已经断了的链路或新连接的路由器,使得协议的会聚时间比距离向量路由协议更短。通常,在1 0秒钟之内没有收到邻站的H E L LO报文,它就认为邻站已不可达。一个链接状态路由器向它的邻站发送更新报文,通知它所知道的所有链路。它确定最优路径的度量值是一个数值代价,这个代价的值一般由链路的带宽决定。具有最小代价的链路被认为是最优的。在最短路径优先算法中,最大可能代价的值几乎可以是无限的。
如果网络没有发生任何变化,路由器只要周期性地将没有更新的路由选择表进行刷新就可以了(周期的长短可以从 3 0分钟到2个小时)。
链接状态路由协议有如下几种: IP OSPF、IPX NLSP和I S - I S。
一个路由器可以既使用距离向量路由协议,又使用链接状态路由协议吗?
可以。每一个接口都可以配置为使用不同的路由协议;但是它们必须能够通过再分配路由来交换路由信息。(路由的再分配将在本章的后面进行讨论。)


2、什么是访问表?
访问表是管理者加入的一系列控制数据包在路由器中输入、输出的规则。它不是由路由器自己产生的。访问表能够允许或禁止数据包进入或输出到目的地。访问表的表项是顺序执行的,即数据包到来时,首先看它是否是受第一条表项约束的,若不是,再顺序向下执行;如果它与第一条表项匹配,无论是被允许还是被禁止,都不必再执行下面表项的检查了。
每一个接口的每一种协议只能有一个访问表。
支持哪些类型的访问表?
一个访问表可以由它的编号来确定。具体的协议及其对应的访问表编号如下:
◎I P标准访问表编号:1~9 9
◎I P扩展访问表编号:1 0 0~1 9 9
◎I P X标准访问表编号:8 0 0~8 9 9
◎I P X扩展访问表编号:1 0 0 0~1 0 9 9
◎AppleTa l k访问表编号:6 0 0~6 9 9
提示在Cisco IOS Release11.2或以上版本中,可以用有名访问表确定编号在1~199的访问表。
如何创建IP标准访问表?
一个I P标准访问表的创建可以由如下命令来完成: Access- list access list number source [source-mask]
在这条命令中:
◎access list number:确定这个入口属于哪个访问表。它是从1到9 9的数字。
◎permit | deny:表明这个入口是允许还是阻塞从特定地址来的信息流量。
◎source:确定源I P地址。
◎s o u r c e - m a s k:确定地址中的哪些比特是用来进行匹配的。如果某个比特是"1",表明地址中该位比特不用管,如果是"0"的话,表明地址中该位比特将被用来进行匹配。可以使用通配符。
以下是一个路由器配置文件中的访问表例子:
Router# show access-lists
Standard IP access list 1
deny 204.59.144.0, wildcard bits 0.0.0.255
permit any

3、什么时候使用路由再分配?
路由再分配通常在那些负责从一个自治系统学习路由,然后向另一个自治系统广播的路由器上进行配置。如果你在使用 I G R P或E I G R P,路由再分配通常是自动执行的。

4、什么是管理距离?
管理距离是指一种路由协议的路由可信度。每一种路由协议按可靠性从高到低,依次分配一个信任等级,这个信任等级就叫管理距离。对于两种不同的路由协议到一个目的地的路由信息,路由器首先根据管理距离决定相信哪一个协议。

6、如何配置再分配?
在进行路由再分配之前,你必须首先:
1) 决定在哪儿添加新的协议。
2) 确定自治系统边界路由器(ASBR)。
3) 决定哪个协议在核心,哪个在边界。
4) 决定进行路由再分配的方向。
可以使用以下命令再分配路由更新(这个例子是针对OSPF的):
router(config-router)#redistribute protocol [process-id] [metric metric - value ] [metric-type type - value ] [subnets]
在这个命令中:
◎protocol:指明路由器要进行路由再分配的源路由协议。
主要的值有: bgp、eqp、igrp、isis、ospf、static [ ip ]、connected和rip。
◎process-id:指明OSPF的进程ID。
◎metric:是一个可选的参数,用来指明再分配的路由的度量值。缺省的度量值是0。

7、为什么确定毗邻路由器很重要?
在一个小型网络中确定毗邻路由器并不是一个主要问题。因为当一个路由器发生故障时,别的路由器能够在一个可接受的时间内收敛。但在大型网络中,发现一个故障路由器的时延可能很大。知道毗邻路由器可以加速收敛,因为路由器能够更快地知道故障路由器,因为hello报文的间隔比路由器交换信息的间隔时间短。
使用距离向量路由协议的路由器在毗邻路由器没有发送路由更新信息时,才能发现毗邻路由器已不可达,这个时间一般为10~90秒。而使用链接状态路由协议的路由器没有收到hello报文就可发现毗邻路由器不可达,这个间隔时间一般为10秒钟。
距离向量路由协议和链接状态路由协议如何发现毗邻路由器?
使用距离向量路由协议的路由器要创建一个路由表(其中包括与它直接相连的网络),同时它会将这个路由表发送到与它直接相连的路由器。毗邻路由器将收到的路由表合并入它自己的路由表,同时它也要将自己的路由表发送到它的毗邻路由器。使用链接状态路由协议的路由器要创建一个链接状态表,包括整个网络目的站的列表。在更新报文中,每个路由器发送它的整个列表。当毗邻路由器收到这个更新报文,它就拷贝其中的内容,同时将信息发向它的邻站。在转发路由表内容时没有必要进行重新计算。
注意使用IGRP和EIGRP的路由器广播 hello报文来发现邻站,同时像OSPF一样交换路由更新信息。EIGRP为每一种网络层协议保存一张邻站表,它包括邻站的地址、在队列中等待发送的报文的数量、从邻站接收或向邻站发送报文需要的平均时间,以及在确定链接断开之前没有从邻站收到任何报文的时间。

8、什么是自治系统?
一个自治系统就是处于一个管理机构控制之下的路由器和网络群组。它可以是一个路由器直接连接到一个LAN上,同时也连到Internet上;它可以是一个由企业骨干网互连的多个局域网。在一个自治系统中的所有路由器必须相互连接,运行相同的路由协议,同时分配同一个自治系统编号。自治系统之间的链接使用外部路由协议,例如B G P。

9、什么是BGP?
BGP(Border GatewayProtocol)是一种在自治系统之间动态交换路由信息的路由协议。一个自治系统的经典定义是在一个管理机构控制之下的一组路由器,它使用IGP和普通度量值向其他自治系统转发报文。
在BGP中使用自治系统这个术语是为了强调这样一个事实:一个自治系统的管理对于其他自治系统而言是提供一个统一的内部选路计划,它为那些通过它可以到达的网络提供了一个一致的描述。

10、BGP支持的会话种类?
BGP 相邻路由器之间的会话是建立在TCP协议之上的。TCP协议提供一种可靠的传输机制,支持两种类型的会话:
o 外部BGP(EBGP):是在属于两个不同的自治系统的路由器之间的会话。这些路由器是毗邻的,共享相同的介质和子网。
o 内部BGP(IBGP):是在一个自治系统内部的路由器之间的会话。它被用来在自治系统内部协调和同步寻找路由的进程。BGP路由器可以在自治系统的任何位置,甚至中间可以相隔数个路由器。
注意"初始的数据流的内容是整个BGP路由表。但以后路由表发生变化时,路由器只传送变化的部分。BGP不需要周期性地更新整个路由表。因此,在连接已建立的期间,一个BGP发送者必须保存有当前所有同级路由器共有的整个BGP路由表。BGP路由器周期性地发送 Keep Alive消息来确认连接是激活的。当发生错误或特殊情况时,路由器就发送Notification消息。当一条连接发生错误时,会产生一个 notification消息并断开连接。"-来自RFC11654、BGP操作。

11、BGP允许路由再分配吗?
允许。因为BGP主要用来在自治系统之间进行路由选择,所以它必须支持RIP、OSPF和 IGRP的路由选择表的综合,以便将它们的路由表转入一个自治系统。BGP是一个外部路由协议,因此它的操作与一个内部路由协议不同。在BGP中,只有当一条路由已经存在于IP路由表中时,才能用NETWORK命令在BGP路由表中创建一条路由。

12、如何显示在数据库中的所有BGP路由?
要显示数据库中的所有BGP路由,只需在EXEC命令行下输入:
show ip bgp paths
这个命令的输出可能是:
Address Hash Refcount MetricPath
0 x 2 9 7 A 9 C 0 2 0 i

13、什么是水平分割?
水平分割是一种避免路由环的出现和加快路由汇聚的技术。由于路由器可能收到它自己发送的路由信息,而这种信息是无用的,水平分割技术不反向通告任何从终端收到的路由更新信息,而只通告那些不会由于计数到无穷而清除的路由。

14、路由环是如何产生的?
由于网络的路由汇聚时间的存在,路由表中新的路由或更改的路由不能够很快在全网中稳定,使得有不一致的路由存在,于是会产生路由环。

15、什么是度量值?
度量值代表距离。它们用来在寻找路由时确定最优路由。每一种路由算法在产生路由表时,会为每一条通过网络的路径产生一个数值(度量值),最小的值表示最优路径。度量值的计算可以只考虑路径的一个特性,但更复杂的度量值是综合了路径的多个特性产生的。一些常用的度量值有:
◎跳步数:报文要通过的路由器输出端口的个数。
◎Ticks:数据链路的延时(大约1/18每秒)。
◎代价:可以是一个任意的值,是根据带宽,费用或其他网络管理者定义的计算方法得到的。
◎带宽:数据链路的容量。
◎时延:报文从源端传到目的地的时间长短。
◎负载:网络资源或链路已被使用的部分的大小。
◎ 可靠性:网络链路的错误比特的比率。
◎最大传输单元(MTU):在一条路径上所有链接可接受的最大消息长度(单位为字节)。
IGRP使用什么类型的路由度量值?这个度量值由什么组成?
IGRP使用多个路由度量值。它包括如下部分:
◎带宽:源到目的之间最小的带宽值。
◎时延:路径中积累的接口延时。
◎ 可靠性:源到目的之间最差的可能可靠性,基于链路保持的状态。
◎负载:源到目的之间的链路在最坏情况下的负载,用比特每秒表示。
◎MTU:路径中最小的M T U 值。


(字节数 : 7154)
评论:0 | 推荐:0 | 引用:0 | 点击:0 | 收藏
Linux 常见问题的详细解答 [转贴 2006-08-10 15:56:38]

Linux 170个常见问题的详细解答





一、 如何建立多用户



  提醒大家一句,别一直使用root用户,因为root用户在系统中有着至高无上的权力,一不小心就可能破坏系统。比如我们想删除/temp目录下的文件却将命令不小心输成“rm / temp(在‘/’后多了一个空格)”,那么就极可能删去根目录下的所有文件。再者,“Linux是一个真正意义上的多任务、多用户系统”,不体会一下Linux的特色岂不可惜。为了方便自己和别人使用,就在Linux系统下多建几个用户吧。



  输入“adduser newuser”,回车,屏幕对命令没有一点儿反应,错啦?不,实际上,系统已接受了新用户。你应该接着输入命令 “passwd newuser”,屏幕将提示输入口令,再次输入确认, 一个新的用户就增加成功,真简单。马上登录试一试吧。



  Linux提供了六个虚拟控制台,用ALT+F1~F6切换(在X-window下用CRTL+ALT+F1~F6切换),每个控制台均可以用不同的用户登录,运行不同的程序。赶快为家人和朋友建个用户吧。





二、在Linux下如何使用软盘、光盘以及DOS等非Linux分区



  这是Linux初学者问得最多的问题。由于大家已习惯了微软的访问方法,总想用类似的思路来找到软盘和光盘。但在Linux下,却沿袭了UNIX将设备当作文件来处理的方法。所以要访问软盘和光盘,就必须先将它们装载到Linux系统的/mnt目录中来。



  装载的命令是mount,格式如下:mount -t 文件系统类型 设备名 装载目录



  文件系统类型就是分区格式,Linux支持的文件系统类型有许多:



  msdos DOS分区文件系统类型

  vfat 支持长文件名的DOS分区文件(可以理解为Windows文件)系统类型

  iso9660 光盘的文件系统类型

  ext2 Linux的文件系统类型

  ......



  设备名,指的是你要装载的设备的名称。软盘一般为/dev/fd0 fd1;光盘则根据你的光驱的位置来决定,通常光驱装在第二硬盘的主盘位置就是/dev/hdc;如果访问的是DOS的分区,则列出其设备名,如/dev/hda1是指第一硬盘的第一个分区。 装载目录,就是你指定设备的载入点。



  1. 装载软盘



  首先用mkdir /mnt/floppy 在/mnt目录下建立一个空的floppy目录,然后输入mount -t msdos /dev/fd0 /mnt/floppy 将DOS文件格式的一张软盘装载进来,以后就可以在/mnt/floppy目录下找到这张软盘的所有内容。



  2. 装载Windows所在的C盘



  mkdir /mnt/c 在/mnt目录下建立一个空的c目录;

  mount -t vfat /dev/hda1 /mnt/c 将Windows的C盘按长文件名格式装载到/mnt/c目录下,以后在该目录下就能读写C盘根目录中的内容。



  3.装载光盘



  mkdir /mnt/cdrom 在/mnt目录下建立一个空的cdrom目录;

  mount -t iso9660 /dev/hdc /mnt/cdrom 将光盘载入到文件系统中来,将在/mnt/cdrom目录下找到光盘内容。有的Linux版本允许用mount /dev/cdrom或mount /mnt/cdrom命令装载光盘。

  要注意的是,用mount命令装入的是软盘、光盘,而不是软驱、光驱。有些初学者容易犯一个毛病,以为用上面命令后,软驱就成了/mnt/floppy,光驱就成了/mnt/cdrom,其实不然,当你要换一张光盘或软盘时,一定要先卸载,再对新盘重新装载。



  4.卸载



  卸载的命令格式是:umonut 目录名,例如要卸载软盘,可输入命令umonut /mnt/floppy。要注意的是,在卸载光盘之前,直接按光驱面板上的弹出键是不会起作用的。





三、如何安装Linux的应用软件



  对于普通用户,安装或升级软件可以用Red Hat公司的软件包安装与管理工具RPM。使用后你就可以轻松安装软件、升级软件和卸载软件并查询软件信息。



  如果你安装的是Red Hat Linux,那么你就可以使用RPM了,如果不是,你可以先安装RPM。方法如下:

  1. 下载RPM软件包: ftp://ftp.redhat.com/pub/code/rpm/rpm-2.3.11.tar.gz

  2. 在Linux命令行下依次运行:

  cd/

  tar xzvf rmp-2.3.11.tar.gz

  cd rpm-2.3.11

  ./configure

  make

  make install

  mkdir /var/local /var/local/lib /var/local/lib/rpm /var/lib/rpm



  这样,你就完成了RPM的安装,以后便可以在网上或光盘上寻找软件的RPM安装版。然后使用RPM进行安装,RPM的使用方法很简单:

  1. 用RPM安装软件包:rpm -ivh 软件文件名

  例如 rpm -ivh fvwm95-2.0.43a.chinese-1.i386.rpm 屏幕上就会输出该软件包的名称和安装的进度条:

  fvwm95 ###############

  当进度条走到底,中文fvwm95(一种X-Window的界面)就安装完了,再运行X-Window,啊,全中文的fvwm95就在我的眼前。



  2. 用RPM反安装软件包:rpm -e 软件名

  例如:rpm -e fvwm95



  3. 用RPM升级软件包:rpm -Uvh 软件升级版文件名

  例如:rpm -Uvh fvwm95-2.1.0a.chinese-1.i386.rpm,RPM自动反安装原来的老版本,将升级版的软件安装入系统。怎么样,不难吧!





四 、如何在Windows系统中查看Linux的文件



  通过使用装载命令mount,我们能够在Linux中轻松地查阅、使用Windows的文件。俗话说有来有往嘛,我们当然也希望在Windows中能看到Linux的文件。可是Windows可不像Linux那么友好,并未备有与Linux沟通的工具,怎么办呢?别急,网络上有个小工具叫Linuxdos,不到500K,运行在Windows下,专用于查看Linux的文件。运行之后,你可以选择驱动器,然后它就像资源管理器一样列出Linux的文件系统。





五、如何汉化Linux



  Linux的母语是英文,所以满屏幕都是“英国老鼠”,用起来特不方便,如果想输入中文更没辙。不过现在的中国软件人员可谓人才辈出,已经为Linux的汉化提供了全面的解决方案。



  1.中文模拟终端chdrv

  首先,总得让Linux能显示中文吧!chdrv是在命令行下的中文模拟终端,也就是说,只要你装上了它,你就可以在Linux的命令行状态下显示和输入汉字了。chdrv启动后在tty7(用Ctrl+Alt+F7)建立一个虚拟终端,用户在tty7上登录后就可以使用它提供的中文支持。tty1到tty6不会受到它的影响。

  如果你能找到RPM格式的安装包,就可以轻松地使用RPM安装程序安装它。否则你可以到ftp://ftp.ihep.ac.cn/pub/chinese/system分别取得 chdrv 的已编译的chdrvbin-0.23.gb.tar.gz和字体文件chdrvfont.tar.gz。 然后用root登录,依次执行以下命令:

  tar xvzf chdrvbin-0.23.gb.tar.gz 将编译好的chdrv解压到chdrv-0.23.gb目录

  mv chdrvfont.tar.gz chdrv-0.23.gb/ 将字体文件移到chdrv-0.23.gb目录

  cd chdrv-0.23.gb 进入此目录

  ./installbin 运行安装文件



  2.中文输入服务器xcin

  如果你常在X-Window中使用Linux,一定试试用XCIN来解决中文输入的问题。XCIN 是Xwindow Chinese INput的缩写,是一个在X-Window模式下运行的中文输入系统,安装它后,X-Window的所有终端都将提供中文服务。

  你可从ftp://ftp.ihep.ac.cn/pub/chinese/system/xcingb-2.2.tar.gz取得GB码版的XCIN文件包。然后用root登录,依次执行以下命令:

  tar xzvf xcingb-2.2.tar.gz  解压缩

  cd xcingb-2.2         进入目录

  ./configure          修改安装选项

  make             编译

  make install          安装

  同样,如果你能找到该软件的RPM安装版,可以用RPM来安装。

  到此为止,我们已经介绍了在命令行下和X-Window中使用中文的方法。可是在文本编辑软件中依然只能显示中文,却无法输入汉字。要解决这个问题必须自己动手修改两个地方:



  1) 为不同shell设置

  若使用Bash Shell:在 /etc/profile 增加下面的内容:

  stty cs8 -istrip

  stty pass8

  export LANG=C

  export LC_CTYPE=iso-8859-1

  若使用Tcsh Shell:在 /etc/csh.login 或 /etc/csh.cshrc 增加设定如下:

  stty cs8 -istrip

  stty pass8

  setenv LANG C

  setenv LC_CTYPE iso-8859-1



  2) 在自己主目录下的.inputrc文件中增加下面的内容:

  set convert-meta off

  set output-meta on



  3.中文的窗口管理器 C-fvwm95

  fvwm95就像是Linux英文Win95,中国的Linux用户一直期望有一天能在中文的窗口下使用Linux。这一愿望现在终于成为现实。中国科学院高能物理研究所计算中心的于明俭先生将fvwm95作了汉化,我们终于可以将fvwm95上那些讨厌的英文换成汉字了!

  大家可以到ftp.ihep.ac.cn/pub/chinese/packages/中下载汉化了的fvwm95的源代码。它所用的字库也可以在ftp.ihep.ac.cn/pub/chinese/fonts/pcf/中取得。下载文件中附带了安装说明。由于它的配置还是较麻烦的,所以最好去找找相应的RPM包。



  4.下载BluePoint Linux Star Preview(蓝点预览版)

   蓝点预览版基于Red Hat,内含:中文内核(kernel);控制台中文显示/输入;中文Xserver(CXWIN 0.6),X的中文显示/输入;汉化Message和相应库文件,经过中文化和本地化处理的NLS message和库文件。



   a. 中文内核

   1. 性能卓越, 内核实现中文支持,占用资源极少,速度极快.

   2. 多语言支持, 同屏显示多内码(GB/BIG5).

   3. 兼容性极好,内核兼容上层应用程序,最彻底的解决办法.

   4. 支持高分辨率, 完全取决与用户自己的硬件限制.

   5. 支持各种字体,支持简繁字体共14种.

   6. 热键切换语言环境(GB/BIG5/EN).



   b. 中文Xserver

   1. 兼容性好,至少95%的纯西文应用软件可以支持中文处理.

   2. 内置输入和显示支持,使用非常方便,无须另外安装输入模块.

   3. TTF字库支持.

   4. 支持GB/BIG5内码.



   c. 汉化Message和相应库文件

   1. 提示中文化,开机、关机和常用软件的消息提示全部中文显示。



   如果需要安装中文xwindow和输入法,则需要下载star-cxwin.tar.gz. 如果需要安装中文控制台及语言环境, 则需要下载star-zhcon.tar.gz 如果需要在控制台上使用24点阵汉字库, 请下载star-font24.tar.gz 注意: 别忘了下载Install安装脚本! 在安装前请仔细阅读README和 常见问题问答!



   安装方法



   1) 创建一个目录, 将所有下载来的文件放在里面.

   2) 以root身份执行安装脚本: # bash Install

   3) 安装脚本会先检查系统的配置,还会自动搜索TTF字库, 接下来就是对旧配置文件 进行备份, 最后开始安装.

   4) 完成安装, 如果安装了中文控制台环境, 则需要重新启动.





六、如何设置声卡



  不用我说,这可是十分要紧的工作!不过如果你安装了RED HAT Linux,则这项工作就简单了!



  用root登录系统,运行/usr/sbin/sndconfig。出现选择声卡类型的画面。一般声卡可以选取Sound Blaster 。



  选完声卡后再设置有关的资源。用TAB键结合方向键作出选择后,按OK,如果听到Linus(Linux的创始人)说话的声音,就说明声卡设置成功了。真像老式DOS游戏的声卡设置……





七、如何设置显卡



   要设置好你的显卡,首先,要知道你的显卡的型号,是什么公司出的,什么样的类型的显卡,显存有几MB,还要知道显卡的显示芯片是什么类型的,是ALG2302的,还是SIS6326的,还是Savage3D的,等;然后,在超级用户的权限下,你可以运行界面比较友好的Xconfigurator工具,这里的X记住一定要大写的,一步一步跟着指导来选择,应该不是很难的,当选择你的显卡的芯片的时钟时,不用选择它,让测试程序自动检查;最后,还要知道你的显示器的类型,是VGA的,还是SVGA的,以及水平和垂直分辩率。你还可以运行界面不友好的xfree86,如果你比较精通Linux的话,用xfree86命令配置的X Windows效果比Xconfigurator好很多的。界面最友好的,当属XF86Setup工具,若你有安装这个工具的话,不妨就用这个工具来设置你的显卡吧。



八、如何播放CD音乐



  声卡设置好了,可以在光驱中插入一张CD,用装载命令mount将光盘载入,然后输入cdp命令就可以播放了。在屏幕上可以看到CD的音轨清单,小键盘的9是播放,7是停止,6进到下一音轨,4退到前一音轨,0退出播放程序,2弹出CD,8是暂停。



  如果是在X-Window中,可以用xplaycd播放CD,这是一个有图形界面的播放器,按钮及功能一目了然,这里就不多说了。


_________________
我喜欢你,很久了。等你,也很久了。现在,我要离开,比很久很久还要久
我问,怎样才能让一个人知道你在想他?
你说,心里不停地默念他的名字,他就能感受到。
可我一直在心底重复着你的名字,你却一直没有音信。
我问,当你在等一个人的短信时,你是会调成静音模式还是户外模式?
你说,静音。这样,发现短信来到的时候就会充满惊喜。
于是我调了静音,于是我马上就后悔。
我一直在看手机,每一次屏幕亮起的瞬间,我的一颗心就也跟着亮了起来,这感觉,那样美好,那样心碎。
也许,你并不知道我在等你。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: vsftpd之详细的ftp使用指南
帖子发表于 : 2010-05-17 15:40 

注册: 2009-05-09 22:05
帖子: 127
送出感谢: 0 次
接收感谢: 0 次
anon_umask 匿名用户上传文件的权限


页首
 用户资料  
 
3 楼 
 文章标题 : Re: vsftpd之详细的ftp使用指南
帖子发表于 : 2010-05-30 19:21 

注册: 2009-11-02 20:05
帖子: 5
地址: 福建福州
送出感谢: 0 次
接收感谢: 0 次
恩 ,好帖子


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译