<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux for Fun 中文站 &#187; Fedora</title>
	<atom:link href="http://zh.linuxforfun.net/category/fedora/feed/" rel="self" type="application/rss+xml" />
	<link>http://zh.linuxforfun.net</link>
	<description>Just for Fun</description>
	<lastBuildDate>Mon, 22 Feb 2010 06:56:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Firefox flash 插件：没有声音</title>
		<link>http://zh.linuxforfun.net/2008/08/04/firefox-flash-no-sound/</link>
		<comments>http://zh.linuxforfun.net/2008/08/04/firefox-flash-no-sound/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 08:59:52 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[多媒体]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=20</guid>
		<description><![CDATA[如果你在 Firefox 浏览器里欣赏 Flash 视频（如FLV等）时，听不到声音，排除系统硬件设置问题后，最有可能的原因是：你的系统上没安装 libflashsupport 这个软件包。你只需要安装这个软件包后，重新启动 Firefox，就可以解决这个问题了。 对于 Fedora, 可以执行下面的命令来安装 libflashsupport 这个软件包： # yum install libflashsupport]]></description>
			<content:encoded><![CDATA[<p>如果你在 Firefox 浏览器里欣赏 Flash 视频（如FLV等）时，听不到声音，排除系统硬件设置问题后，最有可能的原因是：你的系统上没安装 libflashsupport 这个软件包。你只需要安装这个软件包后，重新启动 Firefox，就可以解决这个问题了。</p>
<p>对于 Fedora, 可以执行下面的命令来安装 libflashsupport 这个软件包：</p>
<blockquote><p># yum install libflashsupport</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/08/04/firefox-flash-no-sound/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JDK/JRE 中文字体设置</title>
		<link>http://zh.linuxforfun.net/2008/04/30/jdk-chinese-fonts/</link>
		<comments>http://zh.linuxforfun.net/2008/04/30/jdk-chinese-fonts/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 14:21:12 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[中文字体]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=19</guid>
		<description><![CDATA[从 http://java.sun.com/ 上下载 Java Development Kit (JDK) 或 Java Runtime Environment (JRE) 的安装包，在 Linux 系统上安装后，运行图形界面程序时，中文字符通常显示为方框。这是因为安装包里对中文系统的缺省配置跟系统的中文字体状况不匹配。 按 Sun 的文档描述，一个操作系统的字体配置文件，根据下列信息来确定： JavaHome &#8211; JRE 的目录 OS &#8211; 表示操作系统的种类的字符串： 对 Windows，为 “98&#8243;, “2000&#8243;, “Me”, “XP”, “2003&#8243;. 对 Solaris，为空. 对 Linux，为 “Sun”, “RedHat”, “Turbo”, “SuSE”. Version &#8211; 表示操作系统版本的字符串 JRE 使用按下列顺序第一个找到的文件作为系统的字体配置文件： JavaHome/lib/fontconfig.OS.Version.properties JavaHome/lib/fontconfig.OS.Version.bfc JavaHome/lib/fontconfig.OS.properties JavaHome/lib/fontconfig.OS.bfc JavaHome/lib/fontconfig.Version.properties JavaHome/lib/fontconfig.Version.bfc JavaHome/lib/fontconfig.properties JavaHome/lib/fontconfig.bfc 上面的文件以 .properties [...]]]></description>
			<content:encoded><![CDATA[<p>从 <a href="http://java.sun.com/" target="_blank">http://java.sun.com/</a> 上下载 Java Development Kit (JDK) 或 Java Runtime Environment (JRE) 的安装包，在 Linux 系统上安装后，运行图形界面程序时，中文字符通常显示为方框。这是因为安装包里对中文系统的缺省配置跟系统的中文字体状况不匹配。</p>
<p>按 Sun 的<a href="http://java.sun.com/j2se/1.5.0/docs/guide/intl/fontconfig.html" target="_blank">文档</a>描述，一个操作系统的字体配置文件，根据下列信息来确定：</p>
<ul>
<li> JavaHome &#8211; JRE 的目录</li>
<li>OS &#8211; 表示操作系统的种类的字符串：
<ul>
<li>对 Windows，为 “98&#8243;, “2000&#8243;, “Me”, “XP”, “2003&#8243;.</li>
<li>对 Solaris，为空.</li>
<li>对 Linux，为 “Sun”, “RedHat”, “Turbo”, “SuSE”.</li>
</ul>
</li>
<li>Version &#8211; 表示操作系统版本的字符串</li>
</ul>
<p><span id="more-19"></span>JRE 使用按下列顺序第一个找到的文件作为系统的字体配置文件：</p>
<blockquote><p>JavaHome/lib/fontconfig.OS.Version.properties<br />
JavaHome/lib/fontconfig.OS.Version.bfc<br />
JavaHome/lib/fontconfig.OS.properties<br />
JavaHome/lib/fontconfig.OS.bfc<br />
JavaHome/lib/fontconfig.Version.properties<br />
JavaHome/lib/fontconfig.Version.bfc<br />
JavaHome/lib/fontconfig.properties<br />
JavaHome/lib/fontconfig.bfc</p></blockquote>
<p>上面的文件以 .properties 为扩展名的为文本文件，以 .bfc 结尾的是二进制文件。</p>
<p>按照这个文档的说明，我们可以按照下面的方法来配置中文字体。</p>
<p>1、确定系统的发布版类型，判别方法是 /etc 目录下的 release 文件：</p>
<blockquote><p>/etc/redhat-release =&gt; RedHat<br />
/etc/sun-release =&gt; Sun<br />
/etc/turbolinux-release =&gt; Turbo<br />
/etc/SuSE-release =&gt; SuSE</p></blockquote>
<p>按这种判断方法，Fedora 等发源于 RedHat 的发布版都属于 RedHat 类。如果 /etc 目录下不存在上面 4 个文件的任何一个，则 OS 为空。</p>
<p>2、拷贝 JavaHome/lib/fontconfig.OS.properties.src 为 JavaHome/lib/fontconfig.OS.properties。如对于 Fedora：</p>
<blockquote><p><code># cp fontconfig.RedHat.properties.src fontconfig.RedHat.properties</code></p></blockquote>
<p>对于不属于上面 4 类的发布版，不妨拷贝 RedHat 的配置文件为 fontconfig.properties：</p>
<blockquote><p><code># cp fontconfig.RedHat.properties.src fontconfig.properties</code></p></blockquote>
<p>3、编辑上述 .properties 文件，在文件的“Font File Names”一节里，找到在下面一行：</p>
<blockquote><p><code>filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/chinese/TrueType/zysong.ttf</code></p></blockquote>
<p>将“=”号以后的中文字体文件名，改为本系统上存在的一个中文字体文件名。您如果愿意，可以修改其他几行，为繁体中文、日语、韩语等您可能用到的语言设置合适的字体。</p>
<p>经过这么简单的修改，Java 的图形界面程序就可以正确地显示中文了。</p>
<p>上面介绍的是设置中文字体的标准的做法。另外，还有一个“偷懒”的做法。这就是：不需要修改任何文件，只要创建一个新目录：</p>
<blockquote><p>JavaHome/lib/fonts/fallback/</p></blockquote>
<p>然后把中文字体的 TTF 文件拷贝到这个目录里就 OK 了！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/30/jdk-chinese-fonts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>使用 cvsd 配置 cvs 服务器</title>
		<link>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/</link>
		<comments>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 14:49:10 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[cvsd]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[编程]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=18</guid>
		<description><![CDATA[CVS 服务器最初被设计成由“xinetd”启动。不过现在的 Linux 发布版大多缺省不再安装或启动 xinetd 了，并且 CVS 服务器的配置也比较复杂。cvsd 是一个对 CVS pserver 的包装程序，它可以把 CVS 启动成一个独立的服务，并用指定的 uid/gid 运行在 chroot 的环境下，其安全性有所提高。并且，cvsd 的配置也要相对简单些。 本文将描述如何使用 cvsd 配置一个 CVS pserver。 1、安装 cvsd 软件包 对于基于 RPM 的 Linux 发布版，本站提供了预编译的 RPM 下载： cvsd-1.0.14-1.i386.rpm cvsd-1.0.14-1.src.rpm (source) 对其他发布版，您可以从 cvsd 的原始站点下载 源代码包，自己编译和安装。 2、配置文件 /etc/cvsd/cvsd.conf 检查 cvsd 的配置文件。有几点需要注意： RootJail：cvs 将运行的 chroot 根目录。缺省设置为 RootJail /var/lib/cvsd 对于基于 RPM 的发布版，cvsd [...]]]></description>
			<content:encoded><![CDATA[<p>CVS 服务器最初被设计成由“xinetd”启动。不过现在的 Linux 发布版大多缺省不再安装或启动 xinetd 了，并且 CVS 服务器的配置也比较复杂。<a href="http://ch.tudelft.nl/~arthur/cvsd/">cvsd</a> 是一个对 CVS pserver 的包装程序，它可以把 CVS 启动成一个独立的服务，并用指定的 uid/gid 运行在 chroot 的环境下，其安全性有所提高。并且，cvsd 的配置也要相对简单些。</p>
<p>本文将描述如何使用 cvsd 配置一个 CVS pserver。</p>
<p><strong>1、安装 cvsd 软件包</strong></p>
<p>对于基于 RPM 的 Linux 发布版，本站提供了预编译的 RPM 下载：</p>
<blockquote><p><a href="http://linuxforfun.net/misc/cvsd-1.0.14-1.i386.rpm">cvsd-1.0.14-1.i386.rpm</a><br />
<a href="http://linuxforfun.net/misc/cvsd-1.0.14-1.src.rpm">cvsd-1.0.14-1.src.rpm</a> (source)</p></blockquote>
<p>对其他发布版，您可以从 cvsd 的原始站点下载 <a href="http://ch.tudelft.nl/~arthur/cvsd/downloads.html">源代码包</a>，自己编译和安装。</p>
<p><span id="more-18"></span></p>
<p><strong>2、配置文件 /etc/cvsd/cvsd.conf</strong></p>
<p>检查 cvsd 的配置文件。有几点需要注意：</p>
<ul>
<li>RootJail：cvs 将运行的 chroot 根目录。缺省设置为<br />
<blockquote><p><code>RootJail /var/lib/cvsd</code></p></blockquote>
<p>对于基于 RPM 的发布版，cvsd 的安装包已经对这个目录进行了初始化：</p>
<blockquote><p><code># cvsd-buildroot /var/lib/cvsd</code></p></blockquote>
<p>对于其他发布版，如果这个目录没有初始化；或者您在配置文件中改变了缺省目录“RootJail”，您就需要运行 cvsd-buildroot 命令手动初始化。</li>
<li>Uid 和 Gid: cvsd 运行时使用的用户 ID 和组 ID。缺省设置是：<br />
<blockquote><p><code>Uid cvsd<br />
Gid cvsd</code></p></blockquote>
<p>对于基于 RPM 的发布版，cvsd 的安装包已经创建了 cvsd 用户和组。对于其他发布版，您必须手动创建它们。</li>
<li>Repos: 软件仓库的路径，每个仓库在配置文件中用一行这个配置。每个路径都是相对于“RootJail”并且以“/”字符开头。例如：<br />
<blockquote><p><code>Repos /coolsoft<br />
Repos /hotsoft</code></p></blockquote>
</li>
</ul>
<p><strong>3、创建软件仓库</strong></p>
<p>创建软件仓库，如“coolsoft”，用如下命令：</p>
<blockquote><p><code># cvs -d /var/lib/cvsd/coolsoft init</code></p></blockquote>
<p>这个命令将创建目录 /var/lib/cvsd/coolsoft，并在其下创建一个 CVSROOT 目录树。</p>
<p>如果您允许用户创建此仓库的顶级目录：</p>
<blockquote><p><code># chown cvsd:cvsd /var/lib/cvsd/coolsoft</code></p></blockquote>
<p>编辑文件 <code>/var/lib/cvsd/coolsoft/CVSROOT/config</code> 修改“LockDir”选项：</p>
<blockquote><p><code>LockDir /tmp/coolsoft</code></p></blockquote>
<p>这个目录是相对于“RootJail”目录，如 /var/lib/cvsd。必须手工创建此目录：</p>
<blockquote><p><code># mkdir /var/lib/cvsd/tmp/coolsoft<br />
# chown cvsd:cvsd /var/lib/cvsd/tmp/coolsoft</code></p></blockquote>
<p>现在，创建所有可以访问这个仓库的用户和他们的密码：</p>
<blockquote><p><code># cvsd-passwd /var/lib/cvsd/coolsoft jack</code></p></blockquote>
<p>如果您允许匿名访问这个仓库，创建一个用户，名为“anonymous”或“anoncvs”，并设置密码为空：</p>
<blockquote><p><code># cvsd-passwd /var/lib/cvsd/coolsoft anoncvs</code></p></blockquote>
<p>创建新文件 <code>/var/lib/cvsd/coolsoft/CVSROOT/writers</code>：</p>
<blockquote><p><code># touch /var/lib/cvsd/coolsoft/CVSROOT/writers</code></p></blockquote>
<p>可以保护仓库的访问权限，否则所有的用户都可以对本仓库有写入权限。在这个文件里，加入所有可以对本仓库有写入权限的用户名，一行一个用户。</p>
<p>如果您不允许用户创建仓库的顶级目录，您可以先创建将要用到的顶级目录，以存放用户递交的文件：</p>
<blockquote><p><code># cd /var/lib/cvsd/coolsoft<br />
# mkdir client server<br />
# chown cvsd:cvsd client server</code></p></blockquote>
<p><strong>4、启动 cvsd，测试软件仓库及权限</strong></p>
<p>启动 cvsd，使用命令</p>
<blockquote><p><code># /etc/init.d/cvsd start</code></p></blockquote>
<p>测试新的仓库：</p>
<blockquote><p><code># cvs -d :pserver:jack@myhost.at.office/coolsoft login<br />
# cvs -d :pserver:jack@myhost.at.office/coolsoft co client</code></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/27/cvsd-setup-cvs-pserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置 VSFTPD －－另一种途径</title>
		<link>http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/</link>
		<comments>http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 15:54:35 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/?p=17</guid>
		<description><![CDATA[如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。 在上一篇文章里，我介绍了如何配置 VSFTPD 的虚拟用户。本文将说明如何用另一种方法配置 VSFTPD，这个方法需要在系统上创建真实的用户。 1、安装 VSFTPD 对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD： # yum install vsftpd 对于 Debian and Ubuntu，相应的命令是： # apt-get install vsftpd 2、配置虚拟用户和密码验证 我们可以为每个虚拟网站的管理员创建一个真实的帐号。不过我们将只允许这些帐号使用 FTP 访问我们的服务器。 首先，使用“useradd”命令创建帐号。这里需要注意的一些要点是： 用户组：为方便网站管理员管理自己的文件，我们可以指定他们的帐号与系统的 HTTP 服务器运行时使用的组相同。对于 Apache 服务器，这个组通常是“apache”；对于 lighttpd，这个组通常是“lighttpd”。 虚拟目录：我们指定这些用户的主目录跟他们的虚拟网站的 DocumentRoot 一致。我们把这些目录的属性设置为 HTTP 服务器运行的用户组可写。 登录 shell：为了把虚拟用户限制在只能使用 FTP 登录，我们把他们的登录 shell 设置成 /sbin/nologin。 例如： [...]]]></description>
			<content:encoded><![CDATA[<p>如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。</p>
<p>在<a href="http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/">上一篇文章</a>里，我介绍了如何配置 VSFTPD 的虚拟用户。本文将说明如何用另一种方法配置 VSFTPD，这个方法需要在系统上创建真实的用户。</p>
<p><strong>1、安装 VSFTPD</strong></p>
<p>对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD：</p>
<blockquote><p><code># yum install vsftpd</code></p></blockquote>
<p>对于 Debian and Ubuntu，相应的命令是：</p>
<blockquote><p><code># apt-get install vsftpd</code></p></blockquote>
<p><span id="more-17"></span><strong>2、配置虚拟用户和密码验证</strong></p>
<p>我们可以为每个虚拟网站的管理员创建一个真实的帐号。不过我们将只允许这些帐号使用 FTP 访问我们的服务器。<br />
首先，使用“useradd”命令创建帐号。这里需要注意的一些要点是：</p>
<ul>
<li><strong>用户组</strong>：为方便网站管理员管理自己的文件，我们可以指定他们的帐号与系统的 HTTP 服务器运行时使用的组相同。对于 Apache 服务器，这个组通常是“apache”；对于 lighttpd，这个组通常是“lighttpd”。</li>
<li><strong>虚拟目录</strong>：我们指定这些用户的主目录跟他们的虚拟网站的 DocumentRoot 一致。我们把这些目录的属性设置为 HTTP 服务器运行的用户组可写。</li>
<li><strong>登录 shell</strong>：为了把虚拟用户限制在只能使用 FTP 登录，我们把他们的登录 shell 设置成 /sbin/nologin。</li>
</ul>
<p>例如：</p>
<blockquote><p><code># useradd -g apache -d /var/www/vhosts/mike -s /sbin/nologin mike<br />
# chmod g+w /var/www/vhosts/mike<br />
# passwd mike<br />
Changing password for user mike.<br />
New UNIX password:<br />
Retype new UNIX password:<br />
passwd: all authentication tokens updated successfully.</code></p></blockquote>
<p><strong>3、配置 VSFTPD</strong></p>
<p>创建配置文件 /etc/vsftpd/vsftpd-virtual.conf：</p>
<blockquote><p><code># disables anonymous FTP<br />
anonymous_enable=NO<br />
# enables non-anonymous FTP<br />
local_enable=YES<br />
# enables uploads and new directories<br />
write_enable=YES<br />
# authentication of virtual uses<br />
pam_service_name=login<br />
# the virtual user is restricted to the virtual FTP area<br />
chroot_local_user=YES<br />
# runs vsftpd in standalone mode<br />
listen=YES<br />
# listens on this port for incoming FTP connections<br />
listen_port=60021<br />
# the minimum port to allocate for PASV style data connections<br />
pasv_min_port=62222<br />
# the maximum port to allocate for PASV style data connections<br />
pasv_max_port=63333<br />
# controls whether PORT style data connections use port 20 (ftp-data)<br />
connect_from_port_20=YES<br />
# the umask for file creation<br />
local_umask=022</code></p></blockquote>
<p><strong>5、启动 VSFTPD 并测试</strong></p>
<p>用下面的命令启动 VSFTPD：</p>
<blockquote><p><code># /usr/sbin/vsftpd /etc/vsftpd/vsftpd-virtual.conf</code></p></blockquote>
<p>用 lftp 命令测试虚拟用户的访问权限：</p>
<blockquote><p><code># lftp -u mike -p 60021 192.168.1.101</code></p></blockquote>
<p>所有的虚拟用户应该可以管理他目录下的所有子目录和文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>配置 VSFTPD 的虚拟用户</title>
		<link>http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/</link>
		<comments>http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 08:38:34 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[服务器]]></category>
		<category><![CDATA[网络]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/04/05/%e9%85%8d%e7%bd%ae-vsftpd-%e7%9a%84%e8%99%9a%e6%8b%9f%e7%94%a8%e6%88%b7/</guid>
		<description><![CDATA[如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。下面我们就简明地解说一下如何做。 （参考：配置 VSFTPD 的虚拟用户－－另一种途径） 1、安装 of VSFTPD 对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD： # yum install vsftpd 对于 Debian and Ubuntu，相应的命令是： # apt-get install vsftpd 2、配置虚拟用户和密码验证 我们将使用 PAM 的 pam_userdb 来为虚拟用户提供密码验证。这需要一个 “db” 格式的数据库。我们需要“db_load”命令。对于 CentOS 和 Fedora，这个命令在 db4-utils 包里： # yum install db4-utils 对于 Ubuntu： # apt-get install db4.2-util 要创建“db”格式的文件，首先，我们创建一个普通文件文件“virtual-users.txt”，这个文件的格式非常简单，就是一行用户名，一行密码，循环往下写： [...]]]></description>
			<content:encoded><![CDATA[<p>如果你正在维护一个提供虚拟空间的服务器，为安全起见，你可能希望网站管理员只能管理他自己的文件。一个好的解决方法是：为所有的管理员配置 VSFTPD 的虚拟用户和根目录。下面我们就简明地解说一下如何做。<br />
（参考：<a href="http://zh.linuxforfun.net/2008/04/15/vsftpd-virtual-users-another-approach/">配置 VSFTPD 的虚拟用户－－另一种途径</a>）</p>
<p><strong>1、安装 of VSFTPD</strong></p>
<p>对于 Red Hat, CentOS 和 Fedora 这些基于 RPM 的系统，可以用下面的命令安装 VSFTPD：</p>
<blockquote><p><code># yum install vsftpd</code></p></blockquote>
<p>对于 Debian and Ubuntu，相应的命令是：</p>
<blockquote><p><code># apt-get install vsftpd</code></p></blockquote>
<p><span id="more-15"></span><strong>2、配置虚拟用户和密码验证</strong></p>
<p>我们将使用 PAM 的 pam_userdb 来为虚拟用户提供密码验证。这需要一个 “db” 格式的数据库。我们需要“db_load”命令。对于 CentOS 和 Fedora，这个命令在 db4-utils 包里：</p>
<blockquote><p><code># yum install db4-utils</code></p></blockquote>
<p>对于 Ubuntu：</p>
<blockquote><p><code># apt-get install db4.2-util</code></p></blockquote>
<p>要创建“db”格式的文件，首先，我们创建一个普通文件文件“virtual-users.txt”，这个文件的格式非常简单，就是一行用户名，一行密码，循环往下写：</p>
<blockquote><p><code>mary<br />
123456<br />
jack<br />
654321</code></p></blockquote>
<p>然后，执行下面的命令创建真正的数据库：</p>
<blockquote><p><code># db_load -T -t hash -f virtual-users.txt /etc/vsftpd/virtual-users.db</code></p></blockquote>
<p>现在，创建一个 PAM 文件 /etc/pam.d/vsftpd-virtual 来使用这个数据库：</p>
<blockquote><p><code>auth required pam_userdb.so db=/etc/vsftpd/virtual-users<br />
account required pam_userdb.so db=/etc/vsftpd/virtual-users</code></p></blockquote>
<p><strong>3、配置 VSFTPD</strong></p>
<p>创建配置文件 /etc/vsftpd/vsftpd-virtual.conf：</p>
<blockquote><p><code># disables anonymous FTP<br />
anonymous_enable=NO<br />
# enables non-anonymous FTP<br />
local_enable=YES<br />
# activates virtual users<br />
guest_enable=YES<br />
# virtual users to use local privs, not anon privs<br />
virtual_use_local_privs=YES<br />
# enables uploads and new directories<br />
write_enable=YES<br />
# the PAM file used by authentication of virtual uses<br />
pam_service_name=vsftpd-virtual<br />
# in conjunction with 'local_root',<br />
# specifies a home directory for each virtual user<br />
user_sub_token=$USER<br />
local_root=/var/www/virtual/$USER<br />
# the virtual user is restricted to the virtual FTP area<br />
chroot_local_user=YES<br />
# hides the FTP server user IDs and just display "ftp" in directory listings<br />
hide_ids=YES<br />
# runs vsftpd in standalone mode<br />
listen=YES<br />
# listens on this port for incoming FTP connections<br />
listen_port=60021<br />
# the minimum port to allocate for PASV style data connections<br />
pasv_min_port=62222<br />
# the maximum port to allocate for PASV style data connections<br />
pasv_max_port=63333<br />
# controls whether PORT style data connections use port 20 (ftp-data)<br />
connect_from_port_20=YES<br />
# the umask for file creation<br />
local_umask=022</code></p></blockquote>
<p><strong>4、创建用户主目录</strong></p>
<p>在上面的配置文件指定的目录下，创建所有虚拟用户的主目录（如果这些用户已经有自己的文件目录，只需要创建一个符号连接就可以了），并改变这些目录的属主为 ftp：</p>
<blockquote><p><code># mkdir /var/www/virtual/mary<br />
# chown ftp:ftp /var/www/virtual/mary</code></p></blockquote>
<p><strong>5、启动 VSFTPD 并测试</strong></p>
<p>用下面的命令启动 VSFTPD：</p>
<blockquote><p><code># /usr/sbin/vsftpd /etc/vsftpd/vsftpd-virtual.conf</code></p></blockquote>
<p>用 lftp 命令测试虚拟用户的访问权限：</p>
<blockquote><p><code># lftp -u mary -p 60021 192.168.1.101</code></p></blockquote>
<p>所有的虚拟用户应该可以管理他目录下的所有子目录和文件。</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/04/05/vsftpd-virtual-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>解决 Google Toolbar 只能显示“下载书签&#8230;”问题</title>
		<link>http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/</link>
		<comments>http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 00:50:38 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bookmarks]]></category>
		<category><![CDATA[toolbar]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/</guid>
		<description><![CDATA[这两天尝试使用 Google Toolbar 上的书签功能，点击 Toolbar 上的书签按钮，只出现“下载书签&#8230;”几个字，而且是灰掉的。而在 Windows下的 Firefox里，Toolbar的导入 Firefox 书签、下载书签、添加书签等功能都是正常的。Linux下的 Google Toolbar 究竟有什么不同呢？ 在 Google 上搜索了半天，才得知：原来是系统缺少 libstdc++.so.5 这个库文件导致的。这个库文件是老版本的 C++ 函数库，目前较新的 Linux 发布版一般缺省是不安装这个库的。故此，解决“下载书签&#8230;”问题的方法是： 1、安装包含 libstdc++.so.5 的软件包。对于 Fedora： # yum install compat-libstdc++-33 对于 Ubuntu： # sudo apt-get install libstdc++5 对于其他发布版，安装相应的软件包。 2、退出 Firefox，重新启动 Firefox，重新安装 Google Toolbar。这点非常重要，否则问题依然存在。 OK，现在就可以在 Google Toolbar 里看到自己的所有书签了！]]></description>
			<content:encoded><![CDATA[<p>这两天尝试使用 Google Toolbar 上的书签功能，点击 Toolbar 上的书签按钮，只出现“下载书签&#8230;”几个字，而且是灰掉的。而在 Windows下的 Firefox里，Toolbar的导入 Firefox 书签、下载书签、添加书签等功能都是正常的。Linux下的 Google Toolbar 究竟有什么不同呢？</p>
<p>在 Google 上搜索了半天，才得知：原来是系统缺少 libstdc++.so.5 这个库文件导致的。这个库文件是老版本的 C++ 函数库，目前较新的 Linux 发布版一般缺省是不安装这个库的。故此，解决“下载书签&#8230;”问题的方法是：</p>
<p>1、安装包含 libstdc++.so.5 的软件包。对于 Fedora：</p>
<blockquote><p><code># yum install compat-libstdc++-33</code></p></blockquote>
<p>对于 Ubuntu：</p>
<blockquote><p><code># sudo apt-get install libstdc++5</code></p></blockquote>
<p>对于其他发布版，安装相应的软件包。</p>
<p>2、退出 Firefox，重新启动 Firefox，<strong>重新安装 Google Toolbar</strong>。这点非常重要，否则问题依然存在。</p>
<p>OK，现在就可以在 Google Toolbar 里看到自己的所有书签了！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/03/15/google-toolbar-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fedora 8 中文字体设置技巧</title>
		<link>http://zh.linuxforfun.net/2008/01/14/fedora-8-chinese/</link>
		<comments>http://zh.linuxforfun.net/2008/01/14/fedora-8-chinese/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 15:25:45 +0000</pubDate>
		<dc:creator>三大件</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[中文]]></category>
		<category><![CDATA[中文字体]]></category>
		<category><![CDATA[设置]]></category>

		<guid isPermaLink="false">http://zh.linuxforfun.net/2008/01/14/fedora-8-%e4%b8%ad%e6%96%87%e5%ad%97%e4%bd%93%e8%ae%be%e7%bd%ae%e6%8a%80%e5%b7%a7/</guid>
		<description><![CDATA[0、安装 Fedora8 安装过程中需要注意的是：要选择简体中文安装界面，这样中文相关软件（如输入法等）和中文语言包才会被缺省安装。否则等安装完成后再手工安装这些东西将会非常繁琐。 另外，如果你想亲自编译这些软件包，安装系统时，在选择软件包时，要把“软件开发”选上，否则在下面的步骤里你就无法编译 RPM 包了。 不过，本文提供了已经编译好的 RPM 包，所以， 不想自己编译的朋友也可以不安装开发包。 安装完毕后，第一次引导后的配置系统时，我一般会禁用 SELinux，一则因为这玩意对一般个人桌面系统没啥必要，更重要的是它会给你以后手工安装的一些软件的运行造成麻烦（比如，一些不是用 RPM 包安装的动态库（如 flash 插件等）无法加载，必须使用复杂的 chcon 命令改变相关安全属性后才可以加载）。 下面，就是用 yum 安装所有的官方升级包。建议升级前先修改 /etc/yum.conf 文件： [main] cachedir=/home/joe/fc8/yum keepcache=1 debuglevel=2 ...... 这样 yum 将不会删除下载回来的 RPM 包，而把它保留在 cachedir 指定的另一个分区的目录里；当你下次重新安装 Fedora 后升级时，就不用重新下载一遍这些文件了。 安装、升级完毕后，我们就要开始对一些软件包进行与中文相关的修改了。下面的操作都必须以 root 用户登录执行。 1、FreeType：激活 bytecode interpreter 和 subpixel rendering 从 Fedora 的官方 FTP 或 HTTP 服务器下载最新的 FreeType 源码包，如 [...]]]></description>
			<content:encoded><![CDATA[<h3>0、安装 Fedora8</h3>
<p>安装过程中需要注意的是：要选择<span style="color: #ff0000;">简体中文</span>安装界面，这样中文相关软件（如输入法等）和中文语言包才会被缺省安装。否则等安装完成后再手工安装这些东西将会非常繁琐。</p>
<p>另外，如果你想亲自编译这些软件包，安装系统时，在选择软件包时，要把“软件<span style="color: #ff0000;">开发</span>”选上，否则在下面的步骤里你就无法编译 RPM 包了。 不过，<span style="color: #ff0000;">本文提供了已经编译好的 RPM 包</span>，所以， 不想自己编译的朋友也可以不安装开发包。</p>
<p>安装完毕后，第一次引导后的配置系统时，我一般会<span style="color: #ff0000;">禁用 SELinux</span>，一则因为这玩意对一般个人桌面系统没啥必要，更重要的是它会给你以后手工安装的一些软件的运行造成麻烦（比如，一些不是用 RPM 包安装的动态库（如 flash 插件等）无法加载，必须使用复杂的 chcon 命令改变相关安全属性后才可以加载）。</p>
<p>下面，就是用 yum 安装所有的官方升级包。建议升级前先修改 /etc/yum.conf 文件：</p>
<blockquote><p><code>[main]<br />
<span style="color: #ff0000;"> cachedir=/home/joe/fc8/yum<br />
keepcache=1</span><br />
debuglevel=2<br />
......</code></p></blockquote>
<p>这样 yum 将不会删除下载回来的 RPM 包，而把它保留在 cachedir 指定的<span style="color: #ff0000;">另一个分区</span>的目录里；当你下次重新安装 Fedora 后升级时，就不用重新下载一遍这些文件了。</p>
<p>安装、升级完毕后，我们就要开始对一些软件包进行与中文相关的修改了。下面的操作都必须以 <span style="color: #ff0000;">root</span> 用户登录执行。</p>
<p><span id="more-9"></span></p>
<h3>1、FreeType：激活 bytecode interpreter 和 subpixel rendering</h3>
<p>从 Fedora 的官方 <a href="ftp://download.fedora.redhat.com/">FTP</a> 或 <a href="http://download.fedora.redhat.com/">HTTP</a> 服务器下载最新的 FreeType 源码包，如 <a href="http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/source/SRPMS/freetype-2.3.5-3.fc8.src.rpm">freetype-2.3.5-3.fc8.src.rpm</a>。然后重新编译和安装 RPM 包（注意在编译时要加上激活 bytecode interpreter 和 subpixel rendering 的选项）：</p>
<blockquote><p><code># rpmbuild --rebuild --with bytecode_interpreter --with subpixel_rendering \<br />
--define='dist .zfc8' freetype-2.3.5-3.fc8.src.rpm<br />
# cd /usr/src/redhat/RPMS/i386<br />
# rpm -Fvh freetype*.rpm</code></p></blockquote>
<p>本地下载：</p>
<blockquote><p><a href="http://zh.linuxforfun.net/misc/freetype-2.3.5-3.zfc8.i386.rpm">freetype-2.3.5-3.zfc8.i386.rpm</a><br />
<a href="http://zh.linuxforfun.net/misc/freetype-devel-2.3.5-3.zfc8.i386.rpm">freetype-devel-2.3.5-3.zfc8.i386.rpm</a><br />
<a href="http://zh.linuxforfun.net/misc/freetype-demos-2.3.5-3.zfc8.i386.rpm">freetype-demos-2.3.5-3.zfc8.i386.rpm</a></p></blockquote>
<h3>2、Cairo：点阵字体“伪粗体”（Embolden）算法的优化</h3>
<p>从 Fedora 的官方 <a href="ftp://download.fedora.redhat.com/">FTP</a> 或 <a href="http://download.fedora.redhat.com/">HTTP</a> 服务器下载最新的 Cairo 源码包，如 <a href="http://download.fedora.redhat.com/pub/fedora/linux/updates/8/SRPMS/cairo-1.4.14-1.fc8.src.rpm">cairo-1.4.14-1.fc8.src.rpm</a>。下载 sunmoon1997 提供的<a href="http://zh.linuxforfun.net/misc/cairo-1.4.10-fake-bitmap-glyph.patch">补丁</a>，这个补丁对特定条件下点阵字体“伪粗体”算法进行了优化。修改 cairo.spec 以包含这个补丁。然后重新编译和安装 RPM 包：</p>
<blockquote><p><code># cd /usr/src/redhat/SPECS<br />
# rpmbuild -ba --define='dist .zfc8' cairo.spec<br />
# cd ../RPMS/i386<br />
# rpm -Fvh cairo*.rpm</code></p></blockquote>
<p>本地下载（从源代码编译：rpmbuild &#8211;rebuild &#8211;define=&#8217;dist .zfc8&#8242; <a href="http://zh.linuxforfun.net/misc/cairo-1.4.14-1.zfc8.src.rpm">cairo-1.4.14-1.zfc8.src.rpm</a>）：</p>
<blockquote><p><a href="http://zh.linuxforfun.net/misc/cairo-1.4.14-1.zfc8.i386.rpm">cairo-1.4.14-1.zfc8.i386.rpm</a><br />
<a href="http://zh.linuxforfun.net/misc/cairo-devel-1.4.14-1.zfc8.i386.rpm">cairo-devel-1.4.14-1.zfc8.i386.rpm</a></p></blockquote>
<h3>3、libXft：点阵字体“伪粗体”（Embolden）算法的优化</h3>
<p>从 Fedora 的官方 <a href="ftp://download.fedora.redhat.com/">FTP</a> 或 <a href="http://download.fedora.redhat.com/">HTTP</a> 服务器下载最新的 libXft 源码包，如 <a href="http://download.fedora.redhat.com/pub/fedora/linux/releases/8/Fedora/source/SRPMS/libXft-2.1.12-3.fc8.src.rpm">libXft-2.1.12-3.fc8.src.rpm</a>。下载 sunmoon1997 提供的<a href="http://zh.linuxforfun.net/misc/libXft-2.1.7-lazy-embolden.diff">补丁</a>，这个补丁对特定条件下点阵字体“伪粗体”算法进行了优化。修改 libXft.spec 以包含这个补丁。然后重新编译和安装 RPM 包 ：</p>
<blockquote><p><code># cd /usr/src/redhat/SPECS<br />
# rpmbuild -ba --define='dist .zfc8' libXft.spec<br />
# cd ../RPMS/i386<br />
# rpm -Fvh libXft*.rpm</code></p></blockquote>
<p>本地下载（从源代码编译：rpmbuild &#8211;rebuild &#8211;define=&#8217;dist .zfc8&#8242; <a href="http://zh.linuxforfun.net/misc/libXft-2.1.12-3.zfc8.src.rpm">libXft-2.1.12-3.zfc8.src.rpm</a>）：</p>
<blockquote><p><a href="http://zh.linuxforfun.net/misc/libXft-2.1.12-3.zfc8.i386.rpm">libXft-2.1.12-3.zfc8.i386.rpm</a><br />
<a href="http://zh.linuxforfun.net/misc/libXft-devel-2.1.12-3.zfc8.i386.rpm">libXft-devel-2.1.12-3.zfc8.i386.rpm</a></p></blockquote>
<h3>4、安装中文字体</h3>
<p>拷贝 Windows 2000/XP 的 C:\WINDOWS\FONTS 目录下的所有 TrueType 字体（扩展名为 .ttf、.ttc、.TTF 的文件）到你的 Fedora 下的一个目录（例如：/home/joe/fonts）下。</p>
<h3>5、添加字体配置文件</h3>
<p>把字体配置文件 <a href="http://zh.linuxforfun.net/misc/f8-local.conf">f8-local.conf</a> 拷贝为 /etc/fonts/local.conf 文件，注意要把其中指定 Windows TrueType 字体目录的一行改为你在上一步中使用的目录：</p>
<blockquote><p><code>&lt;dir&gt;<span style="color: #ff0000;">/home/joe/fonts</span>&lt;/dir&gt;</code></p></blockquote>
<p>然后运行下面的命令：</p>
<blockquote><p><code># fc-cache <span style="color: #ff0000;">/home/joe/fonts</span></code></p></blockquote>
<h3>6、修改 Firefox 中文字体下划线位置</h3>
<p>Firefox 对中文字体的支持中，一直存在中文字符下划线离字符太近的问题。所幸的是，有人为 Firefox 写了一个 patch，解决了 Firefox 使用 Pango 引擎时的这个问题；更幸运 的是，Fedora缺省使用的就是 Pango 引擎。有兴趣的朋友可以下载这个补丁：<a href="http://zh.linuxforfun.net/misc/mozilla-1.5-pango-underline.patch.bz2">mozilla-1.5-pango-underline.patch.bz2</a>，重新编译 Fedora 中的 Firefox。不过，由于编译 Firefox 是个比较漫长的过程，没有耐心的朋友可以下载我编译好模块：<a href="http://zh.linuxforfun.net/misc/libgfx_gtk.so">libgfx_gtk.so</a>，然后把它拷贝到系统的 Firefox 相应目录下，替换原来的模块：</p>
<blockquote><p><code># cp libgfx_gtk.so /usr/lib/firefox-2.0.0.10/components/<br />
# chcon system_u:object_r:lib_t /usr/lib/firefox-2.0.0.10/components/libgfx_gtk.so</code></p></blockquote>
<p>上面第 2 条命令是针对使用 SELinux 的用户的；命令里 Firefox 的目录（/usr/lib/firefox-2.0.10）要根据你使用的 Firefox 版本做改动。</p>
<h3>7、注销、重新登录，设置 GNOME 字体</h3>
<p>运行“系统──首选项──观感──字体”程序，选择“次像素平滑（LCD）”。</p>
<p>OK！现在你的 Fedora 已经拥有漂亮的中文字体了！</p>
]]></content:encoded>
			<wfw:commentRss>http://zh.linuxforfun.net/2008/01/14/fedora-8-chinese/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

