Category Archives: Linux

vsftp使用虚拟用户

1、安装vsftpd,mysql,libpam-mysql
2、创建用户ftpguest。属于nobody组。不允许登陆。默认主目录/data2/ftpguest。更改权限
chown ftpguest.nogroup /data2/ftpguest
3、配置mysql。
mysql -p
mysql>create database vsftpdvu;
mysql>use vsftpdvu;
mysql>create table users(name char(16) binary,passwd char(16) binary);
mysql>insert into users (name,passwd) values (‘xiaoli’,password(‘lixiao’));
mysql>quit
然后,授权vsftpdguest可以读vsftpdvu数据库的users表。执行以下命令:
mysql -u root mysql -p
mysql>grant select on vsftpdvu.users to vsftpdguest@localhost identified by ‘test’;
mysql>quit
如果要验证刚才的操作是否成功可以执行下面命令:
mysql -u vsftpdguest -ptest vsftpdvu
mysql>select * from users;
如果成功,将会列出xiaoli和加密后的密码
4、接下来,我们要设置vsftpd的PAM验证文件。打开/etc/pam.d/ftp文件,加入以下内容:
auth required pam_mysql.o user=ftpguest passwd=test host=localhost db=fvsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
account required pam_mysql.o user=ftpguest passwd=test host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2
  上面涉及到的参数,只要对应前面数据库的设置就可以明白它们的含义。这里需要说明的是crypt参数。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在数据库中;crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;crypt=2,口令经过MySQL的password()函数加密后保存。
5、设置VSFTPD配置文件
在/etc/vsftpd.conf文件中,加入以下选项:
guest_enable=YES
guest_username=ftpguest
6、网上说应该可以。可我不管怎么配置,都是530错误,不允许登陆。也就是密码错误。
继续研究中。。。

linux用户管理常用命令

1)管理用户(user)的工具或命令;
 
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;
 
2)管理用户组(group)的工具或命令;
 
groupadd 注:添加用户组;
groupdel 注:删除用户组;
groupmod 注:修改用户组信息
groups 注:显示用户所属的用户组
grpck
grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;
grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件;

增强无线功能 Linux新内核2.6.14发布

Linux最新内核版本2.6.14发布了。新版本的无线连接功能有了很大加强,内核集成了Wireless Extensions API 19版。
 
新内核还引入了两种虚拟文件系统。relayfs文件系统允许用户空间和内核之间的高速数据传输,而Securityfs则是一种安全模型专用的虚拟文件系统。
 
新版本的其他新功能还包括HostAP,FUSE,netlink connector,支持DCCP,PPTP,ppc64,numa-aware slab allocator,lock-free descriptor lookup等等。
 
目前为止Linux社区用户对新内核褒贬不一,某些用户声称他们的电脑无法在新内核下正常工作,稳定性也许不如之前的版本。他们表示Linux也许走上了和微软一样的道路:不断增加新功能,但却以稳定性下降为代价。而其他用户表示新版本一切正常。

ubuntu服务器安装指南

1、安装ssh
2、ssh服务器。执行sudo passwd root更改密码
3、设置本地local环境:
 sudo dpkg-reconfigure locales
确保 zh_CN.UTF-8 被选择,同时也默认local为 zh_CN.UTF-8
4、更改源sudo gedit /etc/apt/sources.list
添加deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com/ breezy main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com/ breezy-security main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com/ breezy-updates main restricted universe multiverse
注意最好保留原来的。
5、系统升级
sudo apt-get update
sudo apt-get dist-upgrade
6、安装apache2
sudo apt-get install apache2
安装完成后检查/var/www目录。
新建/***/**目录。用mount –bind /** /**将目录映射。删除apache2-default 目录
8、安装mysql
sudo apt-get install mysql-server
9、安装php5
sudo apt-get install php5
sudo apt-get install php5-gd
sudo apt-get install php5-mysql
10、配置php5
 
sudo nano /etc/php5/apache2/php.ini
修改允许最大使用内存,查找
memory_limit = 8M修改为memory_limit = 200M
修改允许最大上传尺寸,查找upload_max_filesize = 2M修改为upload_max_filesize = 10M
允许 mysql 和 gd 模块,检查文件最后是否包含下面的代码,如果没有添加上。(默认是在配置文件最后有添加的,检查一下以防万一)
extension=mysql.soextension=gd.so保存并关闭文件。
11、安装webmin。
更改/etc/webmin/miniserv.conf中的端口,同时允许其他人访问
不要忘记restart阿。。。
安装webmin的其他组件。按照需要安装。可以用apt-get install webmin-*来查看有什么包
我安装的有webmin-sshd webmin-core webmin-wuftpd webmin-usermin webmin-firewall webmin-inetd webmin-mysql
12、安装phpmyadmin。同时登陆修改root密码
13、修改apache2的默认主目录。在ubuntu上的位置为/etc/apache2/sites-available/ ,其中的default文件

如何用鼠标右按钮直接以 Root 身份开启文件?

gedit $HOME/.gnome2/nautilus-scripts/Open as root

# 在新增的文件内加入下面这几行

for uri in $NAUTILUS_SCRIPT_SELECTED_URIS; do
    gnome-sudo "gnome-open $uri" &
done

# 保存编辑过的文件 (范例)
#

chmod +x $HOME/.gnome2/nautilus-scripts/Open as root

#

鼠标右按钮点击文件 -> Scripts -> Open as root

DNS服务的建立

首先安装BIND套件 

代码: 
sudo apt-get install bind 

这时在/etc/bind下会出现(这里跟其他的UNIX/LINUX不同,一般其他的UNIX/LINUX默认是把配置文件放 

在/etc/named下,数据文件放在/var/named或/var/bind下的,而UBUNTU都一起放在这个目录下了) 

db.0 db.255 db.root named.conf.local 
db.127 db.local named.conf named.conf.options 

其中named.conf为主配置文件,named.conf.local和named.conf.options这两个文件在其他的UNIX/LINUX 

系统里默认是没有的,UBUNTU的这种想法很不错,把各个部分都分开管理;其余的部分都是默认生成的几 

个数据文件。这里需要稍微讲一下区数据文件里的几个资源记录的含义: 

SOA记录:指示该区的权威 
NS记录:列出该区的一个名字服务器 
A记录:名字到地址的映射 (也就是正向解析) 
PTR记录:地址到名字的映射 (也就是反向解析) 
CNAME:规范名字 (别名记录) 

下面开始服务配置 
缓存域名服务器设置 (Cache-only server) 
缓存域名服务器顾名思义其自身是没有域名记录的,仅仅从别的DNS上获取记录并做高速缓存。 
安装好DNS服务后,不需要任何配置,只需要把服务起起来就是缓存域名服务器了。 

代码: 
sudo /etc/init.d/bind start 

主DNS配置 
安装好DNS后,配置named.conf.local,如下例: 
代码: 

zone "163.com" { 
        type master; 
        file "/etc/bind/db.163.com"; 
}; 

zone "sohu.com" { 
        type master; 
        file "/etc/bind/db.sohu.com"; 
}; 

zone "sina.com" { 
        type master; 
        file "/etc/bind/db.sina.com"; 
}; 

… 

 

保存配置,然后再创建相对应的数据文件,如上例163.com的数据文件如下: 
代码: 

//db.163.com的配置文件 
$TTL 86400 
@           IN  SOA     dns.163.com  root.dns.163.com. ( 
                                2005092001 ; serial 
                                28800 ; refresh 
                                7200 ; retry 
                                604800 ; expire 
                                86400 ; ttl 
                                ) 
@           IN  NS      dns.163.com 
@           IN  MX      10      mail.163.com. 

dns         IN  A       111.111.111.111 
www       IN   A   222.222.222.222 
xxx       IN   A   333.333.333.333 
mail       IN   CNAME   xxx 
… 

 

保存,重启BIND服务就OK了 

从DNS的配置 
从DNS的配置和主DNS配置很像,只不过不需要建立数据文件,只需要指定数据文件存放位置就可以了 
代码: 

zone "163.com" { 
        type slave; 
        file "/etc/bind/db.163.com"; 
   masters { 
       111.111.111.111; //主DNS的地址 
      }; 
}; 

zone "sohu.com" { 
        type slave; 
        file "/etc/bind/db.sohu.com"; 
   masters { 
       111.111.111.111; //主DNS的地址 
      }; 
}; 

zone "sina.com" { 
        type slave; 
        file "/etc/bind/db.sina.com"; 
   masters { 
       111.111.111.111; //主DNS的地址 
      }; 
}; 

… 

 

保存配置,重启服务。 
BIND9里的还有很多其它的功能选项,大家慢慢消化吧!