标签 Unix 下的文章

尘封12年之后,SCO起诉IBM滥用开源代码的官司重新被犹他州联邦法庭开案审理。早在2003年,SCO这家犹他州软件企业向蓝色巨人提出了高达50亿美金的赔偿述求。近12年后,两家公司联合向盐湖城地区法院提出裁决申请,这意味着地区法官大卫纳福尔必须要重启此案。

根据 SCO 提出的诉讼,IBM 当时盗用了 SCO 所拥有的 UNIX 操作系统代码去支持新兴的 Linux 开源社区,从而给 UNIX 带来了一个强大的竞争对手。不过,对于 SCO 声称的大公司在应用 Linux 开源代码时必须使用 IBM 提供的 SCO 代码,开源社区普遍并不认可。

SCO 目前的控制人爱德华科恩表示,能够再次推进本案对 SCO 公司非常重要。在2007年相对不利的法院决议后,SCO 公司申请了破产保护,前联邦法官爱德华科恩被指定为 SCO 的受托人,他现在希望大卫纳福尔尽快确定开庭时间。而 IBM 则表示,在开庭时间确认之前,希望大卫纳福尔能够先明确该公司是否可以先搁置 SCO 对IBM的其它起诉——除了起诉IBM盗用其代码之外,SCO 还控诉 IBM 的高层和律师曾在接到 SCO 的起诉后示意其工程师删除计算机上的代码。此外,SCO 还认为 IBM 涉嫌不正当竞争。

其实,IBM 也曾起诉 SCO ,认为该公司曾违反协议,盗用和传播了 Linux 中 IBM 提供的部分代码。而且,SCO 还专门针对 IBM 的产品和服务发起过一场名为“恐惧、不确定和怀疑”的运动。不过,IBM 还没有声明是否会重启对 SCO 的这些诉讼。

2004年的时候,SCO 曾提起对 Novell 的一个类似诉讼,当时 Novell 宣布它拥有 UNIX 系统的知识产权,而 SCO 只是被授权使用。2010年,法院裁决 Novell 拥有1995年12月之前的 UNIX 知识产权,而 SCO 则拥有之后 UNIX 系统后续开发的知识产权。这个裁决也使得 SCO 对 IBM 的一些起诉变得其实毫无意义。之后,UNIX 在 SCO 的破产保护案中作为资产被售卖给了其他公司,不过 SCO 申请破产保护的案子还没有尘埃落定,而它现在唯一的事情就是推动与 IBM 的官司。

大多数操作系统可以被划分到两个不同的家族。除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix。

Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的各种固件,所有这些操作系统通常都被称为“类Unix”操作系统。

Unix的设计现在都还在应用

Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中。最初发布的Unix中的一些重要设计因素到如今都还在使用。

其中一个设计是“Unix哲学”,建立小的模块化的应用,只做一件事情并把它做好。如果你对Linux终端很熟悉的话,应该对这个不陌生-系统提供了大量的应用,可以通过管道或其他特性形成不同的组合来完成更复杂的任务。甚至图形界面程序也经常会在后台调用更简单的应用去做比较耗时的任务。这种模式也让建立终端脚本更为简单,通过文本把一些简单工具结合起来去做复杂的事情。

Unix还设计了一个单一的文件系统,程序可以通过它互相通讯。这也是为什么在Linux里说“一切都是文件”-包括硬件设备文件,和提供系统信息及其他数据的特殊文件。这也是为什么只有Windows系统中才有磁盘盘符,这是从DOS继承过来的-在其他操作系统中,所有文件都是一个单一目录结构中的一部分。

那些从Unix派生出的系统

类似任何可以往前追溯40年的历史,Unix的历史和它的派生系统一片混乱。为了简单,我们把Unix的派生系统大致分成两组。

一组Unix派生系统是学术界开发的。

首先是BSD(伯克利软件发布版),一个开源的类Unix操作系统。BSD如今还存在于FreeBSD,NetBSD和OpenBSD等系统中。NeXTStep基于最初版的BSD开发,苹果的Mac OS X基于NeXTStep,iOS基于Mac OS X。许多其他操作系统,包括运行在PlayStation 4上的Orbis OS,也源于各种BSD操作系统。

Richard Stallman建立GNU项目的目的是为了反对AT&T的Unix软件协议条款日渐严格的限制。MINIX是一个类Unix操作系统,为教育目的而实现的,而Linux则是受到了MINIX的启发。我们今天所熟悉的Linux其实应该叫GNU/Linux,因为它是由Linux内核和大量GNU应用组成的。GNU/Linux不是直接从BSD继承下来的,但是它继承了Unix的设计而且根植于学术界。如今许多操作系统,包括Android,Chrome OS,Steam OS,以及数量巨大的在各种设备上使用的嵌入式操作系统,都基于Linux。

另一组是商用的Unix操作系统。AT&T UNIX,SCO UnixWare,Sun Microsystem Solaris,HP-UX,IBM AIX,SGI IRIX-许多大型企业都希望建立并授权自己版本的Unix。它们如今并不常见,但其中一些仍然存在。

图片致谢: Wikimedia Commons

DOS和Windows NT的崛起

许多人希望Unix能够成为工业标准操作系统,但是DOS和“IBM PC兼容”计算机却最终人气爆发而普及开来。微软的DOS也成为众多DOS系统中最成功的一个。DOS完全没有参照Unix,这也是为什么Windows使用反斜杠划分文件路径,而其他所有系统都使用正斜杠。这个决定是在早期的DOS系统中做出的,而之后的Windows版本继承了这一设定,就像BSD,Linux,Mac OS X,和其他类Unix操作系统继承了许多Unix设计因素一样。

Windows 3.1,Windows 95,Windows 98,和 Windows ME都是建立在DOS的基础上。当时微软已经在开发一个更现代更稳定的操作系统,叫做Windows NT-意思是“Windows新技术”。Windows NT最终通过Windows XP应用到普通计算机用户中,但是之前它都只用于针对企业用户的Windows 2000和Windows NT。

如今所有微软的操作系统都基于Windows NT内核。Windows 7,Windows 8,Windows RT,Windows Phone 8,Windows Server,以及Xbox One上的操作系统都在使用Windows NT内核。不像其他大多数操作系统那样,Windows NT没有被开发成一个类Unix操作系统。

当然,微软也不是完全从零开始的。为了维护DOS和旧版本Windows软件的兼容性,Windows NT继承了许多DOS里的设定,比如磁盘盘符,反斜杠区分文件路径,正斜杠作为命令行参数开关。

为什么它影响很大

不知道你有没有看过Mac OS X终端或是文件系统,有没有注意到它们和Linux是如此相似,而又和Windows是如此不同?好吧,原因是-Mac OS X和Linux两个都是类Unix操作系统。

了解了这点历史,就可以帮助你理解什么是“类Unix”操作系统,以及为什么这么多操作系统看起来都差不多,而Windows却那么与众不同。这也可以解释为什么Linux极客对Mac OS X上的终端会感觉如此熟悉,而Windows 7上的Command Prompt和PowerShell相对于其他命令行环境显得格格不入。

这只是一点快速掠过的历史,帮助了解是如何发展到今天的,而不用陷入到细节中。如果你想了解更多,可以找到许多关于Unix历史的整本的书籍。

图片致谢: Peter Hamer on Flickr, Takuya Oikawa on Flickr, CJ Sorg on Flickr


via: http://www.howtogeek.com/182649/htg-explains-what-is-unix/

译者:zpl1025 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

Linux 和 Unix 属于多任务的操作系统,也就是说一个系统在同一时间段内能运行多重任务(进程)。在这个新的博客系列,我将会列出相关的 Linux 和 Unix 作业(job)控制的命令,你可以通过这些命令在 Bash 或 Korn 还有 POSIX shell 下实现执行多重任务。

什么是作业控制?

作业控制不只是能够停止/挂起(stop/suspend)正在执行的进程(命令),也可以继续/唤醒(continue/resume)执行你需要的每一个进程。这完全可以用你的操作系统和 bash/ksh 之类的 shell 或 POSIX shell 完成。

谁给作业控制的提供了环境?

Bash / Korn shell,或者是 POSIX shell 提供给了作业控制的环境。

跟作业表打个招呼吧

你的 shell 会留有一张当前作业的表单,称为作业表。当你键入命令时,shell 会给它分配一个 jobID(也称作 JOBSPEC)。一个 jobID 或 JOBSPEC只是很小的整数数值。

1: 创建你的首个 Linux/Unix 作业

我要运行一个名为 xeyes 的命令,它会在屏幕上显示两个椭圆的眼睛,输入: $ xeyes &

输出样例:

Fig.01: 在后台运行 xeyes 命令

我使用&符号让一个 job 在后台运行。shell 会打印一行信息类似如下:

[1] 6891

在这个例子中,有两个数字输出,分别表示:

  • 1 : 在后台执行的 xeyes 任务的作业号为 1。
  • 6891 : 作业1的进程ID。

我在多执行一些 job:

## 启动一个文本编辑器,X 的系统负载显示,和 sleep 命令 ##
gedit /tmp/hello.c &
xload &
sleep 100000 &

2: 列出当前的作业

查看当前 shell 的激活的任务状态,输入:

$ jobs
$ jobs -l

输出如下:

[1]   9379 Running                 xeyes &
[2]   9380 Running                 gedit /tmp/hello.c &
[3]-  9420 Running                 xload &
[4]+  9421 Running                 sleep 100000 &

简要描述如下:

字段描述示例
1[1]jobIDJOB\_SPEC - 工作号要与fg, bg, wait, kill和其他shell命令一起使用。你必须在工作号前缀添加一个百分号:(**%**)。加号 (+) 标识着默认的或是现在的作业。减号 (-) 标识着前一个作业。%1`fg %1`kill %2
29379进程 ID - 系统自动为每个进程创建并分配地独有的身份标志号。kill 9379
3Running状态 - 关于作业的状态:**Running** - 该 作业正在运行,还没有被外部信号挂起。**Stopped** - 该作业已经被挂起。N/A
4xeyes &command - 由shell给出的命令。script &firefox url&

你也可以用 ps 命名列出当前系统正在运行的进程:

$ ps

3: 停止或挂起正在运行的作业

按下[Ctrl]-[Z]键或使用kill 命令,如下所示:

kill -s stop PID

举个例子,启动ping 命令,然后用 Ctrl-Z 键来停止 ping 命令作业:

Animated gif 01: 挂起 ping 命令作业

4: 在前台恢复 挂起的/停止的作业

让我们恢复处于停止状态下的作业,让它回到前台继续运行,要将其变成当前作业,必须借助fg 命令。具体语法如下:

## ping 命令的作业号的值为5 ##
fg %5

我也可以规定命令行开端符合字符串"ping"的作业[译注:不能出现不明确的字符串,例如如果后台有两个 vim 进程而你敲入 fg %vim 会报错。]:

## %String ##
fg %ping

输出样例:

64 bytes from www.cyberciti.biz (75.126.153.206): icmp_req=3 ttl=53 time=265 ms
64 bytes from www.cyberciti.biz (75.126.153.206): icmp_req=4 ttl=53 time=249 ms
64 bytes from www.cyberciti.biz (75.126.153.206): icmp_req=5 ttl=53 time=267 ms
^C

5: 在后台恢复 挂起/停止状态的作业

在这个例子中,我使用yum 命令更新所有安装在 Redhat 或 CentOS Linux 生产服务器上的软件包并置于后台作业。

# yum -y update &>/root/patch.log &

然而,由于一些原因(例如,过载问题)我决定停止这个作业20分钟:

# kill -s stop %yum

输出样例:

[7]+  Stopped                 yum -y update &>/root/patch.log &

用 bg 重启停止在后台的 yum 进程

现在,我将要恢复停止的 yum -y update &>/root/patch.log & 作业,键入:

# bg %7

或者:

# bg %yum

输出样例:

[7]+ yum -y update &>/root/patch.log &

6: 杀死作业/进程

杀死yum 命令进程,输入如下kill 命令及其作业号 7:

# kill %7

或者

# kill 进程ID

输出样例:

[7]+  Terminated              yum -y update &>/root/patch.log &

在 Linux/FreeBSD/OS X Unix 下你也可以使用 killall 命令通过名字杀死进程或是 jobID 而不是通过 PID

7 为什么当我登出后 shell 会清除我的所有后台作业

在这个例子中,我将会启动 pdfwriter.py 来批量生成这个站点的 pdf 文件:

~/scripts/www/pdfwriter.py --profile=faq --type=clean --header=logo\
--footer-left "nixCraft is GIT UL++++ W+++ C++++ M+ e+++ d-" \
--footer-right "Page [of] of [total]" &

一旦当我登出shell时,pdfwriter.py 作业就会被我的 shell 杀死。为了克服这个问题需要使用shell的内置命令 disown 来告诉 shell 不要发送 HUP 信号,键入:

$ ~/scripts/www/pdfwriter.py --profile=faq .... &
$ disown
$ exit

8 使用一个名为 nohup 的外部命令阻止在登出时杀死作业

你也可以使用nohup 命令在你退出 shell 后执行作业:

$ nohup ~/scripts/www/pdfwriter.py --profile=faq .... &
$ exit

9: 查找最后的作业的 PID

为了查找最近在后台执行的(异步)命令的进程ID,可使用 bash shell 的特殊参数 $!

$ gedit foo.txt &
$ echo "最近在后台执行的job 的PID - $!" 

输出样例:

最近在后台执行的job 的PID - 9421

10: 等候作业完成

wait 命令会等候给予的进程ID 或 作业ID指定的进程,然后报告它的终止状态。语法如下:

/path/to/large-job/command/foo &
wait $!
/path/to/next/job/that-is-dependents/on-foo-command/bar

这是我的一个工作脚本:

#!/bin/bash
# A shell script wrapper to create pdf files for our blog/faq section
########################################################################
# init() - Must be run first 
# Purpose - Create index file in $_tmp for all our wordpress databases 
########################################################################
init(){
 _php="/usr/bin/php"
 _phpargs="-d apc.enabled=0"
 _base="~/scripts"
 _tmp="$_base/tmp"
 _what="$1"
 for i in $_what
 do
        [[ ! -d "$_tmp/$i" ]] && /bin/mkdir "$_tmp/$i"
        $_php $_phpargs -f "$_base/php/rawsqlmaster${i}.php" >  "$_tmp/$i/output.txt"
 done
}

#####################################################
# Without index file, we can out generate pdf files
#####################################################
init blog

###########################################################
# Do not run the rest of the script until init() finished
###########################################################
wait $!

## Alright, create pdf files 
~/scripts/www/pdfwriter.py --profile=blog --type=clean --header=logo\
--footer-left "nixCraft is GIT UL++++ W+++ C++++ M+ e+++ d-" \
--footer-right "Page [of] of [total]"

Linux 和 Unix 作业控制命令总结列表

命令描述示例
**&**将作业置入后台命令 &
**%n**设置作业号为 n (数字)的作业命令 %1
**%Word**引用命令行开端包含 Word 的作业命令 %yum
**%?Word**引用命令行包含 Word 的作业命令 %?ping
**%%**`%+`引用当前作业kill %%kill %+
**%-**引用先前作业bg %-
**CTRL-Z**kill -s stop jobID``挂起或停止作业kill -s stop %ping
**jobs**jobs -l``列出活动的作业jobs -l
**bg**将 作业置入后台bg %1bg %ping
**fg**将作业置入前台fg %2fg %apt-get

关于 shell 内置命令和外部命令的小注

运行下面的 type 命令找出给予命令是否属于内部或外部的。

type -a fg bg jobs disown

输出样式:

fg is a shell builtin
fg is /usr/bin/fg
bg is a shell builtin
bg is /usr/bin/bg
jobs is a shell builtin
jobs is /usr/bin/jobs
disown is a shell builtin

在几乎所有情况下,你都需要使用 shell 的内置命令。所有外部命令例如 /usr/bin/fg 或 /usr/bin/jobs 工作在一个不同的 shell 环境下,而不能用在父 shell 的环境下。

总结

我希望你能喜欢这篇博文系列(rss 订阅),我建议你阅读下面的更多信息:

我会计划在这个系列添加更多深入的教程。若果你需要看到具体的主题,请在下方评论让我知道。


via: http://www.cyberciti.biz/howto/unix-linux-job-control-command-examples-for-bash-ksh-shell/

译者:Luoxcat 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

自从理查德·斯托曼宣布编写名为 GNU 的完全兼容 UNIX 的软件系统以来已经过去 30 年了,GNU 点燃了软件自由之理念,并使开源斗争延续至今

GNU 不是第一款分布式免费软件,却是第一款宣布永久免费,以及“不受政治约束的自由软件”。

在 GNU 宣言中,斯托曼描述了美好的愿景。“从长远角度来看,”他写道,“软件自由是步入后稀缺世界的必经之道,在后稀缺世界任何人都无需为生计奔波。人们可以自愿投身于一些他们感兴趣的活动,比如软件开发,代价只是每周花费十个小时完成诸如法律制定、家庭协商、机器人修理、小行星观察等工作任务。”

在现实世界中,GNU 因为'EMACS 社区'以及由詹姆斯·高斯林编写 UNIX 版 Emacs 所引发的争论而发展迅速。在'针对 ITS 用户的 Emacs 手册'里,标示着 1981 年 10 月 22 日起,斯托曼就表明了授权 GPL 的想法。

“Emacs 并未抄袭任何软件,”他写道。“与之相反,你正在加入 Emacs 软件分享社区。加入社区的条件是你必须提交对 Emacs 作出的改进,包括任何你所写的插件。”

最初,高斯林基于其他人已经做出贡献的原因,允许自由分发高斯林版本 Emacs 的源代码。但是,1983 年 4 月,斯托曼就此谈道:“他通过申请版权的方式伤害了每一个人,他不允许任何人进行二次发布,接着把软件贩卖给软件公司。”

斯托曼被此种背叛的行为所伤害,但是高斯林,不久后作为 Java 之父而闻名于世,说道:“他对我的处理方式反映了他是一个既胆小又卑鄙的人,你可以从他做过的事看出来。”

围绕这件事的反击与法律威胁直接促成了 GNU 的成立,以及之后的 GPL 协议。高斯林版 Emacs 不久之后就被 GNU 版 Emacs 所吞并。GPL 出现的标志是 1985 年的 'GNU Emacs 分发许可事项',经过几次修改重新发布,直到 1989 年 GPL 1.0 颁布。

斯托曼之后讲述当他创建 GNU 的时候,人们说:“噢,这是一项艰难地任务;你不可能写出一个像 UNIX 那样的完整系统来。我们能为之做出多少呢?这个主意很棒,但是很不现实。”然而斯托曼的回应是无论如何他都会去做。“这就是我强大的地方。我强大在我非常非常坚决,我会忽视各种诸如为什么你应该改变你的目标等理由,忽略许多其他人会为之动摇的因素。许多人都想成为胜利的一方。我并不反对这种想法。我只想成为正确的一方,即使甚至我没有成为胜利的一方,直到最后我仍将全力以赴。”

“这和钱没有关系”,他在 1999 年说道,“这关乎自由。如果你认为这和钱有关就已经偏离讨论方向了。我只想自由地使用电脑,使用电脑去合作,在使用电脑分享的过程中不会被限制或是禁止。GNU/Linux 系统现在或多或少已经做到了一些。系统因为付诸实践的原因正变得越来越流行。它是很好的操作系统。危险是人们将会喜欢上它,因为它是实用的,它将会变得流行,只要没有人在背后对这些理想产生含糊的念头,当然这些念头将会是具有讽刺意味的失败。”

自由软件归因于斯托曼的固执以及洞察力,但是正如同他过去在 GNU 项目中建议的一样,软件自由的斗争与成果很大程度上来自于他人的贡献,对它的威胁将会继续存在。

“当其他人怀疑我是否能够胜任工作,不确定我那么做将是否足够实现目标时,我已经完成了我的大部分工作。我尝试了各种手段,因为在我的同伴和敌人之间除了我什么都没有。我自己都感到很惊讶,有时候我竟然成功了。

“有时候我会失败; 我的一些同伴会突然离去。接着我会寻找其他受到威胁的同伴,准备好另一场战役。随着时间的流逝,我学会了寻找恐惧并将之置于我和我的同伴中,号召其他黑客来加入我。”

“如今,很多时候我不是唯一的。当我看着这么多黑客不断参与进来并坚持下去,这是一种救赎、也是一种乐趣,我知道,这片乐土将会幸存下来 – 不只是现在。因为危险每年都会扩增。”


via: http://www.linuxuser.co.uk/features/gnu-toward-the-post-scarcity-world-the-free-software-column

译者:SteveArcher 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

vsftpd非常安全的文件传输协议守护进程) 是Unix/Linux系统中的一个安全快速的FTP服务器。 在这篇指导教程中,让我们看看在openSUSE 13.1中怎样使用vsftpd来配置一个基本的FTP服务器。

安装 vsftpd

作为root用户登录然后输入以下命令。

# zypper in vsftpd

启动 vsftpd 服务然后通过设置使它在每次系统重启时自动启动。

# systemctl enable vsftpd.service
# systemctl start vsftpd.service

配置 vsftpd

为ftp用户新建一个文件夹。

# mkdir /srv/ftp

创建一个名为 ftp-users 的组。

# groupadd ftp-users

让我们来创建一个叫unixmen的示例用户 并设置其主目录为 /srv/ftp 组为 ftp-users

# useradd -g ftp-users -d /srv/ftp/ unixmen

为新用户设置密码。

# passwd unixmen

使ftp主目录 /srv/ftp/ 可以被ftp用户所访问。

# chmod 750 /srv/ftp/
# chown unixmen:ftp-users /srv/ftp/

编辑 vsftpd.conf 文件

# nano /etc/vsftpd.conf

设置如下的更改。

[...]
#Uncomment and  Set YES to enable write.
write_enable=YES
[...]
# Uncomment and Set banner name for your website
ftpd_banner=Welcome to Unixmen FTP service.
[...]
# Uncomment
ls_recurse_enable=YES
[...]
# Uncomment and set YES to allow local users to log in.
local_enable=YES
[...]
# To disable anonymous access, set NO.
anonymous_enable=NO
[...]
# Uncomment to enable ascii download and upload.
ascii_upload_enable=YES
ascii_download_enable=YES
[...]
## Add at the end of this  file ##
use_localtime=YES

保存并退出文件。

测试本地FTP服务器

首先 让我们按如下步骤尝试登录FTP服务器

# ftp localhost
Trying ::1:21 ...
Connected to localhost.
220 (vsFTPd 3.0.2)
Name (localhost:root): unixmen
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

正如你在上面所输出的那样, 我们能够用unixmen用户登录到ftp服务器。

测试远程FTP服务器

默认 openSUSE 内置的防火墙不允许远程系统登录FTP。所以让我们允许vsftpd服务通过suse的防火墙。然后我们需要打开: Yast -> 安全性与用户 -> 防火墙.

在防火墙界面,进入 允许服务. 在区域选择下拉框中,选择 外部区域 在服务允许下拉框中,选择 vsftpd 服务器 然后点击添加。

单击下一步并关闭Yast控制中心

现在尝试从远程系统连接FTP。

我试着从我的ubuntu桌面系统登录FTP服务器。

sk@sk:~$ ftp 192.168.1.53
Connected to 192.168.1.53.
220 (vsFTPd 3.0.2)
Name (192.168.1.53:sk): unixmen
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

正如你在上面输出中所看到的,我能够连接到ftp服务器。如果不允许vsftpd服务通过防火墙,你将会得到一个连接超时的报错。

从浏览器连接

打开你的浏览器并导航到ftp://ip-address/。输入ftp用户名和密码。

使用FileZilla连接到FTP服务器

对于新手来说,在命令行模式下工作可能会很烦恼。所以让我们来安装一个叫Filezilla的图形化的FTP客户端。它可以让我们登陆FTP变得更加简单:

几乎所有的发行版在它们的官方软件仓库中都有filezilla客户端。 为了在基于Linux的系统上安装filezilla 需要键入以下的命令:

在基于Ubuntu的系统中:

$ sudo apt-get install filezilla

在Fedora/Redhat系统中:

$ sudo yum install filezilla

在openSUSE中:

# zypper in filezilla

安装完fielzilla后打开它。输入ftp服务器的IP地址、用户名和密码,然后点击快速连接。

为了增加安全性,你可以通过将用户添加到 /etc/vsftpd.chroot\_list文件中来限制特定用户对FTP服务器的访问。

编辑 vsftpd.conf 文件,

nano /etc/vsftpd.conf

设置如下的更改.

[...]
# Uncomment and set YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
[...]

创建 文件 /etc/vsftpd.chroot\_list,

nano /etc/vsftpd.chroot_list

添加你希望能够访问FTP服务器的用户。我添加了用户unixmen

unixmen

重启ftp服务.

# systemctl restart vsftpd.service

现在你能够使用chroot\_list文件中列出的用户来连接到FTP服务器。

如果chroot\_list以外的用户想访问FTP服务器,他们将得到如下错误提示。

500 OOPS: could not read chroot() list file:/etc/vsftpd.chroot_list
ftp: Login failed

就是现在这样,你的FTP服务器已经可以使用了,好好享受吧!


via: http://www.unixmen.com/setup-ftp-server-opensuse-13-1/

译者:zsJacky 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

国际数据公司(IDC)的分析师在周三投寄了一篇新闻稿凸显出IBM 的 AIX 系统和 P-系列的硬件持有量已经快速下降。伴随着专有 Unix 系统下跌的同时,相关的运行着 Linux 系统的 X86 服务器销量却在崛起。IBM 已经明确指出这是一个长期趋势,所以投资了10亿美元用在基于 Power 系统的 Linux 开发。与新闻报道的 AIX 20%销售额下降的同时,我的这篇文章终于发布出来了。

过去数年中,我在管理 AIX 和 Linux 系统上一点都不顺利,如果能让我挑选的话,会选择灵活性和易用性更好的 Linux 系统和稳定性更高的 Power 机器。根据我的经验, AIX 很难设置,在设置好后要变动也很困难,但一旦设置好并启动起来,它就会一直很好的运行下去。一台配置合适的 AIX 服务器可以正常运行数年而无需干预,但是需要修改配置的时候,并且经常需要修改配置,就准备好长期的艰苦跋涉吧。相比之下,经过这么多年来,成千上万的开发人员和系统管理员,以及大牌公司的贡献,使得Linux更易于管理。根据Infoworld报道:

Linux服务器市场正在健步崛起,服务器总销量占总收入的百分比高达28%,所以任何可以提高市场占有率的投资,将会非常有价值,即使大部分份额的Linux服务器仍然是商用 x86 硬件。

Intel 和 AMD 的硬件也现跨越式发展,正在缩小与 Power 机器的性能差距。当我听到一个新的刀片上配置 10GB 的以太网卡已经成为标准、256GB 的 RAM 已经很正常了,以及普通业务需要订购装有 16 核 CPU 的服务器已经成为常态时,吃惊不小。Intel 服务器和 IBM 的 Power 服务器性能差不多,但价格低很多。因为企业的关注点在于是否逃脱“顾问软件”及 IBM 的供应商锁定,所以在行业标准的x86硬件上运行的开源软件正变得越来越有吸引力。不过,IBM已经降低了 Power 系列机器的价格来保持竞争力。

这说明, IBM 选择投入在基于 Power 机器的 Linux 系统而不是 AIX 系统。 IBM 可能已经开发出现代版的 AIX,并使用通用的开源工具以使交互操作性更好。尽管 IBM 声明 AIX 仍然是重要的,但在 Power 机器的销售额持续下降,伴随的是 Linux 方面的投入,这一切的一切都正在翻开新故事的新篇章。

IBM 不可能一切都以 AIX 为核心,但他们可能会无限期的延长其使用寿命。如果 AIX 做为开源系统发布,看看市场的反映,将会十分精彩。


via: http://ostatic.com/blog/proprietary-unix-continues-to-fall

译者:runningwater 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出