vsftpd使用方法小结、Linux安装JDK出现“NoClassDefFoundError: /Object”的解决方案、ubuntu 12.04安装jdk

来源:互联网 发布:edius for mac 编辑:程序博客网 时间:2024/05/17 02:22
vsftpd使用方法小结
 

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris,HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。比如:

  • 非常高的安全性需求
  • 带宽限制
  • 良好的可伸缩性
  • 创建虚拟用户的可能性
  • IPv6支持
  • 中等偏上的性能
  • 分配虚拟 IP 的可能性
  • 高速
vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

一个例子就是 vsftpd 是在 chroot 模式下工作的,chroot 模式就是为程序(这里就是 vsftpd了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了 --- 所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的FTP 服务器将被从系统的其他部分独立开来,从而避免了更大的损失。

由于有了如此多的特性,其中 FTP 服务的安全性应该是最重要的,vsftpd 比其他 FTP 服务器更加优越。

1.安装vsftpd 
直接从源里面安装,easy 

代码:
sudo apt-get install vsftpd

安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
如果没有生成这个用户的话可以手动来,生成了就不用了:
代码:
sudo useradd -m ftp
sudo passwd ftp

有"ftp"帐户后还要更改权限
代码:
sudo chmod 777 /srv/ftp(注意:原日志是这么写的,但是这句执行之后会有错误。应该是
sudo chmod 755 /srv/ftp)

在这个目录下我建立一个文件夹专门保存需要共享的内容

2.配置文件
通过sudo gedit /etc/vsftpd.conf修改。
配置文件如下:
代码:
# cat /etc/vsftpd.conf
# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
# 注销语句以 xinetd 方式运行
listen=YES
# 上传总开关(全局控制)
write_enable=YES
# 接受匿名用户,默认无密码请求
anonymous_enable=YES
# 接受本地用户
local_enable=YES
# 本地用户上传文件(包括目录)的 umask
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
local_umask=022
# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的600,用户上传的文件不提供给任何匿名用户下载
anon_upload_enable=YES
# 匿名用户上传文件(包括目录)的 umask
# 注意点同 local_umask
anon_umask=022
# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小
anon_mkdir_write_enable=YES
# 允许匿名用户删除/重命名文件等操作
#anon_other_write_enable=YES
# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
dirmessage_enable=YES
# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file选项修改
xferlog_enable=YES
# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES
# 改变用户上传文件的所有者
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
# 日志使用标准 xferlog 格式
#xferlog_std_format=YES
# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600
# login 时的欢迎信息
ftpd_banner=Welcome to feifei FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被
# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
chroot_local_user=YES
# 设置为 YES 则下面的控制有效
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
local_root=/srv/ftp

对了,更改配置后不要忘了重启ftp服务  
代码:
sudo /etc/init.d/vsftpd restart

此外还有开启关闭服务的命令
代码:
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop

这样,就可以使用电脑的IP地址登陆这个ftp服务器了。

 

vsftpd我用了比较长的一段时间,感觉非常稳定,安全性高,就推荐给大家,给大家写点有关限制方面的文章。请看下文介绍!

一、如何让vsFTP服务器限制链接数,以及每个IP最大的链接数?

应该改vsFTPd服务器的配制文件vsftpd.conf,加入下面的两行:

max_clients=数字

max_per_ip=数字

举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行:

max_clients=100

max_per_ip=5

改好了配制文件,不要忘记启动vsftp服务器。

二、如何限制传输速度?

anon_max_rate=数字

注:这是匿名的速度

local_max_rate=数字

注:这是vsFTP服务器上本地用户的速度

注:这个数字的单位是bit,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以100KB下载,所以这个数字应该是1024x100=102400

所以我们要在vsftpd.conf中加入下面的两行

anon_max_rate=102400

local_max_rate=102400

通过阅读上面的文章,我们不难看出vsftpd有许多小技巧,限制传输速度和链接点数是非常实用的功能,希望对你们有帮助!
vi的常用命令
 1、vi的基本概念

  基本上vi可以分为三种状态:

   分别是命令模式(command mode)

   插入模式(Insertmode)

   底行模式(last line mode)

1) 命令行模式command mode)

   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

2) 插入模式(Insert mode)

  "i","a","o","r"
   只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)

  命令模式下按":"
   3,1>:/'查找字符' n  或者 :?'查找字符' n
   3,2>:set nu 显示行号
   3,3>:q!(退出不保存),:wq(保存并退出)

2、vi的基本操作

   a) 进入vi

      # vi mynewfile.txt   

   b) 切换至插入模式(Insert mode)编辑文件  
    
      
"i","a","o","r"

   c) Insert 的切换

    从当前插入模式切换到命令行模式按[ESC]即可

   d) 退出vi及保存文件

   : w filename (输入 「w filename」将文章以指定的文件名filename保存)
   : wq (输入「wq」,存盘并退出vi)
   : q! (输入q!, 不存盘强制退出vi)

3、命令行模式(command mode)功能键

1). 插入模式

  按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位
置开始输入文件;

  按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

  按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

2). 从插入模式切换为命令行模式

  按「ESC」键。

3). 移动光标

  vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「
j」、「k」、「l」,分别控制光标左、下、上、右移一格。

  按「ctrl」+「b」:屏幕往“后”移动一页。

  按「ctrl」+「f」:屏幕往“前”移动一页。

  按「ctrl」+「u」:屏幕往“后”移动半页。

  按「ctrl」+「d」:屏幕往“前”移动半页。

  按数字「0」:移到文章的开头。

  按「G」:移动到文章的最后。

  按「$」:移动到光标所在行的“行尾”。

  按「^」:移动到光标所在行的“行首”

  按「w」:光标跳到下个字的开头

  按「e」:光标跳到下个字的字尾

  按「b」:光标回到上个字的开头

  按「#l」:光标移到该行的第#个位置,如:5l,56l。

4). 删除文字

  「x」:每按一次,删除光标所在位置的“后面”一个字符。

  「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

  「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

  「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

  「dd」:删除光标所在行。

  「#dd」:从光标所在行开始删除#行

5). 复制

  「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

  「#yw」:复制#个字到缓冲区

  「yy」:复制光标所在行到缓冲区。

  「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

  「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都
必须与“p”配合才能完成复制与粘贴功能。

6). 替换

  「r」:替换光标所在处的字符。

  「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

7). 回复上一次操作

  「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”
可以执行多次回复。

8). 更改

  「cw」:更改光标所在处的字到字尾处

  「c#w」:例如,「c3w」表示更改3个字

9). 跳至指定的行

  「ctrl」+「g」列出光标所在行的行号。

  「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

4、Last line mode下命令简介
  在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command m
ode」下后,再按「:」冒号即可进入「last line mode」。

A) 列出行号

 「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

B) 跳到文件中的某一行

 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,
如输入数字15,再回车,就会跳到文章的第15行。

C) 查找字符

 「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想
要的,可以一直按「n」会往后寻找到您要的关键字为止。

 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想
要的,可以一直按「n」会往前寻找到您要的关键字为止。

D) 保存文件

 「w」:在冒号输入字母「w」就可以将文件保存起来。

E) 离开vi

 「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。


 「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。


5、vi命令列表
1、下表列出命令模式下的一些键的功能:

h
左移光标一个字符

l
右移光标一个字符

k
光标上移一行

j
光标下移一行

^
光标移动至行首

0
数字“0”,光标移至文章的开头

G
光标移至文章的最后

$
光标移动至行尾

Ctrl+f
向前翻屏

Ctrl+b
向后翻屏

Ctrl+d
向前翻半屏

Ctrl+u
向后翻半屏

i
在光标位置前插入字符

a
在光标所在位置的后一个字符开始增加

o
插入新的一行,从行首开始输入

ESC
从输入状态退至命令状态

x
删除光标后面的字符

#x
删除光标后的#个字符

X
(大写X),删除光标前面的字符

#X
删除光标前面的#个字符

dd
删除光标所在的行

#dd
删除从光标所在行数的#行

yw
复制光标所在位置的一个字

#yw
复制光标所在位置的#个字

yy
复制光标所在位置的一行

#yy
复制从光标所在行数的#行

p
粘贴

u
取消操作

cw
更改光标所在位置的一个字

#cw
更改光标所在位置的#个字


2、下表列出行命令模式下的一些指令
w filename
储存正在编辑的文件为filename

wq filename
储存正在编辑的文件为filename,并退出vi

q!
放弃所有修改,退出vi

set nu
显示行号

/或?
查找,在/后输入要查找的内容

n
与/或?一起使用,如果查找的内容不是想要找的关键字,按n或向后(与/联用)或向前(
与?联用)继续查找,直到找到为止。


对于第一次用vi,有几点注意要提醒一下:
1、用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(
Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一
下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了

2、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC
」键。
3、保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)
Linux安装JDK出现“NoClassDefFoundError: /Object”的解决方案
 

在RedHat Linux上安装jdk出现了一个莫名的错误

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

辛苦google了一个小时,终于找到了解决方案

首先要确认的是环境变量的设置是否正确

相信大家都是很细心的,这方面如果有错误也会很容易发现

然而还有一个隐蔽的地方也会产生上述的错误

就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式

如果发现rt.pack 和 tools.pack 那么多半问题就出在这里

解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar

可以使用bin里面的unpack200工具

如:unpack200 rt.pack rt.jar

解压后java -version应该就没有问题了~~

ps:在SUSE Linux上也同样可以处理这样的问题。
ubuntu 12.04安装jdk
 
在安装之前,系统没有任何jdk软件,也就是说在终端执行

  1. java -version
将会输出如下内容:

  1. root@haiyang-Aspire:~# java -version
  2. 程序 'java' 已包含在下列软件包中:
  3.  * default-jre
  4.  * gcj-4.6-jre-headless
  5.  * openjdk-6-jre-headless
  6.  * gcj-4.5-jre-headless
  7.  * openjdk-7-jre-headless
  8. 请尝试:apt-get install <选定的软件包>
先去 Oracle下载Linux下的JDK压缩包,http://www.oracle.com/technetwork/java/javase/downloads/index.html,下好后直接解压。

进入在存放jdk文件夹的当前目录,将解压好的jdk1.7.0_10文件夹用最高权限复移动到/usr/lib/jvm目录里,此时即使没有jvm目录也可以执行如下命令,jvm文件夹将得到创建。

  1. sudo mv jdk1.7.0_10 /usr/lib/jvm/
接下来需要设置环境变量,进入当前用户名的主文件夹,修改.profile文件。注意,该文件是当前用户的配置文件,如果要对使用计算机的所有用户生效,那么需要设置的文件应该是 /etc/profile。

  1. sudo gedit ~/.profile
在末尾加上:

  1. export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_10
  2. export JRE_HOME=/usr/lib/jvm/jdk1.7.0_10/jre 
  3. export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

  4. export PATH=$JAVA_HOME/bin:$PATH
然后保存关闭,此时在命令行输入java -version将会仍然显示java没有安装。此时,需要使用source更新下.profile文件:

  1. $ source ~/.profile
再次使用java -version命令可以看到如下输出:

  1. haiyang@haiyang-ubuntu:~$ java -version
  2. java version "1.7.0_10"
  3. Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
  4. Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)
到此,已经将oracle jdk配置完成。如果之前系统里面已经安装了openjdk,可以使用如下方法将默认jdk更改过来:

将系统默认的jdk修改过来

  1. $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_10/bin/java 300
输入sun jdk前的数字就好了

  1. $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_10/bin/javac 300
  1. $ sudo update-alternatives --config java 
  2. $ sudo update-alternatives --config javac
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 老师骂了我,我该怎么办 我的牙齿很难看怎么办 门牙摔了个缺怎么办 鱼身上鱼鳞烂了怎么办 鱼身上发白烂了怎么办 养的鱼身上烂了怎么办 婴儿被蚊虫咬了怎么办 在野外被蚂蚁咬怎么办 娱乐之太帅了怎么办 鞋舌头歪没有孔怎么办 万一吃了母猪肉怎么办 我的手机丢了怎么办 欠了赌债还不起怎么办 车库门前被堵了怎么办 别人车停我车位怎么办 怎么办能防止锁眼被堵 别人堵着我车了怎么办 马桶被排骨堵了怎么办 马桶被刷子堵了怎么办 屎太大马桶堵了怎么办 大便硬马桶堵了怎么办 马桶让大便堵了怎么办 出了月子奶水少怎么办 木瓜没熟切开了怎么办 小孩被蚊虫叮咬红肿怎么办 下巴歪导致脸歪怎么办 全民k歌有杂音怎么办 录歌换气声很大怎么办 网易云没有的歌怎么办 qq空间给封了怎么办 酒店住最后一间怎么办 妻子起诉离婚丈夫不离怎么办 老婆对我没感情怎么办 老婆要跟我离婚怎么办 眼睛里进了沙子怎么办 耳塞孔进沙子了怎么办 斜挎包链子长了怎么办 爱上大15岁大叔怎么办 老板不给发工资怎么办 4个月婴儿感冒了怎么办 9个月宝宝感冒了怎么办