这是 一步一步来做 vsftpd 设置 的第二部分。
如果只想开放给特定用户访问,可以允许本系统中已有的用户连接 vsftpd ,
local_enable=YES
允许本地用户登录,可能对系统安全造成威胁:由于有的本地用户权限较高,他可能读取到不应公开的文件等等。因此我们通常要限定本地用户的活动范围:只允许从 ftp 登录到自已的家目录下。
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
第二行指出被锁定的用户列表。其格式是一行一个用户名。
注意 vsftpd 还有一个参数 chroot_local_user,它默认是NO,如果你设定它为 YES,前面两个参数的效果就发生了变化,一方面,默认锁定本地用户,另一方面,在列表文件里的用户被排除在外,也就是不会被锁定。正好相反!所以要小心!
如果希望本地用户登录后不是限制在各自家目录里,而是都在某一指定目录中,可以加入下面指令
local_root=/somewhere
(待续)
vsftpd 的相关介绍就省略了。进入正题。
vsftpd安装完第一次启动时,通常发现无法登录,因为它对相关权限要求很严格,我们要小心检查设定。
安装完vsftpd , 在你做任何设置之前,确认以下事项:
1、确认vsftpd的ftp文件夹的位置,也就是看看你的ftp用户的根目录在哪:
more /etc/passwd |grep ftp
我的系统中,显示的结果是
ftp:x:112:65534::/home/ftp:/bin/false
所以我的 vsftpd 的ftp根目录在 /home/ftp
2、设定ftp根目录的所有者一定为“root”:
chown root:root /home/ftp
3、设定这个根目录的权限一定是”755″;
chmod 755 /home/ftp
上面的设定是正常开始一切的基础。当我第一次装vsftpd的时候,弄了一天才发现是根目录的权限问题,呵呵,现在可以开始你的下一步设定了。
如果只是让他人能匿名下载,启用下面一句指令到默认配制文件里就行了,我的文件位于/etc/vsftpd.conf
anonymous_enable=YES
如果要实现匿名上传,要做两件事,
再进一步,让匿名用户可以自建文件夹,在配制文件中启用:
anon_mkdir_write_enable=YES
建好的目录是不能更改的,如果要让目录可以更改(重命名),请再加入下一句:
anon_other_write_enable=YES
现在说说 anon_world_readable_only,这个选项网上一些教程和我的理解不同,这个选项默认是yes, 意思是是否只让匿名用户读取那些“全局范围可读”的文件。如果有人上传了文件,这个文件通常是不会让匿名用户可读的[实际上是指下载],匿名用户自已上传的文件也是一样无法下载。有三个方法使这个文件能让匿名用户读取(下载),
- 上传好后改文件权限。
- 将 anon_world_readable_only 设为 NO , 为了安全,最好不要这样做
- 设定anon_umask为022(默认是077),然后再上传文件,这个较常用
匿名用户设定讲完了,第一部分也就完成了,第二部分是本地用户设定。
Linux 下面最好的输入法就是 fcitx ,它支持有多个输入方法,比如二笔、仓颉,我只用五笔和拼音,从拼音切换到五笔时,要按三四次键盘,去掉不用的那些码表,五笔到拼音之间的切换换会更迅速。
修改/usr/share/fcitx/data/tables.conf 这个文件可以达到目的。这个文件用的是gb2312编码,vi 和 gedit下都可能显示乱码。
可以在控制台下更改”locale”为zh_CN.gb2312, 然后再用gedit打开。用“#”号注销不用的码表。保存后重启你的fcitx.
现在只有拼音和五笔,切换起来得心应手了。
vmware 安装时需要内核头文件,在 debian t系统中,仅仅从网络下载内核源码是不够的,这样无法安装vmware。你必须提供与当前运行的内核版本一致的头文件,如果是 debian 官方内核,在软件源中会提供有 linux-XXX-headers 这样的名称的包,安装相应的一个就可以了,但是如果是自已编译的怎么办? 那就只好编译内核的时侯,同时将内核的头文件打包。
在 Debian 上编译自已的内核这篇文中讲到了编译内核的超简单方法。在编译命令中加入一个参数 kernel_headers 就可以同时打包头文件了。示例:
fakeroot make-kpkg –initrd –revision=chris.1.0 kernel_image kernel_headers
运行完命令后,在/usr/src 目录中会有一个 XXX-headersXX.deb 的软件包,安装它就行了。
然后运行 vmware 的安装程序,你就能顺利装上 vmware 了。
如果你的内核太新,vmware 还不支持你的内核版本怎么办? 去下载一个最新的 vmware-any-any-update??? 包,运行其中的 runme.pl 文件就可以了,至于下载地址请自已 Google 一下。
最后说说内核头文件造成的常见错误。
第一个是直接解包源文件,不编译就指定其中的include目录为头文件目录。vmware 会提示你内核没有编译,没有相关头文件。
第二个是编译内核后指定源码中的include目录为头文件目录。安装 vmware 会无法编译成功模块。这个原因是内核源码里的 include 是不能直接使用的,debian 官方文档里有说明。
Debian 的 2.6.21 有一个问题:无法正常安装 NVIDIA 官方驱动,编译时提示说无法编译内核模块,于是决定自行编译最新内核。
这个过程分三步,第一步:准备环境。
下载新的内核后,安装一些必备软件包。
apt-get install kernel-package libncurses5-dev fakeroot build-essential
第二步,开始编译。
解压内核到 /usr/src
tar jxvf linux-2.6.22.1.tar.bz2
cd linux-2.6.22.1
开始设定内核,根据自已的需求更改选项。
make menuconfig
为了防止出错,你可以使用你原来的配制。把原来的配制文件放到新内核源码的目录下命名为.config
cp /boot/config-2.6.21-2-686 ./.config
下面编译内核,产生最终的文件
fakeroot make-kpkg –initrd –revision=custom.1.0 kernel_image
最后一步:安装内核
dpkg -i /usr/src/linux-image-2.6.22.1_custom.1.0_i386.deb
最后,设定好grub 的 menu.lst ,你可以重启使用新内核了。