Shusain 发布的文章

在我们之前的 Ansible 教程中,我们讨论了 Ansible 的安装和配置。在这个 Ansible 教程中,我们将学习一些基本的 Ansible 命令的例子,我们将用它来管理基础设施。所以让我们先看看一个完整的 Ansible 命令的语法:

$ ansible <group> -m <module> -a <arguments>

在这里,我们可以用单个主机或用 <group> 代替一组主机,<arguments> 是可选的参数。现在我们来看看一些 Ansible 的基本命令。

检查主机的连通性

我们在之前的教程中也使用了这个命令。检查主机连接的命令是:

$ ansible <group> -m ping

重启主机

$ ansible <group> -a "/sbin/reboot"

检查主机的系统信息

Ansible 收集所有连接到它主机的信息。要显示主机的信息,请运行:

$ ansible <group> -m setup | less

其次,通过传递参数来从收集的信息中检查特定的信息:

$ ansible <group> -m setup -a "filter=ansible_distribution"

传输文件

对于传输文件,我们使用模块 copy ,完整的命令是这样的:

$ ansible <group> -m copy -a "src=/home/dan dest=/tmp/home"

管理用户

要管理已连接主机上的用户,我们使用一个名为 user 的模块,并如下使用它。

创建新用户

$ ansible <group> -m user -a "name=testuser password=<encrypted password>"

删除用户

$ ansible <group> -m user -a "name=testuser state=absent"

注意: 要创建加密密码,请使用 "mkpasswd -method=sha-512"

更改权限和所有者

要改变已连接主机文件的所有者,我们使用名为 file 的模块,使用如下。

更改文件权限

$ ansible <group> -m file -a "dest=/home/dan/file1.txt mode=777"

更改文件的所有者

$ ansible <group> -m file -a "dest=/home/dan/file1.txt mode=777 owner=dan group=dan"

管理软件包

我们可以通过使用 yumapt 模块来管理所有已连接主机的软件包,完整的命令如下:

检查包是否已安装并更新

$ ansible <group> -m yum -a "name=ntp state=latest"

检查包是否已安装,但不更新

$ ansible <group> -m yum -a "name=ntp state=present"

检查包是否是特定的版本

$ ansible <group> -m yum -a "name= ntp-1.8 state=present"

检查包是否没有安装

$ ansible <group> -m yum -a "name=ntp state=absent"

管理服务

要管理服务,我们使用模块 service ,完整命令如下:

启动服务

$ansible <group> -m service -a "name=httpd state=started"

停止服务

$ ansible <group> -m service -a "name=httpd state=stopped"

重启服务

$ ansible <group> -m service -a "name=httpd state=restarted"

这样我们简单的、单行 Ansible 命令的教程就完成了。此外,在未来的教程中,我们将学习创建 playbook,来帮助我们更轻松高效地管理主机。


via: http://linuxtechlab.com/ansible-tutorial-simple-commands/

作者:SHUSAIN 译者:geekpi 校对:wxy

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

在本文中,我将讨论 dudf 命令。dudf 命令都是 Linux 系统的重要工具,来显示 Linux 文件系统的磁盘使用情况。这里我们将通过一些例子来分享这两个命令的用法。

du 命令

du(disk usage 的简称)是用于查找文件和目录的磁盘使用情况的命令。du 命令在与各种选项一起使用时能以多种格式提供结果。

下面是一些例子:

1、 得到一个目录下所有子目录的磁盘使用概况

$ du /home

du command

该命令的输出将显示 /home 中的所有文件和目录以及显示块大小。

2、 以人类可读格式也就是 kb、mb 等显示文件/目录大小

$ du -h /home

du command

3、 目录的总磁盘大小

$ du -s /home

du command

它是 /home 目录的总大小

df 命令

df(disk filesystem 的简称)用于显示 Linux 系统的磁盘利用率。(LCTT 译注:df 可能应该是 disk free 的简称。)

下面是一些例子。

1、 显示设备名称、总块数、总磁盘空间、已用磁盘空间、可用磁盘空间和文件系统上的挂载点。

$ df

df command

2、 人类可读格式的信息

$ df -h

df command

上面的命令以人类可读格式显示信息。

3、 显示特定分区的信息

$ df -hT /etc

df command

-hT 加上目标目录将以可读格式显示 /etc 的信息。

虽然 dudf 命令有更多选项,但是这些例子可以让你初步了解。如果在这里找不到你要找的东西,那么你可以参考有关命令的 man 页面。

另外,在这阅读我的其他帖子,在那里我分享了一些其他重要和经常使用的 Linux 命令。

如往常一样,欢迎你留下评论和疑问,因此在下面留下你的评论和疑问,我会回复你。


via: http://linuxtechlab.com/du-df-commands-examples/

作者:SHUSAIN 译者:geekpi 校对:wxy

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

所有人都在讨论云。尽管市面上有很多为我们提供云存储和其他云服务的主要服务商,但是我们还是可以为自己搭建一个私有云。

在本教程中,我们将讨论如何利用 OwnCloud 搭建私有云。OwnCloud 是一个可以安装在我们 Linux 设备上的 web 应用程序,能够存储和用我们的数据提供服务。OwnCloud 可以分享日历、联系人和书签,共享音/视频流等等。

本教程中,我们使用的是 CentOS 7 系统,但是本教程同样适用于其他 Linux 发行版中安装 OwnCloud。让我们开始安装 OwnCloud 并且做一些准备工作,

预备

$ sudo yum install php-mysql php-json php-xml php-mbstring php-zip php-gd curl php-curl php-pdo

安装

安装 OwnCloud,我们现在需要在服务器上下载 OwnCloud 安装包。使用下面的命令从官方网站下载最新的安装包(10.0.4-1):

$ wget https://download.owncloud.org/community/owncloud-10.0.4.tar.bz2

使用下面的命令解压:

$ tar -xvf owncloud-10.0.4.tar.bz2

现在,将所有解压后的文件移动至 /var/www/html

$ mv owncloud/* /var/www/html

下一步,我们需要在 Apache 的配置文件 httpd.conf 上做些修改:

$ sudo vim /etc/httpd/conf/httpd.conf

更改下面的选项:

AllowOverride All

保存该文件,并修改 OwnCloud 文件夹的文件权限:

$ sudo chown -R apache:apache /var/www/html/
$ sudo chmod 777 /var/www/html/config/

然后重启 Apache 服务器执行修改:

$ sudo systemctl restart httpd

现在,我们需要在 MariaDB 上创建一个数据库,保存来自 OwnCloud 的数据。使用下面的命令创建数据库和数据库用户:

$ mysql -u root -p
MariaDB [(none)] > create database owncloud;
MariaDB [(none)] > GRANT ALL ON owncloud.* TO ocuser@localhost IDENTIFIED BY 'owncloud';
MariaDB [(none)] > flush privileges;
MariaDB [(none)] > exit

服务器配置部分完成后,现在我们可以在网页浏览器上访问 OwnCloud。打开浏览器,输入您的服务器 IP 地址,我这边的服务器是 10.20.30.100:

安装 owncloud

一旦 URL 加载完毕,我们将呈现上述页面。这里,我们将创建管理员用户同时提供数据库信息。当所有信息提供完毕,点击“Finish setup”。

我们将被重定向到登录页面,在这里,我们需要输入先前创建的凭据:

安装 owncloud

认证成功之后,我们将进入 OwnCloud 面板:

安装 owncloud

我们可以使用手机应用程序,同样也可以使用网页界面更新我们的数据。现在,我们已经有自己的私有云了,同时,关于如何安装 OwnCloud 创建私有云的教程也进入尾声。请在评论区留下自己的问题或建议。


via: http://linuxtechlab.com/create-personal-cloud-install-owncloud/

作者:SHUSAIN 译者:CYLeft 校对:wxy

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

在本教程中,我们将学习安装 VNC 服务器并使用 TLS 加密保护 VNC 会话。

此方法已经在 CentOS 6&7 上测试过了,但是也可以在其它的版本/操作系统上运行(RHEL、Scientific Linux 等)。

(推荐阅读:保护 SSH 会话终极指南

安装 VNC 服务器

在机器上安装 VNC 服务器之前,请确保我们有一个可用的 GUI(图形用户界面)。如果机器上还没有安装 GUI,我们可以通过执行以下命令来安装:

yum groupinstall "GNOME Desktop"

现在我们将 tigervnc 作为我们的 VNC 服务器,运行下面的命令运行:

# yum install tigervnc-server

安装完成后,我们将创建一个新的用户访问服务器:

# useradd vncuser

并使用以下命令为其分配访问 VNC 的密码:

# vncpasswd vncuser

我们在 CentOS 6&7 上配置会有一点改变,我们首先看 CentOS 6 的配置。

CentOS 6

现在我们需要编辑 VNC 配置文件:

# vim /etc/sysconfig/vncservers

并添加下面这几行:

[ …]
VNCSERVERS= "1:vncuser"
VNCSERVERARGS[1]= "-geometry 1024×768″

保存文件并退出。接下来重启 vnc 服务使改动生效:

# service vncserver restart

并在启动时启用它:

# chkconfig vncserver on

CentOS 7

在 CentOS 7 上,/etc/sysconfig/vncservers 已经改为 /lib/systemd/system/[email protected]。我们将使用这个配置文件作为参考,所以创建一个文件的副本,

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

接下来,我们将编辑文件以包含我们创建的用户:

# vim /etc/systemd/system/vncserver@:1.service

编辑下面 2 行中的用户:

ExecStart=/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i"
PIDFile=/home/vncuser/.vnc/%H%i.pid

保存文件并退出。接下来重启服务并在启动时启用它:

# systemctl restart vncserver@:1.service
# systemctl enable vncserver@:1.service

现在我们已经设置好了 VNC 服务器,并且可以使用 VNC 服务器的 IP 地址从客户机连接到它。但是,在此之前,我们将使用 TLS 加密保护我们的连接。

保护 VNC 会话

要保护 VNC 会话,我们将首先配置加密方法。我们将使用 TLS 加密,但也可以使用 SSL 加密。执行以下命令在 VNC 服务器上使用 TLS 加密:

# vncserver -SecurityTypes=VeNCrypt,TLSVnc

你将被要求输入密码来访问 VNC(如果使用其他用户,而不是上述用户)。

secure vnc server

现在,我们可以使用客户机上的 VNC 浏览器访问服务器,使用以下命令以安全连接启动 vnc 浏览器:

# vncviewer -SecurityTypes=VeNCrypt,TLSVnc 192.168.1.45:1

这里,192.168.1.45 是 VNC 服务器的 IP 地址。

secure vnc server

输入密码,我们可以远程访问服务器,并且也是 TLS 加密的。

这篇教程就完了,欢迎随时使用下面的评论栏提交你的建议或疑问。


via: http://linuxtechlab.com/secure-vnc-server-tls-encryption/

作者:Shusain 译者:geekpi 校对:wxy

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

系统管理员需要监控 IT 基础设施来确保一切正常运行。我们需要监控硬件,也就是内存、硬盘和 CPU 等的性能,我们也必须监控我们的网络。我们需要确保我们的网络不被过度使用,否则我们的程序,网站可能无法正常工作。在本教程中,我们将学习使用 iftop

推荐阅读使用 Nagios 进行资源监控用于检查系统信息的工具要监控的重要日志

iftop 是网络监控工具,它提供实时带宽监控。 iftop 测量进出各个套接字连接的总数据量,即它捕获通过网络适配器收到或发出的数据包,然后将这些数据相加以得到使用的带宽。

在 Debian/Ubuntu 上安装

iftop 存在于 Debian/Ubuntu 的默认仓库中,可以使用下面的命令安装:

$ sudo apt-get install iftop

使用 yum 在 RHEL/Centos 上安装

要在 CentOS 或 RHEL 上安装 iftop,我们需要启用 EPEL 仓库。要启用仓库,请在终端上运行以下命令:

RHEL/CentOS 7:

$ rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm

RHEL/CentOS 6(64 位):

$ rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

RHEL/CentOS 6 (32 位):

$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

EPEL 仓库安装完成后,我们可以用下面的命令安装 iftop

$ yum install iftop

这将在你的系统上安装 iftop。我们现在将用它来监控我们的网络。

使用 iftop

可以打开终端窗口,并输入下面的命令使用 iftop

$ iftop

network monitoring

现在你将看到计算机上发生的网络活动。你也可以使用:

$ iftop -n

这将在屏幕上显示网络信息,但使用 -n,则不会显示与 IP 地址相关的名称,只会显示 IP 地址。这个选项能节省一些将 IP 地址解析为名称的带宽。

我们也可以看到 iftop 可以使用的所有命令。运行 iftop 后,按下键盘上的 h 查看 iftop 可以使用的所有命令。

network monitoring

要监控特定的网络接口,我们可以在 iftop 后加上接口名:

$ iftop -I enp0s3

如上所述,你可以使用帮助来查看 iftop 可以使用的更多选项。但是这些提到的例子只是可能只是监控网络。


via: http://linuxtechlab.com/monitoring-network-bandwidth-iftop-command/

作者:SHUSAIN 译者:geekpi 校对:wxy

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

VI 编辑器是一个基于命令行的、功能强大的文本编辑器,最早为 Unix 系统开发,后来也被移植到许多的 Unix 和 Linux 发行版上。

在 Linux 上还存在着另一个 VI 编辑器的高阶版本 —— VIM(也被称作 VI IMproved)。VIM 只是在 VI 已经很强的功能上添加了更多的功能,这些功能有:

  • 支持更多 Linux 发行版,
  • 支持多种编程语言,包括 python、c++、perl 等语言的代码块折叠,语法高亮,
  • 支持通过多种网络协议,包括 http、ssh 等编辑文件,
  • 支持编辑压缩归档中的文件,
  • 支持分屏同时编辑多个文件。

接下来我们会讨论 VI/VIM 的命令以及选项。本文出于教学的目的,我们使用 VI 来举例,但所有的命令都可以被用于 VIM。首先我们先介绍 VI 编辑器的两种模式。

命令模式

命令模式下,我们可以执行保存文件、在 VI 内运行命令、复制/剪切/粘贴操作,以及查找/替换等任务。当我们处于插入模式时,我们可以按下 EscapeEsc)键返回命令模式

插入模式

在插入模式下,我们可以键入文件内容。在命令模式下按下 i 进入插入模式。

创建文件

我们可以通过下述命令建立一个文件(LCTT 译注:如果该文件存在,则编辑已有文件):

$ vi filename

一旦该文件被创建或者打开,我们首先进入命令模式,我们需要进入输入模式以在文件中输入内容。我们通过前文已经大致上了解这两种模式。

退出 Vi

如果是想从插入模式中退出,我们首先需要按下 Esc 键进入命令模式。接下来我们可以根据不同的需要分别使用两种命令退出 Vi。

  1. 不保存退出 - 在命令模式中输入 :q!
  2. 保存并退出 - 在命令模式中输入 :wq

移动光标

下面我们来讨论下那些在命令模式中移动光标的命令和选项:

  1. k 将光标上移一行
  2. j 将光标下移一行
  3. h 将光标左移一个字母
  4. l 将光标右移一个字母
    注意:如果你想通过一个命令上移或下移多行,或者左移、右移多个字母,你可以使用 4k 或者 5l,这两条命令会分别上移 4 行或者右移 5 个字母。
  5. 0 将光标移动到该行行首
  6. $ 将光标移动到该行行尾
  7. nG 将光标移动到第 n 行
  8. G 将光标移动到文件的最后一行
  9. { 将光标移动到上一段
  10. } 将光标移动到下一段

除此之外还有一些命令可以用于控制光标的移动,但上述列出的这些命令应该就能应付日常工作所需。

编辑文本

这部分会列出一些用于命令模式的命令,可以进入插入模式来编辑当前文件

  1. i 在当前光标位置之前插入内容
  2. I 在光标所在行的行首插入内容
  3. a 在当前光标位置之后插入内容
  4. A 在光标所在行的行尾插入内容
  5. o 在当前光标所在行之后添加一行
  6. O 在当前光标所在行之前添加一行

删除文本

以下的这些命令都只能在命令模式下使用,所以首先需要按下 Esc 进入命令模式,如果你正处于插入模式:

  1. dd 删除光标所在的整行内容,可以在 dd 前增加数字,比如 2dd 可以删除从光标所在行开始的两行
  2. d$ 删除从光标所在位置直到行尾
  3. d^ 删除从光标所在位置直到行首
  4. dw 删除从光标所在位置直到下一个词开始的所有内容

复制与黏贴

  1. yy 复制当前行,在 yy 前添加数字可以复制多行
  2. p 在光标之后粘贴复制行
  3. P 在光标之前粘贴复制行

上述就是可以在 VI/VIM 编辑器上使用的一些基本命令。在未来的教程中还会继续教授一些更高级的命令。如果有任何疑问和建议,请在下方评论区留言。


via: http://linuxtechlab.com/working-vi-editor-basics/

作者:Shusain 译者:ljgibbslf 校对:wxy

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