'Linux' 的分类存档

一步一步来做 vsftpd 设置(第二部分)

这是 一步一步来做 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安装完第一次启动时,通常发现无法登录,因为它对相关权限要求很严格,我们要小心检查设定。

安装完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

如果要实现匿名上传,要做两件事,

  • 第一,要配制文件中加入以下两句,注意第一句也是必要的。

    write_enable=YES
    anon_upload_enable=YES

  • 第二,在你的ftp根目录下建一个目录,权限设为匿名用户可写:

    chmod 777 /home/ftp/guest

  • 另建目录的原因是根目录是755,不可能让匿名用户写入

再进一步,让匿名用户可以自建文件夹,在配制文件中启用:

anon_mkdir_write_enable=YES

建好的目录是不能更改的,如果要让目录可以更改(重命名),请再加入下一句:

anon_other_write_enable=YES

现在说说 anon_world_readable_only,这个选项网上一些教程和我的理解不同,这个选项默认是yes, 意思是是否只让匿名用户读取那些“全局范围可读”的文件。如果有人上传了文件,这个文件通常是不会让匿名用户可读的[实际上是指下载],匿名用户自已上传的文件也是一样无法下载。有三个方法使这个文件能让匿名用户读取(下载),

  • 上传好后改文件权限。
  • 将 anon_world_readable_only 设为 NO , 为了安全,最好不要这样做
  • 设定anon_umask为022(默认是077),然后再上传文件,这个较常用

匿名用户设定讲完了,第一部分也就完成了,第二部分是本地用户设定。

fcitx 输入法优化

Linux 下面最好的输入法就是 fcitx ,它支持有多个输入方法,比如二笔、仓颉,我只用五笔和拼音,从拼音切换到五笔时,要按三四次键盘,去掉不用的那些码表,五笔到拼音之间的切换换会更迅速。
修改/usr/share/fcitx/data/tables.conf 这个文件可以达到目的。这个文件用的是gb2312编码,vi 和 gedit下都可能显示乱码。
可以在控制台下更改”locale”为zh_CN.gb2312, 然后再用gedit打开。用“#”号注销不用的码表。保存后重启你的fcitx.
现在只有拼音和五笔,切换起来得心应手了。

在自已编译的内核上,安装vmware

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 上编译自已的内核

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 ,你可以重启使用新内核了。

必备的 Linux 命令(不断添加)

  • 文件查找:
    • find /etc -name vsftpd.conf
    • whereis fdisk
    • which fdisk
    • 查看/var/log/message 文件,并查找5月8号的日志:
      cat /var/log/messages |grep ‘May 8′ |more
    • 在ls -lh 的输出结果中,查看带有04-27字样的行:
      ls -lh |grep ‘04-27′ |more
  • 用户查询:
    • id username
    • finger -lp beinan
    • w
    • who
    • users
  • 进程:
    • pgrep -l httpd
    • pkill httpd
    • kill -9 5031
    • ps aux 或 ps lax
    • top > mytop.txt
    • nice -n 谦让度的增量值 程序
    • renice 谦让度 PID
    • chkconfig –level 35 httpd on
    • smbclient //IP地址/共享文件夹 -U 用户
  • 网络命令
    • netstat -tlnp |grep smb