彻底清除终端输入命令的历史记录 

我想大家应该可能和我一样有这么一个烦恼,就是自己在终端(console)中输入的命令会被无情的纪录下来.

虽然我们可以使用 history -c 命令去短暂的清理掉它们,不过下次打开终端的时候,它们又会无情的出现.虽然这并不是什么大的毛病.不过对于我这个有着"洁癖"的人来讲,我真的是不能忍受.

一次偶然的机会,我在用户目录下发现了 .bash_history 文件,打开一看,原来是它记录我在终端键入的每一个命令.于是解决方案来了


sharljimhtsin@sharl-laptop:~$ cd ~
sharljimhtsin@sharl-laptop:~$ ls --all .bash*
.bash_history .bash_logout .bashrc
sharljimhtsin@sharl-laptop:~$ cat .bash_history
exit
ls
filezilla
firefox
clear
sudo -i
ls
clear
ls
ls -all
clear
sudo aptitude autoclean
sudo aptitude clean
clear
sudo aptitude
clear
ls --all
clear
ls --all .bash*
clear
exit
sharljimhtsin@sharl-laptop:~$


接下来清空该文件,或者直接删除,再新建一个.

然后就清静啦,哈哈
[ ] ( 2101 次浏览 ) 永久链接 ( 3 / 2848 )
转换gnome到kde 

由于我的gnome桌面的gvfs出了一些问题,导致插入可移动设备后不会自动挂载.必须要手动mount.

更可气的是连回收站(trash),网络邻居(network)这些也都统统出现了问题,不能访问了.
看来nautilus也挂了.

在多方请教高手无果后,我便决定放弃gnome桌面,转用kde.

安装kde,进入终端 输入 sudo apt-get install kubuntu-desktop 即可.

之后便是一些设置.

重启后便可选择kde环境.

接下来就是彻底的卸载gnome,就是把gnome 套件下的所有软件都干掉,比如什么 gedit,gimp,gtk+ 呀.

输入 sudo apt-get purge liborbit2 即可.

此外如果你已安装了ubuntu-tweak的话,也会一道被卸载掉.

不过说实话,在kde下面 ubuntu-tweak 的功能真的是少得可怜.不用也罢
用aptitude 和它差不多.
[ ] ( 2571 次浏览 ) 永久链接 ( 3 / 3043 )
编译安装 mysql 5.5.0 m2 通过 

由于我自己的ubuntu 系统一直没有搭建LAMP,而最近我一直比较看重的Centos VPS被端掉以后.我便开始转向于我的本机了.

由于昨天一不小心,把系统自带的network-manager卸载掉了,导致连不上网.今天从别的电脑里下载了network-manager,ppp,pppoe-config 的deb 包,传到系统里才解决了这个问题....

废话不说了,电脑好了后,下载了mysql最新的版本 mysql-5.5.0-m2.

解压,我的configure:

It was created by configure, which was
generated by GNU Autoconf 2.63. Invocation command line was

$ ./configure --prefix=/usr/local/mysql --enable-assembler --enable-profiling --with-charset=utf8 --with-extra-charsets=all --with-system-type --with-machine-type --with-server-suffix --with-mysqld-user=mysql --with-zlib-dir=bundled --with-error-inject --with-comment --with-big-tables --with-embedded-server --with-embedded-privilege-control

一次通过,没有缺依赖.

而后,make 编译,最后 make install 安装.

安装好了后,要创建 mysql专用的用户和组,如 mysql. (因为我是第一次安装)
shell> groupadd mysql
shell> useradd -g mysql mysql
而后创建软链接到 /usr/bin
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql

之后创建测试数据库,表
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql (由于我是自定义的prefix)
shell> chown -R root .
shell> chown -R mysql data

完事后,进入mysql 源码文件夹,进入 support-files 文件夹,按情况复制
my-large/medium/small.cnf 配置文件到 /etc 下.

PS:我的ubuntu自带了这个文件在 /etc/mysql 下

一切ok后,启动数据库
shell> bin/mysqld_safe --user=mysql & (密码初始为空)
[ ] ( 2722 次浏览 ) 永久链接 ( 2.9 / 2978 )
本站恢复访问 

由于之前的ISP和工信部的河蟹原因,本站点中断了一段时间。

今天终于把数据转移到国外空间上来了,即日恢复访问.
[ ] ( 161543 次浏览 ) 永久链接 ( 3.1 / 2812 )
编译安装 vsftpd + pam-mysql 管理虚拟用户 

鉴于pureftpd最近不稳定的发布新版本,我觉得应该更换一个更加安全的ftp服务端。

于是,vsftpd 出现了。之所以选择它是因为

1.它的名字比较安全 2.像 openbsd.org,redhat,gnu.org等都在用它,应该错不了.

于是下载了vsftpd最新版本 2.2.2.解压

编译vsftpd是一件很easy的事情,因为作者Chris已经提供了现成的makefile了,不存在依赖问题了,你只要make一下即可.

不过在编译之前,你得根据自己的需求,编辑一下builddefs.h文件,把你需要编译进来的功能定义进来。就是把#undef 改成 #define 即可(切忌不要和我一样想当然,认为是把前面的"#"删掉... 囧rz)

比如我待会要用到pam验证,所以改成 #define VSF_BUILD_PAM。

接下来make install,完了之后把需要的配置文件(源码提供的配置样式)拷过来.


cp vsftpd /usr/local/sbin/vsftpd
cp vsftpd.conf /etc
cp RedHat/vsftpd.pam /etc/pam.d/ftp

vsftpd.conf 的具体配置可以参见官方提供的doc:
http://vsftpd.beasts.org/vsftpd_conf.html

现在敲命令"vsftpd &",已经可以正常启动vsftpd了,只不过login failure罢了,因为没有用户.

至此看来,vsftpd的确是比pureftpd方便,不过现在的认为是大错特错了。
因为pureftpd 自带了与时下流行的跨平台数据库,如mysql、postgresql、oracle等的桥接.
只要编译时带个 --with-mysql 之类的参数,而后再编辑一个pureftpd-mysql.conf就可以了.

但是vsftpd却是通过pam去验证用户的.
首先安装pam-devel(我已经有了).
yum install pam-devel 即可.

下载pam-mysql源码,解压
我的configure:

It was created by pam_mysql configure 0.7RC1, which was
generated by GNU Autoconf 2.59. Invocation command line was

$ ./configure --prefix=/usr/local/pam --with-mysql=/usr/local/mysql

完成后, ls -l /lib/security/ ,看看有没有 pam_mysql.so 文件.

而后编辑之前拷来的 /etc/pam.d/ftp 文件,
"#"注掉里面所有内容,加入

auth required pam_mysql.so user=USER passwd=PASSWD host=localhost db=DATABASE table=TABLE usercolumn=USERNAME passwdcolumn=PASSWORD crypt=2

account required pam_mysql.so user=USER passwd=PASSWD host=localhost db=DATABASE table=TABLE usercolumn=USERNAME passwdcolumn=PASSWORD crypt=2

这些都是指定哪个用户,密码是什么,它通过pam-mysql去查询哪个数据库的哪张表的哪些字段,ftp用户的用户名和密码对应的哪两个字段等.
当然,这些数据库,表都得事先建好.并给你指定的用户授权一下。
大写内容如 USER 等根据实际更改.crypt=2 表示用mysql自带的PASSWORD()函数加密, 0 表示明文存放.

此时编辑 /etc/vsftpd.conf,找到pam_service_name=字段(没有就自己加),赋值给刚刚修改pam的文件名 vsftpd.

之后重启vsftpd,按照你数据里面插入的用户数据便可成功登录ftp.

PS:在建用户表的时候,密码字段(varchar)一定要设置长一点,我当时就是设了40,谁知道mysql PASSWORD()函数加密后有50位,害得我总是登录不了。郁闷了好长时间.

vsftpd的确是一个很强大的ftp服务端,只要你配置vsftpd.conf得当,它的能力是不可估量的。
具体配置可以参见官方提供的doc:
http://vsftpd.beasts.org/vsftpd_conf.html
[ ] ( 2381 次浏览 ) 永久链接 ( 3 / 2823 )

<< <上一页 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 下一页> >>