<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[学习笔记 - Linux 笔记]]></title>
<link>http://blog.netcrazy.cn/</link>
<description><![CDATA[平静一点，低调一点]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[21253@163.com(FISH)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>学习笔记</title>
	<url>http://blog.netcrazy.cn/images/logos.gif</url>
	<link>http://blog.netcrazy.cn/</link>
	<description>学习笔记</description>
</image>

			<item>
			<link>http://blog.netcrazy.cn/article/84.htm</link>
			<title><![CDATA[Linux系统下搭建FTP]]></title>
			<author>21253@163.com(Fish)</author>
			<category><![CDATA[Linux 笔记]]></category>
			<pubDate>Sun,13 Jun 2010 10:50:37 +0800</pubDate>
			<guid>http://blog.netcrazy.cn/default.asp?id=84</guid>
		<description><![CDATA[学习Linux系统下搭建FTP<br/>首先修改配置文件使主机获得永久ip地址<br/># vi /etc/sysconfig/network-scripts/ifcfg-eth0<br/>DEVICE=eth0<br/>BOOTPROTO=static<br/>IPADDR=172.16.16.111<br/>NETMASK=255.255.0.0<br/>GATEWAY=172.16.16.1<br/>ONBOOT=yes<br/>TYPE=Ethernet<br/><br/>重启配置文件使之生效<br/># /etc/init.d/network restart<br/>Shutting down interface eth0: [ OK ]<br/>Shutting down loopback interface: [ OK ]<br/>Setting network parameters: [ OK ]<br/>Bringing up loopback interface: [ OK ]<br/>Bringing up interface eth0: [ OK ]<br/> <br/>需要关掉iptables系统防火墙，使用命令：<br/># service iptables stop<br/><br/>把安全级别调低<br/># vi /etc/selinux/config<br/>把其中的：SELINUXTYPE=targeted改为SELINUXTYPE=disabled<br/> <br/>在系统中vsftpd并没被默认安装，需要使用rpm命令安装一下<br/>它在RHEL4的第1张光盘中，包文件的名称是vsftpd-2.0.1-5.i386.rpm<br/>首先需要挂载光盘<br/># mount /dev/cdrom /media/cdrom<br/># cd /media/cdrom/RedHat/RPMS<br/># ls -l vsftpd*<br/>-rw-r--r-- 25 root root 122195 Jan 6 2005 vsftpd-2.0.1-5.i386.rpm<br/> <br/>挂载上去后，把它安装上去<br/># rpm -ivh vsftpd-2.0.1-5.i386.rpm<br/>warning: vsftpd-2.0.1-5.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e<br/>Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;########################################### [100%]<br/> <br/> <br/>我们看一下vsftpd.conf的配置文件<br/># grep -v &#39;#&#39; /etc/vsftpd/vsftpd.conf(去除注释行后的配置文件)<br/><br/>anonymous_enable=YES&nbsp;&nbsp;&nbsp;&nbsp; //anonymous_enable设置为yes时，ftp服务器允许匿名登录，即用户可使用用户名ftp或anonymous进行ftp登录，登录口令为用户E-mail地址或为空。<br/>local_enable=YES&nbsp;&nbsp;&nbsp;&nbsp; //local_enable设置为yes时允许本地用户登录，本地用户指lunux系统中的用户账号。<br/>write_enable=YES&nbsp;&nbsp;&nbsp;&nbsp; //write_enable设置为yes时，ftp服务器开放对本地用户的写权限<br/>local_umask=022&nbsp;&nbsp;&nbsp;&nbsp; //local_umask设置项设置本地用户的文件生成掩码，配置文件中的设置为022。<br/>dirmessage_enable=YES&nbsp;&nbsp;&nbsp;&nbsp;//dirmessage_enable设置为yes时，当切换到ftp服务器中的某个目录时，将显示该目录下的&#34;.message&#34;隐含文件的内容.&nbsp;&nbsp;&nbsp;&nbsp;<br/>xferlog_enable=YES&nbsp;&nbsp;&nbsp;&nbsp; //xferlog_enable设置为yes时，ftp服务器将启用上传和下载日志。<br/>connect_from_port_20=YES&nbsp;&nbsp;&nbsp;&nbsp; //connect_from_port_20设置为yes时，ftp服务器将启用ftp数据端口的连接请求。<br/>xferlog_std_format=YES&nbsp;&nbsp;&nbsp;&nbsp; //xferlog_std_format设置为yes时，ftp服务器将使用标准的ftpd xferlog日志格式。<br/>pam_service_name=vsftpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//pam_service_name设置PAM认证服务的配置文件名称，该文件保存在&#34;/etc/pam.d/&#34;目录下。<br/>userlist_enable=YES&nbsp;&nbsp;&nbsp;&nbsp; //userlist_enable设置为yes时，ftp服务器将检查userlist_file设置文件中指定的用户是否可以访问vsftpd服务器；userlist_file配置项的默认值是&#34;/etc/vsftpd.usr_list&#34;文件。<br/>listen=YES&nbsp;&nbsp;&nbsp;&nbsp; //listen设置为yes时，ftp服务器将处于独立启动模式。<br/>tcp_wrappers=YES&nbsp;&nbsp;&nbsp;&nbsp; //tcp_wrappers设置为yes时，ftp服务器将使用tcp_wrappes作为主机访问控制方式。tcp_wrappers可以实现linux系统中网络服务的基于主机地址的访问控制，在&#34;/etc&#34;目录中的hosts.allow和host.deny两个文件用于设置tcp_wrappers的访问控制，hosts.allow文件设置允许访问记录，host.deny文件设置拒绝访问记录。<br/><br/>启动vsftpd服务器<br/># service vsftpd start<br/>Starting vsftpd for vsftpd: [ OK ]<br/><br/>关闭可以使用：<br/>service vsftpd stop<br/>Shutting down vsftpd: [ OK ]<br/><br/>查看服务器的运行状态使用：<br/># service vsftpd status<br/>vsftpd is stopped<br/> <br/>添加两个本地用户，使用本地用户登录ftp<br/># useradd aa<br/># passwd aa<br/># useradd bb<br/># passwd bb<br/> <br/>把访问FTP的用户拉进FTP组中<br/>#vi /etc/group<br/>---------<br/>ftp:x:50:aa,bb<br/>---------<br/><br/>改变目录的属主和属组<br/># chown aa.aa /home/aa<br/># chown bb.bb /home/bb<br/># ls -l /home<br/>total 24<br/>drwx------ 4 aa&nbsp;&nbsp; aa&nbsp;&nbsp; 4096 May 26 12:15 aa<br/>drwx------ 4 bb&nbsp;&nbsp; bb&nbsp;&nbsp; 4096 May 26 12:16 bb<br/><br/>设置宿主目录权限<br/># chmod 770 /home/aa<br/># chmod 770 /home/bb<br/># ls -l /home<br/>total 24<br/>drwxrwx--- 4 aa&nbsp;&nbsp; aa&nbsp;&nbsp; 4096 May 26 12:15 aa<br/>drwxrwx--- 4 bb&nbsp;&nbsp; bb&nbsp;&nbsp; 4096 May 26 12:16 bb<br/> <br/>这时可以登录ftp<br/>1、使用匿名用户登录<br/># ftp 172.16.16.121<br/>Connected to 172.16.16.121.<br/>220 (vsFTPd2.0.1)<br/>530 Please login with USER and PASS.<br/>530 Please login with USER and PASS.<br/>KERBEROS_V4 rejected as an authentication type<br/>Name (172.16.16.121:root): anonymous<br/>331 Please specify the password.<br/>Password:<br/>230 Login successful.<br/>Remote system type is UNIX.<br/>Using binary mode to transfer files.<br/>ftp&gt; ls<br/>227 Entering Passive Mode (172,16,16,121,208,47)<br/>150 Here comes the directory listing.<br/>drwxr-xr-x&nbsp;&nbsp;&nbsp;&nbsp;2 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4096 Oct 04 2004 pub<br/>226 Directory send OK.<br/><br/>其中匿名用户登录使用ftp或anonymous作为ftp登录的用户名，在vsftpd的默认设置时输入任何字符串或直接回车都可以登录，匿名用户登录后将以ftp服务器系统中的&#34;/var/ftp&#34;目录作为匿名用户的ftp根目录。<br/> <br/>2、使用本地用户登录<br/># ftp 172.16.16.121<br/>Connected to 172.16.16.121.<br/>220 (vsFTPd2.0.1)<br/>530 Please login with USER and PASS.<br/>530 Please login with USER and PASS.<br/>KERBEROS_V4 rejected as an authentication type<br/>Name (172.16.16.121:root): aa<br/>331 Please specify the password.<br/>Password:<br/>230 Login successful.<br/>Remote system type is UNIX.<br/>Using binary mode to transfer files.<br/>ftp&gt; ls<br/>227 Entering Passive Mode (172,16,16,121,223,86)<br/>150 Here comes the directory listing.<br/>-rw-r--r--&nbsp;&nbsp;&nbsp;&nbsp;1 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19 May 26 03:48 11.txt<br/>226 Directory send OK.<br/><br/>使用put命令可以将ftp客户机中的文件上传到ftp服务器中。<br/>ftp&gt; put 22.txt<br/>local: 22.txt remote: 22.txt<br/>227 Entering Passive Mode (172,16,16,121,86,19)<br/>150 Ok to send data.<br/>226 File receive OK.<br/>30 bytes sent in 0.00086 seconds (34 Kbytes/s)<br/><br/>使用get命令可以将ftp服务器中的文件下载到ftp客户机中。<br/>ftp&gt; get 22.txt<br/>local: 22.txt remote: 22.txt<br/>227 Entering Passive Mode (172,16,16,121,143,82)<br/>150 Opening BINARY mode data connection for 22.txt (30 bytes).<br/>226 File send OK.<br/>30 bytes received in 0.0005 seconds (58 Kbytes/s)<br/>不过使用本地ftp用户账号存在一定的安全性，首先它是系统账号，一旦ftp服务器出现安全漏洞会对整个ftp服务器所在的linux主机造成威胁；另外就是本地用户账号可以离开用户宿主目录，转换到系统中的其他目录中，这对系统的安全有着一定的威胁。<br/>可是设置ftp本地用户禁锢在宿主目录中，这样可以防止它切换到其他的目录中。<br/>在vsftpd服务器的配置文件vsftpd.conf中添加配置项chroot_local_user设置为YES，vsftpd服务器将会把本地用户禁锢在用户宿主目录中。<br/>chroot_local_user=YES<br/>配置完后记得要重启服务，这样ftp本地用户就只可以访问自己的目录了。<br/> <br/>配置ftp服务器的虚拟目录<br/>在vsftpd服务器中支持匿名用户、本地用户和虚拟用户3类用户账号<br/>在前面认识了两种，其中匿名用户是名为anonymous或ftp的ftp用户，匿名ftp用户登录后将ftp服务器中的&#34;/var/ftp&#34;作为ftp根目录。匿名用户通常用于提供公共文件的下载。<br/>本地用户账号时ftp服务器中的系统用户账号，使用ftp本地用户账号登录ftp服务器后，登录目录为本地用户的宿主目录。本地ftp用户账号通常和web服务器一起提供虚拟主机服务，作为网页虚拟主机更新网页的途径。<br/>虚拟用户账号时为了保证ftp服务器的安全性，由vsftpd服务器提供的非系统用户账号。虚拟用户ftp登录后将把指定的目录作为ftp根目录。虚拟用户与本地用户具有类似的功能。<br/>虚拟用户账号的设置过程<br/> <br/>1、建立虚拟用户口令库文件.<br/>建立虚拟用户的口令库,文件中奇数行设置虚拟用户的用户名,偶数行设置用户的口令.<br/>使用文本编辑器建立名为logins.txt的用户口令库文件<br/># vi logins.txt<br/>ee<br/>123<br/>rr<br/>456<br/> <br/>2、生成vsftpd的认证文件.<br/>首先我们需要安装一下db4-utils-4.2.52-7.1.i386.rpm,在第3张光盘中.<br/># cd /media/cdrom/RedHat/RPMS/<br/># rpm -ivh db4-utils-4.2.52-7.1.i386.rpm<br/>warning: db4-utils-4.2.52-7.1.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e<br/>Preparing...&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;########################################### [100%]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;package db4-utils-4.2.52-7.1 is already installed<br/><br/>然后使用db_load命令生成认证文件,&#34;-f&#34;命令选项设置的值时虚拟用户的口令库文件,即:logins.txt.命令的参数设置为需要生成的认证文件名vsftpd_login.db,该文件放置在目录&#34;/etc/vsftpd&#34;中.&nbsp;&nbsp;<br/># db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db<br/><br/>设置vsftpd_login.db文件的权限只对root用户可读可写.即600.<br/># chmod 600 /etc/vsftpd/vsftpd_login.db<br/>[root@benet01 ~]# ls -l /etc/vsftpd/vsftpd_login.db<br/>-rw------- 1 root root 12288 May 26 12:54 /etc/vsftpd/vsftpd_login.db<br/> <br/>3、建立虚拟用户所需的PAM配置文件.<br/>在&#34;/etc/pam.d&#34;目录中建立vsftpd虚拟用户身份认证所需的PAM配置文件,名称为vsftpd.vu.<br/># vi /etc/pam.d/vsftpd.vu<br/>auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login<br/>account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login<br/># cat /etc/pam.d/vsftpd.vu<br/>auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login<br/>account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login<br/> <br/>4、建立虚拟用户及所要访问的目录并设置相应权限.<br/>建立vsftpd虚拟用户所需的系统用户账号,账号为zhen,指定用户的宿主目是&#34;/home/ftpsite/&#34;,设置宿主目录的权限是700(vsftpd服务器中的所有虚拟用户账号登录后都将在&#34;/home/ftpsite&#34;目录中)<br/># useradd -d /home/ftpsite zhen<br/># chmod 700 /home/ftpsite<br/><br/>5、设置vsftpd.conf配置文件<br/>在对vsftpd.conf配置文件修改前,先将它原来的文件备份,以便出现配置错误时可进行恢复.<br/># cd /etc/vsftpd<br/># cp vsftpd.conf vsftpd.conf.bak<br/><br/>在vsftpd.conf配置文件添加虚拟用户的配置项:<br/>guest_enable=yes<br/>guest_username=zhen<br/>pam_service_name=vsftpd.vu<br/> <br/>所有配置完成后,重新启动vsftpd服务程序<br/># service vsftpd restart<br/>Shutting down vsftpd: [ OK ]<br/>Starting vsftpd for vsftpd: [ OK ]<br/> <br/>可以对不同的用户设置不同的权限.<br/>vsftpd服务器中的虚拟用户可以灵活的针对不同的用户账号设置不同的用户权限:<br/>1、设置主配置文件<br/>在vsftpd配置文件中添加user_config_dir配置项,并设置用户配置文件的保存路径<br/>user_config_dir=/etc/vsftpd_user_conf(设置在&#34;/etc/vsftpd_user_conf&#34;目录中保存虚拟用户的配置文件.)<br/><br/>2、建立用户配置文件目录<br/># mkdir /etc/vsftpd_user_conf<br/><br/>3、为虚拟目录建立单独的配置文件<br/>为用户建立独立的配置文件,配置文件名称和用户名相同,并给他相应的权限.<br/># vi /etc/vsftpd_user_conf/rr<br/>anon_world_readable_only=no //表示用户可以浏览ftp目录和下载文件.<br/># ftp 172.16.16.121<br/>Connected to 172.16.16.121.<br/>220 (vsFTPd2.0.1)<br/>530 Please login with USER and PASS.<br/>530 Please login with USER and PASS.<br/>KERBEROS_V4 rejected as an authentication type<br/>Name (172.16.16.121:root): rr<br/>331 Please specify the password.<br/>Password:<br/>230 Login successful.<br/>Remote system type is UNIX.<br/>Using binary mode to transfer files.<br/>ftp&gt; ls<br/>227 Entering Passive Mode (172,16,16,121,250,156)<br/>150 Here comes the directory listing.<br/>-rw-r--r--&nbsp;&nbsp;&nbsp;&nbsp;1 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29 May 26 05:27 44.txt<br/>-rw-r--r--&nbsp;&nbsp;&nbsp;&nbsp;1 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 May 26 05:30 55.txt<br/>-rw-r--r--&nbsp;&nbsp;&nbsp;&nbsp;1 503&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;503&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 May 26 05:24 afile<br/>-rw-r--r--&nbsp;&nbsp;&nbsp;&nbsp;1 503&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;503&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 May 26 06:10 file01]]></description>
		</item>
		
			<item>
			<link>http://blog.netcrazy.cn/article/73.htm</link>
			<title><![CDATA[学习Linux忠告]]></title>
			<author>21253@163.com(Fish)</author>
			<category><![CDATA[Linux 笔记]]></category>
			<pubDate>Fri,21 May 2010 20:57:26 +0800</pubDate>
			<guid>http://blog.netcrazy.cn/default.asp?id=73</guid>
		<description><![CDATA[1、不要“玩 Linux”<br/><br/>　　很多人用 Linux 的时候会感觉很迷茫，该用哪个发行呢？是不是我少装了什么？怎么升级这么快啊！怎么这么不稳定！每当遇到新的软件他就想试用，每当新的版本出现，他就更新，然后用鼠标在新的菜单里选择从来没见过的程序来用用。<br/><br/>　　其实你是为了Linux而使用Linux，而没有找到正确的理由来利用 Linux。你首先要明确用电脑的目的，你用它是为了解决你的实际问题，而不是为了学习安装操作系统，不是为了测试哪个版本好用，不是为了“赶上潮流”，更不是因为你硬盘太大了，你想多占点空间。<br/><br/>　　如果你启动了电脑之后不知道应该干什么，那么最好先不要用电脑，因为你可能有更重要的事情需要做。<br/><br/>　　2、不用挑剔发行版本<br/><br/>　　很多人刚开始用 Linux 的时候，总是在怀疑别的发行版本是否比自己正在用的这个好，总是怀疑自己以后时候会失去支持，不得不换用别的发行。所以很多人今天是 Redhat，明天又换成了 debian, 一会儿又是 gentoo, …… 甚至有的人在一台机器上装了两个版本的 Linux，然后比较哪一个好。<br/><br/>　　其实你完全没有必要这样做，任何发行，只要你熟悉了，你在上面的工作方式几乎是不会受到任何影响的。你常常听说 Debian 的更新比 Redhat 快，包比 Redhat 多，但是你可以比 Debian 更新还要快，直接到你需要的程序的主站点下载源码来编译就是了。<br/><br/>　　Debian, TurboLinux, SuSE, Redhat, Gentoo, ... 任何一个版本都是不错的。<br/><br/>　　3、不要当“传教士”<br/><br/>　　很多人在讨论区不断的引起 &#34;Linux vs. Windows&#34; 之类的讨论，甚至争的面红耳赤，这是没有必要的。因为各人的需要不同，生活的环境不同，你不可能得到一个定论。我们需要尊重别人的选择，这是你在进行任何 对工具的讨论前需要提醒自己的事情。面对一些容易引起争论的东西：Word 和 TeX；Emacs 和 VIM；MAXIMA，Mathematica 和 Maple；Gnome，FVWM 和 KDE；Mutt 和 Pine …… 一定要冷静。<br/><br/>　　你需要关心的不是你的工具是什么，而是你用它做了什么。精通 Linux 并不说明任何问题，因为它只是一个工具而已。如果你用 Windows 能很好的完成你的任务，那你就没有必要费时间去熟悉 Linux。直到有一天你发现一项任务只有 Linux 才能完成的时候再换也不迟，因为你身边的 Linux 的爱好者一定会很乐意的帮助你。<br/><br/>　　并不是喜欢一种东西就必须反对其它的。世界需要多样性，人们都需要FUN。用自己的兴趣去压制别人的，就会毁掉所有的兴趣。个人喜欢什么就用什么，完全没必要为这个争论。]]></description>
		</item>
		
</channel>
</rss>
