2015年9月

在学习如何开启Ubuntu系统自动升级之前,先解释下为什么需要自动升级。

默认情况下,ubuntu每天一次检查更新。但是一周只会弹出一次软件升级提醒,除非当有安全性升级时,才会立即弹出。所以,如果你已经使用Ubuntu一段时间,你肯定很熟悉这个画面:

Ubuntu软件升级提醒

但是做为一个正常桌面用户,根本不会去关心有什么更新细节。而且这个提醒完全就是浪费时间,你肯定信任Ubuntu提供的升级补丁,对不对?所以,大部分情况你肯定会选择“现在安装”,对不对?

所以,你需要做的就只是点一下升级按钮。现在,明白为什么需要自动系统升级了吧?开启自动系统升级意味着所有最新的更新都会自动下载并安装,并且没有请求确认。是不是很方便?

开启Ubuntu自动升级

演示使用Ubuntu15.04,Ubuntu 14.04步骤类似。

打开Unity Dash ,找到软件&更新:

Ubuntu 软件升级设置

打开软件资源设置,切换到升级标签:

Ubuntu 软件升级设置

可以发现,默认设置就是每日检查并立即提醒安全升级。

改变软件更新频率

改变 ‘当有安全升级’和‘当有其他升级’的选项为:下载并自动安装。

Automatic updates in Ubuntu

关闭对话框完成设定。这样每次Ubuntu检查更新后就会自动升级。事实上,这篇文章十分类似改变Ubuntu升级提醒频率

你喜欢自动升级还是手动安装升级呢?欢迎评论。


via: http://itsfoss.com/automatic-system-updates-ubuntu/

作者:Abhishek 译者:Vic020/VicYu 校对:wxy

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

在本教程中,我将会介绍如何搭建你自己的FTP服务。但是,首先我们应该来的学习一下FTP是什么。

FTP是什么?

FTP 文件传输协议 File Transfer Protocol 的缩写。顾名思义,FTP用于计算机之间通过网络进行文件传输。你可以通过FTP在计算机账户间进行文件传输,也可以在账户和桌面计算机之间传输文件,或者访问在线软件归档。但是,需要注意的是多数的FTP站点的使用率非常高,可能需要多次重连才能连接上。

FTP地址和HTTP地址(即网页地址)非常相似,只是FTP地址使用ftp://前缀而不是http://

FTP服务器是什么?

通常,拥有FTP地址的计算机是专用于接收FTP连接请求的。一台专用于接收FTP连接请求的计算机即为FTP服务器或者FTP站点。

现在,我们来开始一个特别的冒险,我们将会搭建一个FTP服务用于和家人、朋友进行文件共享。在本教程,我们将以vsftpd作为ftp服务。

VSFTPD是一个自称为最安全的FTP服务端软件。事实上VSFTPD的前两个字母表示“ 非常安全的 very secure ”。该软件的构建绕开了FTP协议的漏洞。

尽管如此,你应该知道还有更安全的方法进行文件管理和传输,如:SFTP(使用OpenSSH)。FTP协议对于共享非敏感数据是非常有用和可靠的。

使用 rpm 安装VSFTPD:

你可以使用如下命令在命令行界面中快捷的安装VSFTPD:

dnf -y install vsftpd

使用 deb 安装VSFTPD:

你可以使用如下命令在命令行界面中快捷的安装VSFTPD:

sudo apt-get install vsftpd

在Arch 中安装VSFTPD:

你可以使用如下命令在命令行界面中快捷的安装VSFTPD:

sudo pacman -S vsftpd

配置FTP服务

多数的VSFTPD配置项都在/etc/vsftpd.conf配置文件中。这个文件本身已经有非常良好的文档说明了,因此,在本节中,我只强调一些你可能进行修改的重要选项。使用man页面查看所有可用的选项和基本的 文档说明:

man vsftpd.conf

根据文件系统层级标准,FTP共享文件默认位于/srv/ftp目录中。

允许上传:

为了允许ftp用户可以修改文件系统的内容,如上传文件等,“write\_enable”标志必须设置为 YES。

write_enable=YES

允许本地(系统)用户登录:

为了允许文件/etc/passwd中记录的用户可以登录ftp服务,“local\_enable”标记必须设置为YES。

local_enable=YES

匿名用户登录

下面配置内容控制匿名用户是否允许登录:

# 允许匿名用户登录
anonymous_enable=YES
# 匿名登录不需要密码(可选)
no_anon_password=YES
# 匿名登录的最大传输速率,Bytes/second(可选)
anon_max_rate=30000
# 匿名登录的目录(可选)
anon_root=/example/directory/

根目录限制(Chroot Jail)

( LCTT 译注:chroot jail是类unix系统中的一种安全机制,用于修改进程运行的根目录环境,限制该线程不能感知到其根目录树以外的其他目录结构和文件的存在。详情参看chroot jail

有时我们需要设置根目录(chroot)环境来禁止用户离开他们的家(home)目录。在配置文件中增加/修改下面配置开启根目录限制(Chroot Jail):

chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd.chroot_list

“chroot\_list\_file”变量指定根目录限制所包含的文件/目录( LCTT 译注:即用户只能访问这些文件/目录)

最后你必须重启ftp服务,在命令行中输入以下命令:

sudo systemctl restart vsftpd

到此为止,你的ftp服务已经搭建完成并且启动了。


via: http://itsfoss.com/set-ftp-server-linux/

作者:alimiracle 译者:cvsher 校对:wxy

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

作为一名系统管理员,你将经常使用一个终端模拟器来登录到一个远程的系统中,执行一系列的管理任务。你将很少有机会坐在一个真实的(物理)终端前,所以你需要设定好一种方法来使得你可以登录到你需要去管理的那台远程主机上。

事实上,当你必须坐在一台物理终端前的时候,就可能是你登录到该主机的最后一种方法了。基于安全原因,使用 Telnet 来达到以上目的并不是一个好主意,因为穿行在线缆上的流量并没有被加密,它们以明文方式在传送。

另外,在这篇文章中,我们也将复习如何配置网络服务来使得它在开机时被自动开启,并学习如何设置网络和静态或动态地解析主机名。

RHCSA: 安全 SSH 和开启网络服务

RHCSA: 安全 SSH 和开启网络服务 – Part 8

安装并确保 SSH 通信安全

对于你来说,要能够使用 SSH 远程登录到一个 RHEL 7 机子,你必须安装 opensshopenssh-clientsopenssh-servers 软件包。下面的命令不仅将安装远程登录程序,也会安装安全的文件传输工具以及远程文件复制程序:

# yum update && yum install openssh openssh-clients openssh-servers

注意,也安装上服务器所需的相应软件包是一个不错的主意,因为或许在某个时刻,你想使用同一个机子来作为客户端和服务器。

在安装完成后,如若你想安全地访问你的 SSH 服务器,你还需要考虑一些基本的事情。下面的设定应该出现在文件 /etc/ssh/sshd_config 中。

1、 更改 sshd 守护进程的监听端口,从 22(默认的端口值)改为一个更高的端口值(2000 或更大),但首先要确保所选的端口没有被占用。

例如,让我们假设你选择了端口 2500 。使用 netstat 来检查所选的端口是否被占用:

# netstat -npltu | grep 2500

假如 netstat 没有返回任何信息,则你可以安全地为 sshd 使用端口 2500,并且你应该在上面的配置文件中更改端口的设定,具体如下:

Port 2500

2、 只允许协议 2(LCTT 译注:SSHv1 已经被证明不安全,默认情况下 SSHv1 和 SSHv2 都支持,所以应该显示去掉如下配置行的注释,并只支持 SSHv2。):

Protocol 2

3、 配置验证超时的时间为 2 分钟,不允许以 root 身份登录,并将允许通过 ssh 登录的人数限制到最小:

LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4、 假如可能,使用基于公钥的验证方式而不是使用密码:

PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

这假设了你已经在你的客户端机子上创建了带有你的用户名的一个密钥对,并将公钥复制到了你的服务器上。

配置网络和名称的解析

1、 每个系统管理员都应该对下面这个系统配置文件非常熟悉:

  • /etc/hosts 被用来在小型网络中解析“名称” <---> “IP 地址”。

文件 /etc/hosts 中的每一行拥有如下的结构:

IP address - Hostname - FQDN

例如,

192.168.0.10    laptop  laptop.gabrielcanepa.com.ar

2、 /etc/resolv.conf 特别指定 DNS 服务器的 IP 地址和搜索域,它被用来在没有提供域名后缀时,将一个给定的查询名称对应为一个全称域名。

在正常情况下,你不必编辑这个文件,因为它是由系统管理的。然而,若你非要改变 DNS 服务器的 IP 地址,建议你在该文件的每一行中,都应该遵循下面的结构:

nameserver - IP address

例如,

nameserver 8.8.8.8

3、 /etc/host.conf 特别指定在一个网络中主机名被解析的方法和顺序。换句话说,告诉名称解析器使用哪个服务,并以什么顺序来使用。

尽管这个文件由几个选项,但最为常见和基本的设置包含如下的一行:

order bind,hosts

它意味着解析器应该首先查看 resolv.conf 中特别指定的域名服务器,然后到 /etc/hosts 文件中查找解析的名称。

4、 /etc/sysconfig/network 包含了所有网络接口的路由和全局主机信息。下面的值可能会被使用:

NETWORKING=yes|no
HOSTNAME=value

其中的 value 应该是 全称域名 FQDN

GATEWAY=XXX.XXX.XXX.XXX

其中的 XXX.XXX.XXX.XXX 是网关的 IP 地址。

GATEWAYDEV=value

在一个带有多个网卡的机器中, value 为网关设备名,例如 enp0s3。

5、 位于 /etc/sysconfig/network-scripts 中的文件(网络适配器配置文件)。

在上面提到的目录中,你将找到几个被命名为如下格式的文本文件。

ifcfg-name

其中 name 为网卡的名称,由 ip link show 返回:

检查网络连接状态

检查网络连接状态

例如:

网络文件

网络文件

除了环回接口(loopback),你还可以为你的网卡指定相似的配置。注意,假如设定了某些变量,它们将为这个指定的接口覆盖掉 /etc/sysconfig/network 中定义的默认值。在这篇文章中,为了能够解释清楚,每行都被加上了注释,但在实际的文件中,你应该避免加上注释:

HWADDR=08:00:27:4E:59:37 ### 网卡的 MAC 地址
TYPE=Ethernet ### 连接类型
BOOTPROTO=static ### 这代表着该网卡指定了一个静态地址。
                      ### 如果这个值指定为 dhcp,这个网卡会从 DHCP 服务器获取 IP 地址,并且就不应该出现以下两行。
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no ### 应该给以太网卡设置,以便可以让 NetworkManager 可以修改这个文件。
NAME=enp0s3
UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
ONBOOT=yes ### 操作系统会在启动时打开这个网卡。

设定主机名

在 RHEL 7 中, hostnamectl 命令被同时用来查询和设定系统的主机名。

要展示当前的主机名,输入:

# hostnamectl status

在RHEL 7 中检查系统的主机名

检查系统的主机名

要更改主机名,使用

# hostnamectl set-hostname [new hostname]

例如,

# hostnamectl set-hostname cinderella

要想使得更改生效,你需要重启 hostnamed 守护进程(这样你就不必因为要应用更改而登出并再登录系统):

# systemctl restart systemd-hostnamed

在 RHEL7 中设定系统主机名

设定系统主机名

另外, RHEL 7 还包含 nmcli 工具,它可被用来达到相同的目的。要展示主机名,运行:

# nmcli general hostname

且要改变主机名,则运行:

# nmcli general hostname [new hostname]

例如,

# nmcli general hostname rhel7

使用 nmcli 命令来设定主机名

使用 nmcli 命令来设定主机名

在开机时开启网络服务

作为本文的最后部分,就让我们看看如何确保网络服务在开机时被自动开启。简单来说,这个可通过创建符号链接到某些由服务的配置文件中的 [Install] 小节中指定的文件来实现。

以 firewalld(/usr/lib/systemd/system/firewalld.service) 为例:

[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service

要开启该服务,运行:

# systemctl enable firewalld

另一方面,要禁用 firewalld,则需要移除符号链接:

# systemctl disable firewalld

在开机时开启服务

在开机时开启服务

总结

在这篇文章中,我们总结了如何安装 SSH 及使用它安全地连接到一个 RHEL 服务器;如何改变主机名,并在最后如何确保在系统启动时开启服务。假如你注意到某个服务启动失败,你可以使用 systemctl status -l [service]journalctl -xn 来进行排错。

请随意使用下面的评论框来让我们知晓你对本文的看法。提问也同样欢迎。我们期待着你的反馈!


via: http://www.tecmint.com/rhcsa-series-secure-ssh-set-hostname-enable-network-services-in-rhel-7/

作者:Gabriel Cánepa 译者:FSSlc 校对:wxy

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

Dell 称它在中国市场出售的 42% 的 PC 运行的是 Kylin,这是一款 Canonical 帮助开发的基于 Ubuntu 的操作系统。

让开源粉丝欢喜的是:Linux 桌面年来了。或者说中国正在接近这个目标,Dell 报告称它售卖的超过 40% 的 PC 机运行的是 Canonical 帮助开发的 Ubuntu Linux

特别地,Dell 称 42% 的中国电脑运行 NeoKylin(中标麒麟),一款中国本土倾力打造的用于替代 Microsoft Windows的操作系统。它也简称麒麟,这是一款从 2013 年出来的基于 Ubuntu 的操作系统,也是这年开始 Canonical 公司与中国政府合作建立一个专供中国市场的 Ubuntu 变种。

麒麟的早期版本出现于 2001 年左右,也是基于其他操作系统,包括 FreeBSD,这是一个开放源码但是不同于 Linux 的类 Unix 操作系统。

Ubuntu 麒麟的外观和感觉很像 Ubuntu 的现代版本。它拥有的 Unity 界面,并运行开源软件的标准套件,以及专门的如 Youker 助理程序,它是一个图形化的前端,帮助用户管理基本计算任务。但是麒麟的默认主题使得它看起来有点像 Windows 而不是 Ubuntu。

鉴于桌面 Linux PC 市场在世界上大多数国家的相对停滞,戴尔的宣布是令人吃惊的。结合中国对当前版本 windows 的轻微敌意,这个消息并不看好着微软在中国市场的前景。

紧跟着 Dell 公司宣布在华投资1.25亿美元之后,一位决策者给华尔街杂志的评论中提到了 Dell 在中国市场上 PC 的销售。

Ubuntu Kylin


via: http://thevarguy.com/open-source-application-software-companies/091515/ubuntu-linux-based-open-source-os-runs-42-percent-dell-pc

作者:Christopher Tozzi 译者:geekpi 校对:wxy

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

Docker Container Talk

这是 Docker 开发者在 Containercon 上的演讲,谈论将来的容器在安全和实时迁移方面的创新

来自西雅图的消息。当前 IT 界最热的词汇是“容器”,美国有两大研讨会:Linuxcon USA 和 Containercon,后者就是为容器而生的。

Docker 公司是开源 Docker 项目的商业赞助商,本次研讨会这家公司有 3 位高管带来主题演讲,但公司创始人 Solomon Hykes 没上场演讲。

Hykes 曾在 2014 年的 Linuxcon 上进行过一次主题演讲,但今年的 Containeron 他只坐在观众席上。而工程部高级副总裁 Marianna Tessel、Docker 首席安全官 Diogo Monica 和核心维护员 Michael Crosby 为我们演讲 Docker 新增的功能和将来会有的功能。

Tessel 强调 Docker 现在已经被很多世界上大型组织用在生产环境中,包括美国政府。Docker 也被用在小环境中,比如树莓派,一块树莓派上可以跑 2300 个容器。

“Docker 的功能正在变得越来越强大,而部署方法变得越来越简单。”Tessel 在会上说道。

Tessel 把 Docker 形容成一艘游轮,内部由强大而复杂的机器驱动,外部为乘客提供平稳航行的体验。

Docker 试图解决的领域是简化安全配置。Tessel 认为对于大多数用户和组织来说,避免网络漏洞所涉及的安全问题是一个乏味而且复杂的过程。

于是 Docker Content Trust 就出现在 Docker 1.8 release 版本中了。安全项目领导 Diogo Mónica 中加入了 Tessel 的台上讨论,说安全是一个难题,而 Docker Content Trust 就是为解决这个难道而存在的。

Docker Content Trust 提供一种方法来验证一个 Docker 应用是否可信,以及多种方法来限制欺骗和病毒注入。

为了证明他的观点,Monica 做了个现场示范,演示 Content Trust 的效果。在一个实验中,一个网站在更新过程中其 Web App 被人为攻破,而当 Content Trust 启动后,这个黑客行为再也无法得逞。

“不要被这个表面上简单的演示欺骗了,”Tessel 说道,“你们看的是最安全的可行方案。”

Docker 以前没有实现的领域是实时迁移,这个技术在 VMware 虚拟机中叫做 vMotion,而现在,Docker 也实现了这个功能。

Docker 首席维护员 Micheal Crosby 在台上做了个实时迁移的演示,Crosby 把这个过程称为快照和恢复:首先从运行中的容器拿到一个快照,之后将这个快照移到另一个地方恢复。

一个容器也可以克隆到另一个地方,Crosby 将他的克隆容器称为“多利”,就是世界上第一只被克隆出来的羊的名字。

Tessel 也花了点时间聊了下 RunC 组件,这是个正在被 Open Container Initiative 作为多方开发的项目,目的是让它可以从 Linux 扩展到包括 Windows 和 Solaris 在内的多种操作系统。

Tessel 总结说她不知道 Docker 的未来是什么样,但对此抱非常乐观的态度。

“我不确定未来是什么样的,但我很确定 Docker 会在这个世界中脱颖而出”,Tessel 说的。

Sean Michael Kerner 是 eWEEK 和 InternetNews.com 网站的高级编辑,可通过推特 @TechJournalist 关注他。


via: http://www.eweek.com/virtualization/docker-working-on-security-components-live-container-migration.html

作者:Sean Michael Kerner 译者:bazz2 校对:wxy

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

在终端工作是一件很有趣的事情。今天,我们将会列举一些有趣得为你带来欢笑的Linux命令。

1. rev

创建一个文件,在文件里面输入几个单词,rev命令会将你写的东西反转输出到控制台。

# rev  <file name>

Selection_002

Selection_001

2. fortune

这个命令没有被默认安装,用apt-get命令安装它,fortune命令会随机显示一些句子

crank@crank-System:~$ sudo apt-get install fortune

Selection_003

利用fortune命令的 -s 选项,他会限制一个句子的输出长度。

# fortune -s

Selection_004

3. yes

# yes <string>

这个命令会不停打印字符串,直到用户把这进程给结束掉。

# yes unixmen

Selection_005

4. figlet

这个命令可以用apt-get安装,安装之后,在/usr/share/figlet可以看到一些ascii字体文件。

cd /usr/share/figlet

#figlet -f <font>  <string>
#figlet -f big.flf unixmen

Selection_006

#figlet -f block.flf  unixmen

Selection_007

当然,你也可以尝试使用其他的选项。

5. asciiquarium

这个命令会将你的终端变成一个海洋馆。

下载term animator:

# wget http://search.cpan.org/CPAN/authors/id/K/KB/KBAUCOM/Term-Animation-2.4.tar.gz

安装并且配置这个包:

# tar -zxvf Term-Animation-2.4.tar.gz
# cd Term-Animation-2.4/
# perl Makefile.PL && make && make test
# sudo make install

接着安装下面这个包:

# apt-get install libcurses-perl

下载并且安装asciiquarium:

# wget http://www.robobunny.com/projects/asciiquarium/asciiquarium.tar.gz
# tar -zxvf asciiquarium.tar.gz 
# cd asciiquarium_1.0/
# cp asciiquarium /usr/local/bin/

执行如下命令:

# /usr/local/bin/asciiquarium

asciiquarium_1.1 : perl_008

6. bb

# apt-get install bb
# bb

看看会输出什么?

Selection_009

7. sl

有的时候你可能把 ls 误打成了 sl,其实 sl 也是一个命令,如果你打 sl的话,你会看到一个移动的火车头

# apt-get install sl

# sl

Selection_012

8. cowsay

一个很常见的命令,它会用ascii显示你想说的话。

apt-get install cowsay

# cowsay <string>

Selection_013

或者,你可以用其他的角色来取代默认角色来说这句话,这些角色都存储在/usr/share/cowsay/cows目录下

# cd /usr/share/cowsay/cows

cowsay -f ghostbusters.cow  unixmen

Selection_014

或者

# cowsay -f bud-frogs.cow Rajneesh

Selection_015

9. toilet

你没看错,这是个命令来的,他会将字符串以彩色的ascii字符串形式输出到终端

# apt-get install toilet

# toilet --gay unixmen

Selection_016

toilet -F border -F gay unixmen

Selection_020

toilet  -f mono12 -F metal  unixmen

Selection_018

10. aafire

aafire能让你的终端燃起来。

# apt-get install libaa-bin

# aafire

Selection_019

就这么多,祝你们在Linux终端玩得开心哈!!!


via: http://www.unixmen.com/list-10-funny-linux-commands/

作者:Rajneesh Upadhyay 译者:tnuoccalanosrep 校对:wxy

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