linux中国_ 发布的文章

为了给你们带来一些小惊喜,这次我们准备了一些在面试中随机出现的问题而不是专门关于某个领域的问题。这些问题肯定会在不深入学习新知识的前提下使你在面试中脱颖而出。

1.假设你在为你工作的公司维护一份日常的备份。这份备份是以压缩后的格式而被维护着。现在你需要检查一份两个月之前的日志,你应该提出什么样的建议从而可以在不解压这份备份的前提下完成检查日志的任务?

答案: 在不解压文件的前提下检查文件内容,我们需要用到'zcat'。zcat这个工具可以轻松完成这个任务。
# zcat ­f phpshell­2.4.tar.gz

2.你需要追踪你系统中发生的事件,你应该怎么做?

答案: 为了追踪系统中发生的事件,我们需要用到叫做syslogd的这个后台程序。syslogd这个后台程序可以追踪系统信息并将其保存到指定的日志文件中。

启用'syslogd'这个后台进程会在路径'/var/log/syslog'中生成一个日志文件。syslogd应用对解决Linux系统中的问题十分有用。标准生成的日志文件和下面这个例子很像。

syslogd

3.如何禁止特定IP访问FTP服务器?

答案: 我们可以通过运用tcpwrapper来禁止可疑的IP访问。首先在路径'/etc/vsftpd.conf'的配置文件中,将tcpwrapper这个参数设置为"tcp\_wrapper=YES",然后在'/etc/host.deny'文件中加入可疑的IP地址。

禁止访问的IP地址

打开'/etc/hosts.deny'文件。

# vi /etc/hosts.deny

在文件底端加入拒绝访问的IP地址

#
# hosts.deny    This file contains access rules which are used to
#               deny connections to network services that either use
#               the tcp_wrappers library or that have been
#               started through a tcp_wrappers-enabled xinetd.
#
#               The rules in this file can also be set up in
#               /etc/hosts.allow with a 'deny' option instead.
#
#               See 'man 5 hosts_options' and 'man 5 hosts_access'
#               for information on rule syntax.
#               See 'man tcpd' for information on tcp_wrappers
#
vsftpd:172.16.16.1

4.告诉我们Telnet和SSH之间的区别?

答案: Telnet和SSH都是用来远程管理系统的协议。与Telnet直接传输数据正好相反,安全的SSH通信协议需要通信中有密钥的交换,这说明telnet相比较于SSH不安全。

5.你需要终止你的X server,但当你尝试杀进程的时候,你遇到了表示不能退出X server的错误信息。你准备怎么做?

答案: 当你尝试杀X server的进程时,系统不会让你像使用'/etc/init.d/gdm stop'一样正常的退出X server。我们需要执行一个使X server重启的特别的键位组合'Ctrl+ Alt+ BackSpace'。

6.告诉我命令'ping'和'ping6'的区别?

答案: 这两个命令有同样的功能,但'ping6'命令可被用于ipv6的IP地址。

7.你想要在Home目录下寻找*.tar文件并一次性删除,你会怎么做?

答案: 我们要同时用到find和rm命令来删除所有*.tar文件
# find /home/ ­name '*.tar' | xargs rm ­rf

8.locate和slocate命令的区别?

答案: slocate(secure locate)会寻找所有用户有权限访问的文件,然而locate会搜索(它的数据库里面的)所有更新过的结果。

9.你要在当前目录中所有“.txt”文件中搜索“Tecmint”这个字符串,你怎么做?

答案: 用find命令在当前目录递归寻找文件中的“Tecmint”字符串。
# find ­name “*.txt” | xargs grep “Tecmint”

10.你要向所有已连接的用户发送“Server is going down for maintenance”这样一条信息,你怎么做?

答案: 运用wall命令就可以很容易地实现,wall命令可以向所有已连接服务器的用户发送信息。
# echo please save your work, immediately. The server is going down for Maintenance at 12:30 Pm, sharply. | wall

wall command


via: http://www.tecmint.com/useful-random-linux-interview-questions-and-answers/

译者:ThomazL 校对:wxy

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

GitHub 的新文本编辑器并不完全开源,看起来并没有人在意这一点。

Samuel Greenwald 认为“任何 IT 领袖如果没有开源观念,那注定会失败。” 然而即使你的开源观念打了折扣、不那么纯粹,其实大众也并不会刁难你。特别是在你祭出古怪反复的许可证花招时,即使是开源界最精明的精英也可能被忽悠住。

例如就拿GitHub来说。GitHub 刚刚发布了Atom文本编辑器,获得了很多赞赏。虽然有些人赞美Atom“完全开源”,但其实它并非如此。在我看来,还差得很远。

某种打折扣的开源

不管怎样,并不是说 GitHub 把Atom 全部伪装成开源。正如 GitHub 联合创始人Tom Preston-Werner所说,只有“Atom 核心”代码将会是闭源的,而“其余现有的所有Atom 代码将永远遵守 MIT-licensed许可证。”原因纯粹是商业化的,他这么解释道:

Atom将不会封闭源代码,但它也不会开源。它将介于两者之间,这样我们更易于对 Atom 进行掌控,同时,人们还可以在许可证的限制下看到它如何运行。关于这一点,我们还没有最终决定究竟如何具体实施。我们将在充分的细节准备后正式启动。

早在开源的初期,我们就有了这个概念。事实上,微软也是这么做的。微软称之为“共享源代码”, 于2002年推出,共享源代码是微软为其社区提供的一种方式,用来监测,但不触及(或重新分配)微软的源代码。SAP 的大数据主管 Vijay Vijayasankar 提醒我们,对微软来说这个方法没有这么好,但对GitHub 可能会做的更好:

@dberkholz 我记得OSI人士严重批评了微软,说这是微软的一个营销噱头。但这次 GitHub 会做得更好 — Vijay Vijayasankar (@vijayasankarv) 2014年2月27日

他也许是对的。

GitHub 时代神圣不可侵犯

毕竟,微软是邪恶帝国,一直将开源抹黑为“毒瘤”之类的东西。而 GitHub,无论在哪儿,都是开源项目的养父母。 2013年 GitHub突破千万代码库,增添300万新用户,每周狂热的活跃量包括:20,000个问题,50,000个评论,250,000个来自世界各地贡献者的提交,保证了代码库进展。

换句话说,GitHub是零起点的开源项目。

也许正因为如此,GitHub 得到了一个免费通行证。在HackerNews评论上,少数人似乎过于在意,他们认为 GitHub 没有真正开源 Atom。作为一个社区,开源已经在很大程度上战胜了免费软件:少教条,更实用。我们已经身处这样一个节点,许多所谓的“GitHub一代”甚至懒得去费心将许可证分配给他们的软件

这是好事吗?

很难说,甚至很难与 GitHub 的做法争辩,它带给世界一个高品质、低成本的文本编辑器,似乎并没有伤害任何人,潜在里还可能帮助许多人。开源社区是自由意志论者:并不愿意去制定许可证,它更关心的是良好的代码和产品。

这就是为什么 GitHub、Atlassian 和 Amazon 的 Web 服务都依赖于专有软件或服务来赚钱,同时却如此惊人地受到开源开发者的欢迎。

你了解了吗?


via: http://readwrite.com/2014/02/28/github-atom-text-editor#feed=/hack&awesm=~oxpErHVIIaxz3H

译者:乌龙茶 校对:Caroline Mr小眼儿

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

现在我居住的地方正值炎夏,但是相比较我正在写的文章将会引来的暴风雨,还是温和了不少:是的!我正在写关于Windows GTK主题的文章。

好吧,认错时间:我,个人并没有坐在桌前想着:“我的Ubuntu桌面真的需要...需要看起来像另一个操作系统一样!”。当我确认模仿另一个操作系统的外观的行为很不对我的胃口时,但世界上有那么多的用户,没准有些用户——可能也包括你——会对这有兴趣呢!

这件事本身也并没有任何问题。虽然这会引来很多狂热爱好者或者喷子,但是这提供的种灵活性也可以更好地为改进者,自定义者和主题制作者服务,因此我说:“何乐而不为呢?”

Winodws 8 的现代UI

“Windows XP的卡通蓝边界和过度透明的Aero Glass主题早就过时了”

Windows作为世界上最被广泛运用的操作系统(吁~ 一片嘘声),那么GTK的高山与Metacity主题再邀请下模仿Windows的外观一点也不让人惊奇。

但是Windows XP年长的卡通蓝边界以及过度透明的Aero Glass已经过时,当前的热门话题应该属于五彩缤纷的现代UI。

Windows 8引入了一种平整,实心而且转折角度明显的主题特色,这位微软桌面操作系统带来了新鲜的感觉。按照在微软其他产品中的统一的设计脉络),比如Windows Phone 8以及Xbox One为用户提供了不少的相似点。

Windows 8 GTK主题与其他主题相比,更体现了它的设计感觉。我承认我并没有常用Windows 8从而可以对其设计方方面面十分了解,但是这个主题已经包含了它大多数的表面设计,如果通过这个评分的话,这个主题可以算成功的了。

在这同时,扁平化主题并不由微软专属,类似Iris Light, which we shared recently等主题都在Linux中十分流行。

下载Linux上的Windows 8主题

从GNOME-Look上可以获取文件,将他们放在'/usr/share/theme'文件夹,然后用类似Unity Tweak的应用启用配置。


via: http://www.omgubuntu.co.uk/2014/02/windows-8-metro-gtk-theme

译者:ThomazL 校对:wxy

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

Webmail无疑是任何邮件服务器必不可少的一部分。虽然本地邮件客户端通常比Webmail的功能更多,但通过电子邮件客户端从外部可信的网络访问IMAP或SMTP有时会很棘手。再者,当你需要在一个特定的工作站、笔记本电脑或者移动设备去使用一个电子邮件客户端时,你可以在任何地方使用Webmail服务,只要你接入互联网。

本教程的重点是在一个运行 Apache 的 Ubuntu 服务器上安装配置RainLoop Webmail。RainLoop 是基于 PHP 的Webmail,并且有以下功能。

  • 支持apache,nginx和其它网页服务器。
  • 标准接口补充了一个主题库可供选择。
  • 个人和非盈利项目可免费使用。

在写这篇文章时,RainLoop 还不支持邮件过滤和不在公司时的自动回复。

在 Ubuntu 服务器上安装 RainLoop

首先,在服务器上设置必备的软件包。

# apt-get install wget unzip apache2 php5 php5-mysql libmysqlclient15-dev mysql-server poppassd 

接下来,下载和安装 RainLoop。

# mkdir /var/www/webmail
# cd /var/www/webmail
# wget http://repository.Rainloop.net/v1/Rainloop-1.6.3.706-e3c14e17bc4370a1561bcc68d1d494fd.zip
# unzip Rainloop-1.6.3.706-e3c14e17bc4370a1561bcc68d1d494fd.zip
# rm Rainloop-*.zip 

然后设置必要的权限。

# cd /var/www/webmail
# find . -type d -exec chmod 755 {} \;
# find . -type f -exec chmod 644 {} \;
# chown –R www-data:www-data /var/www/webmail 

我们马上就可以使用 RainLoop 了。最后,通过管理面板进行调整,接下来会有详细描述。

通过管理面板首次配置

很多配置参数通过一款界面友好的管理面板就能调整。使用以下凭证进入管理面板。

  1. URL: http://IP/webmail/?admin
  2. user: admin
  3. Pass: 12345

当然,建议尽快修改默认密码。我们将使用管理面板去调整一下设置。

增加邮件域

在 管理面板> 域> 增加域 页面设置有效的域。建议服务器 IP 是本地服务器,如 127.0.0.1。基于服务器配置,RainLoop 可以配置使用 IMAP/IMAPS 或 SMTP/SMTPS。并且,确认‘使用短登录表单’复选框已勾选。

使用‘测试连接’按钮验证设置。

启用联系人

联系人功能需要数据库支持。我们将使用 MySQL 数据库启用联系人。RainLoop 可以手动创建所需的数据库,如下。

# mysql -u root -p 

mysqlcreate database rainloop;
mysqlexit;

现在这个功能可以通过管理面板>联系人页面启用。

再来一次,使用‘测试’按钮检查设置。

启动密码更改插件

在多数 linux 的邮件账户的邮件服务器是用自己的 UID 和 GID 操作系统的实际用户。因此,在过去更改这些账户的密码是很棘手的。幸好,今天有工具可以完成这个工作。这个工具是 poppassd。

第一步是在服务器上安装 poppassd,可以用 apt-get 来完成。

# apt-get install poppassd 

接下来,去允许 RainLoop 使用 poppassd,从 管理面板> 软件包 页面安装 RainLoop 插件 poppassd。

最后,poppassd 插件可以从 管理面板> 插件页面启用。

现在所有参数已设置,用户可以从他们提供的凭证登录,如截图所示。

希望这篇文章能帮助到你。


via: http://xmodulo.com/2014/02/rainloop-webmail-ubuntu-server.html

译者:Vito 校对:Caroline

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

网卡生产商在每一张网卡(NIC)在出厂时都会在上面刻上一个48位的全球唯一标识符(GUID,例如08:4f:b5:05:56:a0),这串 GUID 就是网卡的 MAC 地址,用于确定一张网卡的身份。MAC 地址的高24位叫 OUI(Organizationally Unique Identifier 组织唯一标示符),是为网卡设置 MAC 地址的组织的标识符,这样一来,不同组织设置的 MAC 地址就不会冲突了。(译注:实际生产中,并不是每个网络设备都有不同的MAC地址,有时候地址空间不足,生产商会给发往不同地区国家的产品中用相同的地址空间。)

虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。本文将向大家展示如何在 Linux 上玩 MAC 地址欺骗

为什么要玩 MAC 地址欺骗?

想要理由?这里就给几个比较有技术含量的理由。 一些网络供应商会通过绑定你家路由器上的 MAC 地址来验证你的身份,这个时候如果你的路由器坏了,你怎么办?你可以暂时把你的电脑的 MAC 地址改成你家路由器的 MAC 地址,让你的 ISP 重新将你连入外网。(译注:有这种事情么?)

很多 DHCP 服务器会依赖 MAC 地址来分配 IP 地址。如果你想换一个分配给你的 IP 地址,你可以改改你的 MAC 地址。这样一来,你不必等着 DHCP 服务器给你重新分一个 IP 地址,而是马上就能得到一个新的。

除了技术原因外,这里也有一些比较正当的理由来说明你为什么需要改变你的 MAC 地址:为了隐私、为了安全,你要把你真正的 MAC 地址隐藏起来。不像处在 ISO 模型第三层的 IP 地址会经常变来变去,你的 MAC 地址可不会改变。在你说我多疑之前,请确定你知道你的隐私到底是什么东西。有一个入侵手段叫 piggybacking),黑客会在公共 WiFi 网络下伪装成你的 MAC 地址,并且在你不在场的时候伪装成你的身份进行黑客活动。

怎么临时性地改变 MAC 地址?

你可以在 Linux 运行的时候改变 MAC 地址。需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线。当电脑重启时 MAC 地址又会变回原来的。下面介绍几种方法来改变你的 MAC 地址。

方法一:iproute2

$ sudo ip link set dev eth0 down
$ sudo ip link set dev eth0 address 00:00:00:00:00:01
$ sudo ip link set dev eth0 up 

方法二:macchanger

macchanger 这个命令可以让你把 MAC 地址改成不同生产厂商的序列号。

在 Debian,Ubuntu 或 Linux Mint 下安装 macchanger:

$ sudo apt-get install macchanger 

在 Fedora 下安装 macchanger:

$ sudo yum install macchanger 

在 CentOS 或 RHEL 下安装 macchanger:

$ wget http://ftp.club.cc.cmu.edu/pub/gnu/macchanger/macchanger-1.6.0.tar.gz
$ tar xvfvz macchanger-1.6.0.tar.gz
$ cd macchanger-1.6.0 
$ ./configure
$ make
$ sudo make install 

下面给出一些 macchanger 的高级使用例子。使用 macchanger 你不必再手动禁用、启用你的网卡。

仅仅改变 MAC 地址:

$ sudo macchanger --mac=00:00:00:00:00:01 eth0 

在保证 OUI 一致的情况下为 MAC 设置一个随机地址:

$ sudo macchanger -e eth0 

为 MAC 设置一个完全随机的地址:

$ sudo macchanger -r eth0 

获取所有网卡的 MAC 地址,然后只列出指定的厂商(比如 Juniper):

$ macchanger -l | grep -i juniper 

显示一块网卡原来的 MAC 地址和伪装的 MAC 地址:

$ macchanger -s eth0  
Current MAC: 56:95:ac:ee:6e:77 (unknown)   
Permanent MAC: 00:0c:29:97:68:02 (Vmware, Inc.)

如何永久性地改变 MAC 地址?

如果你想在系统重启后还保持伪装 MAC 地址,你需要编辑配置文件。比如你想改变 eth0 的 MAC 地址,按以下方法搞起:

在 Fedora,CentOS 或 RHEL 下:

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
MACADDR=00:00:00:00:00:0

或者你可以建一个开机启动的脚本放在 /etc/NetworkManager/dispatcher.d 目录下,前提是你使用 Network Manager 管理你的网络。这里假设你已经装了 macchanger,脚本内容如下:

$ sudo vi /etc/NetworkManager/dispatcher.d/000-changemac
#!/bin/bash

case "$2" in
    up)
        macchanger --mac=00:00:00:00:00:01 "$1"
        ;;
esac
$ sudo chmod 755 /etc/NetworkManager/dispatcher.d/000-changemac 

在 Debian,Ubuntu 或 Linux Mint 下:

新建一个开机启动脚本,放在 /etc/network/if-up.d/ 目录下:

$ sudo vi /etc/network/if-up.d/changemac 
#!/bin/sh

if [ "$IFACE" = eth0 ]; then
  ip link set dev "$IFACE" address 00:00:00:00:00:01
fi
$ sudo chmod 755 /etc/network/if-up.d/changemac 

via: http://xmodulo.com/2014/02/spoof-mac-address-network-interface-linux.html

译者:bazz2 校对:wxy

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

事件起源

昨天夜间,@lovenemesis 在新浪微博上披露了一条消息

这条消息迅速在微博上得到了众多关注和评论。

消息的来源主要来自:

Phoronix : Chinese People Try To Patent Wine On ARM

WineHQhttp://www.winehq.org/wwn/366#Bad%20Patents

随后,LinuxToy编发了文章“中国公司为 Wine ARM 实现申请专利并获批准”:

专利的情况

经过对专利内容的检索,发现该专利申请人确为开发龙井兼容内容项目的浙大网新公司(而且还是上市公司)。

其第一发明人是:毛德操,其百度百科介绍如下:

专利内容如下:

国家知识产权局的内容I#):

以及Google上的相应信息 ,值得关注的是,其对专利权利的要求:

网络的评论

消息被网络转发后,各种评论和意见纷纭:

本站基于义愤,进行了转发:

大家也有各种不同的意见,如:

甚至 @某冰磷的碳核 也发表了严厉的抗议

此外,在LinuxToy上也有比较激烈的讨论,而且也有自称为其中一个发明人“徐鼎鼎”的人出来解释一些情况:

而到目前为止,还没有浙大网新官方或者可确认身份的发明人来发表正式的说明。