http://blog.csdn.net/ly21st http://ly21st.blog.chinaunix.net
分类: LINUX
2011-11-19 21:53:46
Linux开启FTP(vsftpd)服务
文章分类:操作系统
1. 查看是否安装
# rpm -qa | grep vsftpd
2. 全新安装
# rpm -ivh vsftpd-2.0.1-5.i386.rpm
3. 启动/停止/重启
# service vsftpd start
# service vsftpd stop
# service vsftpd restart
4. 主配置文件
# vi /etc/vsftpd.conf
# 匿名用户配置
anonymous_enable=YES # 是否允许匿名ftp,如否则选择NO
anon_upload_enable=YES # 匿名用户是否能上传
anon_mkdir_write_enable=YES # 匿名用户是否能创建目录
anon_other_write_enable=YES # 修改文件名和删除文件
# 本地用户配置
local_enable=YES # 是否允许本地用户登录
local_umask=022 # umask 默认755
write_enable=YES
chroot_local_user=YES # 本地用户禁锢在宿主目录中
chroot_list_enable=YES # 是否将系统用户限止在自己的home目录下
chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用户的列表
chown_upload=YES # 是否改变上传文件的属主
chown_username=username # 如果是需要输入一个系统用户名
userlist_enable=YES
userlist_deny=NO
deny_email_enable=YES # 是否允许禁止匿名用户使用某些邮件地址
banned_email_file=/etc/vsftpd.banned_emails # 禁止邮件地址的文件路径
ftpd_banner=Welcome to chenlf FTP service. # 定制欢迎信息
dirmessage_enable=YES # 是否显示目录说明文件, 需要收工创建.message文件
message_file= # 设置访问一个目录时获得的目录信息文件的文件名,默认是.message
xferlog_enable=YES # 是否记录ftp传输过程
xferlog_file=/var/log/vsftpd.log # ftp传输日志的路径和名字
xferlog_std_format=YES # 是否使用标准的ftp xferlog模式
ascii_upload_enable=YES # 是否使用ascii码方式上传文件
ascii_download_enable=YES # 是否使用ascii码方式下载文件
connect_from_port_20=YES # 是否确信端口传输来自20(ftp-data)
nopriv_user=ftpsecure # 运行vsftpd需要的非特权系统用户默认是nobody
async_abor_enable=YES # 是否允许运行特殊的ftp命令async ABOR.
# FTP服务器的资源限制
idle_session_timeout=600 # 设置session超时时间
data_connection_timeout=120 # 设置数据传输超时时间
max_clients=50 # 用户最大连接数 默认是0不限止
max_per_ip=5 # 每个IP地址最大连接数
anon_max_rate=102400 # 匿名的下载速度 KB
local_max_rate=102400 # 普通用户的下载速度 KB
5. 其他配置文件
/etc/xinetd.d/vsftpd
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/vsftpd
# server_args =
# log_on_success += DURATION USERID
# log_on_failure += USERID
nice = 10
disable = no
}
/etc/pam.d/vsftpd
PAM 认证
/etc/vsftpd.chroot_list
此文件包含对服务器上所有FTP内容有权限的用户名。对其他用户来说,他们在服务器上的主目录对他们显示为根目录。
/etc/shells
在允许本地用户登录之前,系统默认检查是否有有效的用户 shell。以防 PAM 认证不可用的情况。
/etc/ftpusers
此文件包含*禁止*FTP登录的用户名,通常有 "root", "uucp", "news" 之类,因为这些用户权限太高,登录 FTP 误操作危险性大。
6. 防火墙设置
如果是用默认的SuSEFirewall2,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2
把 ftp 添加到 FW_SERVICES_EXT_TCP,比如你还要打开 ssh 那么
FW_SERVICES_EXT_TCP "ftp ssh"
如果你需要被动模式 FTP 和 nat,在 YaST-系统-/etc/sysconfig 编辑器,network-SuSEfirewall2
FW_LOAD_MODULES "ip_conntrack_ftp ip_nat_ftp"
另一种方式直接修改防火墙配置文件:
# cd /etc/sysconfig/
# vi SuSEfirewall2
FW_SERVICES_EXT_TCP "ftp 21 telnet 23"
# rcSuSEfirewall2 restart
关于系统服务
系统服务在路径/etc/xinetd.d 下,
它是一个软连接
脚本rc.local在系统最后运行,用户可以在里面添加一些自定义服务。
检查系统系统服务是否启动,使用命令chkconfig
用法为:
添加库搜索路径
添加环境变量LD_LIBRARY_PATH,把环境变量添加到以下系统启动文件之一:
1)$HOME/.bash_profile ,当前用户有效
2) $HOME/.bashrc 当前用户有效
3) /etc/profile 或 /etc/bashrc 全局有效
4)/etc/ld.so.conf 全局有效
添加命令路径
添加环境变量PATH到以下路径之一
1)$HOME/.bash_profile ,当前用户有效
2) $HOME/.bashrc 当前用户有效
3) /etc/profile 或 /etc/bashrc 全局有效
注意
系统服务也可以用命令# setup 进行配置
启动telnet服务版本1如何开启Linux的telnet服务 开启ftp服务收藏
Telnet服务的配置步骤如下:
一、安装telnet软件包(通常要两个)
1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序;
2、 telnet-server ,这个软件包提供的是 telnet 服务器端程序;
安装之前先检测是否这些软件包已安装,方法如下:
[root@wljs root]#rpm –q telnet或[root@wljs root]#rpm –q telnet-client
[root@wljs root]#rpm –q telnet-server
如果没有检测到软件包,需要进行安装,red hat linux 9默认已安装了telnet软件包,一般只要安装telnet-server软件包。
1、在red hat linux 9的安装盘中获取telnet-server-0.17-25.i386.rpm软件包。
2、安装软件包
[root@wljs root]#rpm –i telnet-server-0.17-25.i386.rpm
注意 LINUX AS4 默认是没有安装telnet包的 ,安装包在第4张盘上 linux9是 默认安装的.
二、启动telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet前面*加上,然后按下 OK 。
方法二:编辑 /etc/xinetd.d/telnet
[root@wljs root]# vi /etc/xinetd.d/telnet
找到 disable = yes 将 yes 改成 no 。
2、激活服务
[root@wljs root]# service xinetd restart
三、测试服务
[root@wljs root]#telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
Password:
注:默认只允许普通用户
四、设置telnet端口
#vi /etc/services
进入编辑模式后查找telnet(vi编辑方式下输入/telnet)
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。
五、Telnet服务限制
telnet是明文传送口令和数据的,如果你对其默认的设置不满意,有必要对其服务范围进行限制。假设你的主机的ip是210.45.160.17,就可以按如下方式设置了,^_^!
#vi /etc/xinetd.d/telnet
service telnet
{
disable = no #激活 telnet 服务,no
bind = 210.45.160.17 #your ip
only_from = 210.45.0.0/16 #只允许 210.45.0.0 ~ 210.45.255.255 这个网段进入
only_from = .edu.cn #只有教育网才能进入!
no_access = 210.45.160.{115,116} #这两个ip不可登陆
access_times = 8:00-12:00 20:00-23:59 # 每天只有这两个时间段开放服务
......
}
六、Telnet root用户的登入
telnet 不是很安全,默认的情况之下不允许 root 以 telnet 进入 Linux 主机 。若要允许root用户登入,可用下列方法:
[root @wljs /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
[root@wljs root]# mv /etc/securetty /etc/securetty.bak
这样, root 就可以直接进入 Linux 主机了。不过,建议不要这样做。也可以在普通用户进入后,切换到root用户,拥有root的权限。
启动telnet 服务版本2
外一篇:
1。如果安装了telnet、telnet-server的rpm包,就跳到2。,否则安装这个包。
2。修改telnet服务配置文件
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
将disable=yes行前加#,或者改为disable=no
3。重新启动xinetd守护进程
由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd
[root@localhost root]#service xinetd restart
4。关闭系统的防火墙
linux系统默认的防火墙是“high”。
(方法:[root@localhost root]# setup
选择:“firewall configuration”
选择:security level——“no firewall”)
5。如果想允许root以telnet登入linux主机?因为 telnet 不是很安全,自然预设的情況之下就是无法允许 root 以 telnet 登入 Linux 主机!想要开放 root 以 telnet 登入 Linux 主机的话,可以这样做:
vi /etc/pam.d/login
在 auth required /lib/security/pam_securetty.so 这行前加 # ,即把这行注释掉就行啦!
开启ftp服务版本1
cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:
图1 开启ftp服务设置.
vi gssftp ,将 修改两项内容:
(1)server_args = -l –a 去掉-a 改为server_args = -l
(2)disable=yes改为disable=no
(3)保存退出。
service vsftpd start
开启vsftp服务版本2
一、vsftpd的启动
#service vsftpd start
如果允许用户匿名访问,需创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我们可根据实际数要对如下信息进行配置:
1. 连接选项
☆监听地址和控制端口
(1) listen_address=ip address
定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。
(2) listen_port=port_value
指定FTP服务器监听的端口号。默认值为21。
2. 性能与负载控制
☆超时选项
(1) idle_session_timeout=
空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s
(2) accept_timeout=numerical value
接受建立联机的超时设定。默认值为60s
☆负载选项
(1) max_clients= numerical value
定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。
(2) max_per_ip= numerical value
定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。
(3) anon_max_rate=value
设定匿名用户的最大数据传输速度,以B/s为单位。默认无。
(4) local_max_rate=value
设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。
3. 用户选项
vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)
☆ 匿名用户
(1) anonymous_enable=YES|NO
控制是否允许匿名用户登录
(2) ftp_username=
匿名用户使用的系统用户名。默认情况下,值为ftp
(3) no_anon_password= YES|NO
控制匿名用户登录时是否需要密码。
(4) anon_root=
设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。
(6) anon_upload_enable= YES|NO
控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。
(8) anon_other_write_enbale= YES|NO
控制匿名用户是否拥有除了上传和新建目录之外的其他权限。如删除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。
(10) chown_username=whoever
指定拥有匿名用户上传文件所有权的用户。
☆本地用户
(1) local_enable= YES|NO
控制vsftpd所在的系统的用户是否可以登录vsftpd。
(2) local_root=
定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。
☆虚拟用户
(1) guest_enable= YES|NO
启动此功能将所有匿名登入者都视为guest
(2) guest_username=
定义vsftpd的guest用户在系统中的用户名。
4. 安全措施
☆用户登录控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
☆目录访问控制
(1) chroot_list_enable= YES|NO
锁定某些用户在自己的目录中,而不可以转到系统的其他目录。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目录的用户的列表文件。
(3) chroot_local_users= YES|NO
将本地用户锁定在主目中。
三、vsftpd服务器的配置实例:
基于IP的虚拟FTP服务器配置
假设服务器有两个IP地址,192.168.1.199和192.168.1.200。vsftpd是建立在192.168.1.199上的。现在在192.168.1.200上再提供一个虚拟FTP服务器。
☆创建虚拟FTP服务器根目录
# mkdir –p /var/ftp2/pub
确保/var/ftp2和/var/ftp2/pub目录的所有者和组均为root,掩码为755
# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2 # chown –R : root /var/ftp2
☆ 增加虚拟FTP服务器的匿名用户帐号ftp2
# useradd –d /var/ftp2 –M ftp2
☆ 创建虚拟FTP服务器的配置文件
复制原来的vsftpd.conf作为虚拟FTP服务器的配置文件,并修改相关参数
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
添加或修改参数:
Listen=YES
Listen_address=192.168.1.200
ftp_username=ftp2
anon_root=/var/ftp2
并可参考vsftpd的配置部分的说明做其他配置,如:
?允许匿名用户上传文件
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
创建匿名用户上传文件的目录,并设置权限:
# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming
?取消写权限
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO
?限制下载速度为80KB/s
Anon_max_rate=8000
?控制并发数,以及每个IP地址的并发数
Max_clients=100
Max_per_ip=3
☆启动虚拟FTP服务器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf &
以root身份使用vsftpd 服务
☆用户登录控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
修改方法
把文件ftpusers 以及文件 user_list 中 用户 root 一行屏蔽掉,然后重启vsftpd服务即可
# service vsftpd restart
vsftpd学习文档
常用全局配置
listen=YES 是否以独立运行的方式监听服务
listen_port=21 设置监听FTP服务的端口号。
write_enable=YES 启用任何形式的写入权限(如上传、删除文件等)都需要开启此项。
download_enable=YES 是否允许下载文件(建立仅限于上传的FTP服务器时可将其设为NO)。
dirmessage_enable=YES 用户切换进入目录时显示.message文件(如果存在)的内容。
xferlog_enable=YES 启用xferlog日志,默认记录到/var/log/xferlog文件。
xferlog_std_format=YES 启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式。
connect_from_port_20=YES 允许服务器主动模式(从20端口建立数据连接)。
pasv_enable=YES 允许被动模式连接
pasv_max_port=24600 设置用于被动模式的服务器最大端口号
pasv_min_port=24500 设置用于被动模式的服务器最小端口号
pam_service_name=vsftpd 设置用于用户认证的PAM文件位置(/etc/pam.d/目录中对应的文件名)。
userlist_enable=YES 是否启用user_list用户列表文件。
userlist_deny=YES 是否禁止user_list列表文件中的用户帐号。
max_clients=0 最多允许多少个客户端同时连接(0为无限制)。
max_per_ip=0 对来自相同IP地址的客户端,最多允许多少个并发连接(0为无限制)。
常用的匿名FTP配置项
anonymous_enable=YES 是否允许匿名访问。
anon_umask=022 设置匿名用户所上传文件的默认权限掩码值。
anon_root=/var/ftp 设置匿名用户的FTP根目录(缺省为/var/ftp/)
anon_upload_enable=YES 是否允许匿名用户上传文件。
anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的写入权限。
anon_other_write_enable=YES 是否允许匿名用户有其他写入权限。如对文件改名、覆盖及删除文件
anon_max_rate=0 限制匿名用户的最大传输速率(0为无限制),单位为字节。
常用的本地FTP配置项
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的FTP根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)
构建基于虚拟用户的vsftpd服务器
1.建立虚拟FTP用户的帐号数据库文件
2.创建FTP根目录及虚拟用户映射的系统用户
3.建立支持虚拟用户的PAM认证文件
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户建立独立的配置文件
6.重新加载vsftpd配置
7.使用虚拟FTP账户访问测试
1.建立虚拟FTP用户的帐号数据库文件
[root@filesvr ~]# vi /etc/vsftpd/vusers.list
mike
123
john
456
[root@filesvr ~]# cd /etc/vsftpd/
[root@filesvr vsftpd]# db_load -T -t hash -f vusers.list vusers.db
[root@filesvr vsftpd]# file vusers.db
vusers.db: Berkeley DB (Hash, version 8, native byte-order)
[root@filesvr vsftpd]# chown 600 /etc/vsftpd/vusers.* //更加安全
2.创建FTP根目录及虚拟用户映射的系统用户
[root@filesvr ~]# mkdir /var/ftproot
[root@filesvr ~]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@filesvr ~]# chmod 755 /var/ftproot/
3.建立支持虚拟用户的PAM认证文件
[root@filesvr ~]# vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
4.在vsftpd.conf文件中添加支持配置
[root@filesvr ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_umask=022
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
5.为个别虚拟用户建立独立的配置文件
user_config_dir=/etc/vsftpd/vusers_dir //vsftpd.conf文件中添加用户配置目录支持
[root@filesvr ~]# mkdir /etc/vsftpd/vusers_dir/
[root@filesvr ~]# cd /etc/vsftpd/vusers_dir/
[root@filesvr vusers_dir]# touch mike
[root@filesvr vusers_dir]# vi john
anon_upload_enable=YES //john的相关权限
anon_mkdir_write_enable=YES
6.重新加载vsftpd配置
service vsftpd reload
7.使用虚拟FTP账户访问测试
开启linux下的telnet,ssh,VNC和ftp服务 开启telnet服务
安装Telnet软件包
通过rpm –qa telnet和rpm –qa telnet-server来检查时候安装了这两个包。一般默认情况下telnet的包是已经安装过的。在red hat linux 9的安装盘中获取telnet-server-0.17-25.i386.rpm软件包,来安装telnet-server软件包。
启动telnet服务
编辑 /etc/xinetd.d/telnet
[root@wljs root]# vi /etc/xinetd.d/telnet
找到 disable = yes 将 yes 改成 no
激活服务
[root@wljs root]# service xinetd restart
Telnet root用户的登入
[root@wljs root]# mv /etc/securetty /etc/securetty.bak
这样, root 就可以直接进入 Linux 主机了。
测试服务
telnet一下看一下能不能telnet上。
开启ftp服务cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:
vi gssftp ,将 修改两项内容:
(1)server_args = -l –a 去掉-a 改为server_args = -l
(2)disable=yes改为disable=no
(3)保存退出。
(4)通过service xinetd restart或cd /etc/rc.d/init.d/ 下通过[root@localhost init.d]# /sbin/service xinetd restart重新激活服务
开启ssh服务#ntsysv =>确认将sshd前面的勾已打上!
手工启动OpenSSH:
#service sshd start
开启VNC服务
1.从光盘中找出两个VNC的补丁包vnc与vnc-server
1.在Linux上启动VNC Server
执行vncserver命令:
2.[root@linux root]# vncserver
You will require a password to access your desktops.
Password: —-为了不想任何人都可以任意遥控此计算机。因此当第
Verify: —1次启动VNC server时,会要求设置网络遥控的密码。
New ‘X’ desktop is linux:1 —-一定要记住这一行稍后会用到。
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
经上述步骤后,便已启动了VNC Server。如果你想要更改VNC Server的密码,只要执行vncpasswd命令即可
2.进入我的Linux帐户(我用的是root),编辑主目录下的.vnc/xstartup为如下内容:
gnome桌面的配置文件如下:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
把后面的两句的#去掉变为:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
3.配置/etc/sysconfig/vncserver
变动的地方主要在这里:
# VNCSERVERS="2:myusername"
改变后的脚本是:
VNCSERVERS="1:root"
4.设置VNC服务随系统启动自动加载
使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成
开启xmanager功能rhel5与rhel4不同的地方是,rhel5裡没有/etc/X11/gdm/这个目录,rhel5的gdm的配置文件放在这裡/usr/share/gdm/defaults.conf,
在/usr/share/gdm/defaults.conf里的内容改为如下:
Enable=true
DisplaysPerHost=10
Port=177
AllowRemoteRoot=true
在/etc/inittab裡把默认级别改為5:
id:5:initdefault:
如果防火墙打开了,使用以下命令打开177端口:
iptables -A INPUT -p udp --dport 177 -j ACCEPT
用gdm-binary -daemon 启动, 177端口
Linux vsftpd的配置
root用户的ftp配置(fedora 13为例子)
vi打开/etc/vsftpd/ftpusers,用#号屏蔽掉root和nobody,,如下的效果。
#root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
#nobody
vi打开/etc/vsftpd/ user_list,用#号屏蔽掉root和nobody
#root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
#nobody
用命令启动ftp,service vsftpd start
就可以用root用户登录ftp了。
普通用户登录ftp
1)简介:
Vsftpd –very secure FTP daemon 非常安全的FTP守护进程。
注意:以下使用root用户操作
2)安装vsftpd服务
a.查看是否已安装vsftpd服务
rpm –q vsftpd
如果该服务已安装则会显示已安装vsftpd的版本号。
b.安装vsftpd
若未安装,则可先从网上下载.rpm安装包,然后使用以下命令安装它
rpm –ivh /path/vsftpd
(例:rpm –ivh /usr/local/vsftpd-2.0.5-12.e15.i386.rpm)
3)以下通过一个实例介绍vsftpd普通用户的配置,实验系统为centOS 5 .
以下是对配置文件中一些参数的说明:
centOS 下vsftp配置文件有三:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/ftpusers 该文件中的用户不允许访问ftp
/etc/vsftpd/user_list 视主配置文件中的user_deny而定,若为YES(默认)则拒绝访问,设为NO则允许访问。
配置要求:阻止root用户登录(系统默认,不用设置),阻止匿名用户登录,指定用户在指定目录上传下载。
步骤:
(1).关掉防火墙和selinux
进入文本模式设置工具,在其中找到防火墙配置,将其中的安全级别设为禁用,selinux也设为禁用。
(2).建立用户和指定用户并设密码
该示例为增加一个名为vsftpuser的用户,其目录为/home/vsftpuser.
(3).修改配置主文件
a.将anonymous_enable改为NO,阻止匿名上传。
b.去掉chroot_list_enable和chroot_list_file的注释阻止用户向上级切换目录。
c. ascii_upload_enable=YES 启用允许ASCII上传传输方式
ascii_download_enable=YES 启用允许 ASCII下载传输方式
(4).在/etc/vsftpd下建立chroot_list,加入vsftpuser使其只允许访问指定的目录。
(5).重启vsftpd
Service vsftpd restart
4)若要设置服务随系统启动
只需打开终端 ——>输入ntsysv命令——>在 弹出的窗口选中vsftpd服务即可。
5)附录:
Vsftpd.conf 的默认配置:
anonymous_enable=YES 允许匿名登录local_enable=YES 允许本地用户登录
write_enable=YES 开放本地用户写权限
local_umask=022 设置本地用户生成文件的掩码为022
#anon_upload_enable=YES 此项设置允许匿名用户上传文件
#anon_mkdir_write_enable=YES 开启匿名用户的写和创建目录的权限
dirmessage_enable=YES 当切换到目录时,显示该目录下的.message隐藏文件的内容
xferlog_enable=YES 激活上传和下载日志
connect_from_port_20=YES 启用FTP数据端口的连接请求
#chown_uploads=YES 是否具有上传权限. 用户由chown_username参数指定。
#chown_username=whoever 指定拥有上传文件权限的用户。此参数与chown_uploads联用。
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用标准的ftpd xferlog日志格式
#idle_session_timeout=600 此设置将在用户会话空闲10分钟后被中断
#data_connection_timeout=120 将在数据连接空闲2分钟后被中断
#ascii_upload_enable=YES 启用上传的ASCII传输方式
#ascii_download_enable=YES 启用下载的ASCII传输方式
#ftpd_banner=Welcome to blah FTP service 设置用户连接服务器后显示消息
#deny_email_enable=NO 此参数默认值为NO。当值为YES时,拒绝使用banned_email_file参数指定文件中所列出的e-mail地址用户登录。
#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒绝的e-mail地址的文件.
#chroot_list_enable=YES 设置本地用户登录后不能切换到自家目录以外的别的目录
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/
userlist_enable=YES 此项配置/etc/vsftpd.user_list中指定的用户也不能访问服务器,若添加userlist_deny=No,则仅仅/etc /vsftpd.user_list文件中的用户可以访问,其他用户都不可以访问服务器。如果 userlist_enable=NO,userlist_deny=YES,则指定使文件/etc/vsftpd.user_list中指定的用户不可以访问服务器,其他本地用户可以访问服务器。
listen=YES 指明VSFTPD以独立运行方式启动
tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers远程访问控制机制,默认值为YES