分类 系统运维 下的文章

MyCLI 是一个易于使用的命令行客户端,可用于受欢迎的数据库管理系统 MySQL、MariaDB 和 Percona,支持自动补全和语法高亮。它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持。MyCLI 还支持通过 SSL 安全连接到 MySQL 服务器。

MyCLI 的特性

  • 当你第一次使用它的时候,将会自动创建一个文件 ~/.myclirc
  • 当输入 SQL 的关键词和数据库中的表、视图和列时,支持自动补全。
  • 默认情况下也支持智能补全,能根据上下文的相关性提供补全建议。

比如:

SELECT * FROM <Tab> - 这将显示出数据库中的表名。
SELECT * FROM users WHERE <Tab> - 这将简单的显示出列名称。
  • 通过使用 Pygents 支持语法高亮
  • 支持 SSL 连接
  • 提供多行查询支持
  • 它可以将每一个查询和输出记录到一个文件中(默认情况下禁用)。
  • 允许保存收藏一个查询(使用 \fs 别名 保存一个查询,并可使用 \f 别名 运行它)。
  • 支持 SQL 语句执行和表查询计时
  • 以更吸引人的方式打印表格数据

如何在 Linux 上为 MySQL 和 MariaDB 安装 MyCLI

在 Debian/Ubuntu 发行版上,你可以很容易的像下面这样使用 apt 命令 来安装 MyCLI 包:

$ sudo apt-get update
$ sudo apt-get install mycli

同样,在 Fedora 22+ 上也有 MyCLI 的可用包,你可以像下面这样使用 dnf 命令 来安装它:

$ sudo dnf install mycli

对于其他 Linux 发行版,比如 RHEL/CentOS,你需要使用 Python 的 pip 工具来安装 MyCLI。首先,使用下面的命令来安装 pip:

$ sudo yum install pip  

安装好 pip 以后,你可以像下面这样安装 MyCLI:

$ sudo pip install mycli

在 Linux 中如何使用 MyCLI 连接 MySQL 和 MariaDB

安装好 MyCLI 以后,你可以像下面这样使用它:

$ mycli -u root -h localhost 

自动补全

对于关键词和 SQL 函数可以进行简单的自动补全:

MySQL Auto Completion

MySQL 自动补全

智能补全

当输入 FROM 关键词以后会进行表名称的补全:

MySQL Smart Completion

MySQL 智能补全

别名支持

当表的名称设置别名以后,也支持列名称的补全:

MySQL Alias Support

MySQL 别名支持

语法高亮

支持 MySQL 语法高亮:

MySQL Syntax Highlighting

MySQL 语法高亮

格式化 SQL 的输出

MySQL 的输出会通过 less 命令 进行格式化输出:

MySQL Formatted Output

MySQL 格式化输出

要登录 MySQL 并同时选择数据库,你可以使用和下面类似的命令:

$ mycli local_database
$ mycli -h localhost -u root app_db
$ mycli mysql://amjith@localhost:3306/django_poll

更多使用选项,请输入:

$ mycli --help

MyCLI 主页: http://mycli.net/index

记得阅读一些关于 MySQL 管理的有用文章:

  1. 在 Linux 中用于数据库管理的 20 个 MySQL(Mysqladmin)命令
  2. 如何在 Linux 中更改默认的 MySQL/MariaDB 数据目录
  3. 在 Linux 中监测 MySQL 性能的 4 个实用命令行工具
  4. 如何在 Linux 中更改 MySQL 或 MariaDB 的 Root 密码
  5. MySQL 备份和恢复数据库管理命令

MyCLI 作者写的两篇如何创建具有可发现性的交互式命令行客户端的文章:

  1. 4 个拥有绝佳命令行界面的终端程序
  2. 4 个用于构建优秀的命令行用户界面的 Python 库

这就是本文的全部内容了。在这篇指南中,我们展示了如何通过一些简单的命令在 Linux 中安装和使用 MyCLI。记得通过下面的反馈表向我们分享你关于这篇文章的想法。


作者简介:

Aaron Kili是一名 Linux 和 F.O.S.S 的爱好者,未来的 Linux 系统管理员、网站开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并乐于分享知识。


via: https://www.tecmint.com/mycli-mysql-client-with-auto-completion-syntax-highlighting/

作者:Aaron Kili 译者:ucasFL 校对:wxy

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

本系列教程将引导你了解如何在 CentOS 7 安装 iRedMail 以及 Samba4 AD 域控制器,以便域帐户可以通过 Thunderbird 桌面客户端或通过 Roundcube Web 界面发送或接收邮件。

将要安装 iRedMail 的 CentOS 7 服务器需允许通过 25 和 587 端口进行 SMTP 或邮件路由服务,并且还将通过 Dovecot 作为邮件传递代理,提供 POP3 和 IMAP 服务,两者都使用安装过程中签发的自签名证书进行安全保护。

收件人邮箱将与 Roundcube 提供的 webmail 用户代理一起存储在同一台 CentOS 服务器上。iRedMail 将使用 Samba4 AD 来查询和验证收件人帐户,在 AD 组的帮助下创建邮件列表,并通过 Samba4 AD DC 控制邮件帐户。

需要:

步骤 1:在 CentOS 7 上安装 iRedMail

1、 在安装 iRedMail 之前,请先确保你使用下面的指南在你的机器上安装了一个全新的 CentOS 7 操作系统:

2、 同样使用下面的命令确保系统更新了最新的安全补丁和软件包。

# yum update

3、 系统同样需要一个 FQDN 主机名,使用下面的命令设置。使用你自定义的 FQDN 代替 mail.tecmint.lan 变量。

# hostnamectl set-hostname mail.tecmint.lan

使用下面的命令验证系统主机名。

# hostname -s   # Short name
# hostname -f   # FQDN
# hostname -d   # Domain
# cat /etc/hostname  # Verify it with cat command

Verify CentOS 7 Hostname

验证 CentOS 7 主机名

4、 通过手动编辑 /etc/hosts,将机器的 FQDN 和短名称映射到机器的回环 IP 地址。添加如下所示的值,并相应替换 mail.tecmint.lan 和 mail 的值。

127.0.0.1   mail.tecmint.lan mail  localhost localhost.localdomain

5、 iRedMail 专家建议应该完全禁用 SELinux。通过编辑 /etc/selinux/config 并将 SELINUX 参数的值从 permissive 设置成 disabled 来禁用 SELinux。

SELINUX=disabled

重启机器并应用新的 SELinux 策略,或者运行 setenforce 带上参数 0 来强制 SELinux 立即禁用。

# reboot
或者
# setenforce 0

6、 接下来,安装下面这些接下来会用来系统管理的软件包:

# yum install bzip2 net-tools bash-completion wget

7、 要安装 iRedMail,首先打开下载页 http://www.iredmail.org/download.html 中并用下面的命令下载最新的版本。

# wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.6.tar.bz2

8、 下载完成后,使用下面命令解压压缩包并进入解压后的 iRedMail 目录。

# tar xjf iRedMail-0.9.6.tar.bz2 
# cd iRedMail-0.9.6/
# ls

9、 使用下面的命令执行 iRedMail 的 shell 脚本来开始安装。接下来安装器会询问一系列的问题。

# bash iRedMail.sh

10、 在首个欢迎提示中,点击 Yes 来继续安装。

iRedMail Setup Wizard

iRedMail 安装向导

11、 接下来,选择邮件存储的位置。iRedMail 默认邮箱的存储位置在 /var/vmail/ 中。

如果这个目录所在的分区有足够的空间来保存你所有域帐户的邮件,接着点击 Next 来继续。

否则,如果你已经配置一个更大的分区来用于邮件存储,那么就用不同的目录来更改默认位置。

iRedMail Mail Storage Path

iRedMail 邮件存储路径

12、 在下一步中,选择要与 iRedMail 进行交互的前端 Web 服务器。今后将完全禁用 iRedMail 管理面板,因此我们将使用前端 Web 服务器仅通过 Roundcube Web 面板访问帐户邮件。

如果你每小时没有数以千计的邮件帐户访问 webmail 界面,那么你应该使用 Apache Web 服务器来实现其灵活性和易于管理。

iRedMail Preferred Web Server

iRedMail 首选的 Web 服务器

13、 在此步骤中,由于 Samba4 域控制器的兼容性原因,请选择 OpenLDAP 后端数据库,并点击 Next 继续,但是一旦将 iRedMail 集成到 Samba 域控制器中,我们将不再使用该 OpenLDAP 数据库。

iRedMail LDAP Backend

iRedMail LDAP 后端

14、 接下来,如下图所示,为你的 Samba4 域名指定 LDAP 后缀,然后点击 Next 继续。

iRedMail LDAP Suffix

iRedMail LDAP 后缀

15、 在接下来的提示中,只要输入你的域名,并点击 Next 继续。相应地替换 tecmint.lan 值。

iRedMail Mail Domain

iRedMail 邮件域

16、 现在,为 [email protected] 管理员设置一个密码,并点击 Next 继续。

iRedMail Mail Domain Administrator

iRedMail 邮件域管理员

17、 接下来,从列表中选择要与邮件服务器集成的可选组件。我强烈建议你安装 Roundcube,以便为域帐户提供访问邮件的 Web 界面,尽管你也可以在不同的计算机上安装并配置 Roundcube,以便在高负载情况下释放邮件服务器资源。

对于受限访问互联网的本地域,特别是在我们使用域集成时,除了 Awstats 可以用于你进行邮件分析,其他组件不是非常有用。

iRedMail Optional Components

iRedMail 可选组件

18、 在下一步中输入 Y 来应用配置并开始安装。

iRedMail Configuration Changes

iRedMail 配置更改

19、 最后,所有的问题都输入 Y,接受 iRedMail 脚本自动配置你的防火墙以及 MySQL 配置文件。

iRedMail System Configuration

iRedMail 系统配置

20、 安装完成后,安装器会提供一些敏感信息。比如 iRedAdmin 凭证、web 面板的 URL 地址以及安装过程中使用的所有参数的文件位置。

iRedMail Installation Summary

iRedMail 安装总结

仔细阅读上面的信息,使用下面的命令重启机器来使所有的邮件服务启用。

# init 6

21、 系统重启后,使用 root 权限的帐户登录或以 root 身份登录,并使用下面的命令列出所有的网络套接字以及你邮件服务器监听的相关程序。

在套接字列表中,你会看到邮件服务器几乎覆盖邮件服务正常运行所需的所有服务:SMTP/S、POP3/S、IMAP/S 和防病毒以及垃圾邮件保护。

# netstat -tulpn

iRedMail Network Sockets

iRedMail 网络套接字

22、 为了查看 iRedMail 已修改的所有配置文件的位置、iRedMail 安装过程中用于数据库管理的凭据、邮件管理帐户以及其他帐户,那么就显示 iRedMail.tips 这个文件。

该文件位于你最初解压安装包的目录中。请注意,你应该移动并保护此文件,因为它包含有关邮件服务器的敏感信息。

# less iRedMail-0.9.6/iRedMail.tips

23、 上面提到的包含邮件服务器详细信息的文件也将自动发送到 postmaster 这个邮件服务器管理员帐户中。

通过在浏览器中输入机器的 IP 地址,你可以通过 HTTPS 协议安全地访问 webmail。接受 iRedMail 自签名证书在浏览器中生成的错误,并使用在安装中为 postmaster@your\_domain.tld 帐户设置的密码登录。阅读并将此电子邮件存储到一个安全的邮箱。

https://192.168.1.254

iRedMail Account Login

iRedMail 登录帐户

iRedMail Web Mail

iRedMail Web 邮件

就是这样了!到目前为止,你已经配置了一台完整的自己运行的邮件服务器了,但尚未与 Samba4 AD 域控制器服务集成。

在下一部分中,我们将看到如何修改 iRedMail 服务(postfix,dovecot 和 roundcube 配置文件),以便查询域帐户、发送、接收和读取邮件。


作者简介:

我是一个电脑上瘾的家伙,开源和基于 linux 系统软件的粉丝,在 Linux 发行版桌面、服务器和 bash 脚本方面拥有大约 4 年的经验。


via: http://www.tecmint.com/install-iredmail-on-centos-7-for-samba4-ad-integration/

作者:Matei Cezar 译者:geekpi 校对:wxy

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

ttyload 是一个轻量级的实用程序,它为 Linux 和其他类 Unix 系统上提供随着时间变化的彩色平均负载。它实现了在终端中(“tty”)图形化跟踪系统的平均负载。

它已知可以在诸如 Linux、IRIX、Solaris、FreeBSD、MacOS X (Darwin) 和 Isilon OneFS 等系统上运行。它被设计为可以容易地移植到其他平台,但这也带来了一些艰苦的工作。

它的一些值得注意功能是:它使用标准的硬编码 ANSI 转义序列进行屏幕显示和着色。如果你想要在一个没有什么负载压力的系统中查看工作的情况,它甚至还自带了一个相对独立(默认不会安装,甚至不会构建)的负载炸弹。

建议阅读:GoTTY:把你的 Linux 终端放到浏览器里面

在本篇中,我们会向你展示如何在 Linux 安装及使用 ttyload,以在终端中用彩色图形查看系统的平均负载。

如何在 Linux 中安装 ttyload

在基于 Debian/Ubuntu 的发行版中,你可以输入下面的 apt 命令来从默认的系统仓库中安装 ttyload。

$ sudo apt-get install ttyload

在其他发行版中,你可以如下从 ttyload 的源码安装。

$ git clone https://github.com/lindes/ttyload.git
$ cd ttyload
$ make
$ ./ttyload
$ sudo make install

安装完成后,你可以输入下面的命令启动。

$ ttyload

ttyload - Graphical View of Linux Load Average

ttyload - 图形浏览 Linux 的平均负载

注意:要关闭程序,只需按下 Ctrl+C 键。

你也可以定义两次刷新之间间隔的秒数。默认是 4 秒,最小是 1 秒。

$ ttyload -i 5
$ ttyload -i 1

要以单色模式运行,即它会关闭 ANSI 转义,如下使用 -m

$ ttyload -m

ttyload - Monochrome Mode

ttyload – 单色模式

要获取 ttyload 的使用信息以及帮助,输入:

$ ttyload -h 

下面是一些尚不支持的重要功能:

  • 支持任意大小调整。
  • 使用相同的基本引擎制作 X 前端,“3xload”。
  • 面向日志的模式。

要获得更多信息,访问 ttyload 的主页:http://www.daveltd.com/src/util/ttyload/

就是这样了!在本文中,我们向你展示了如何在 Linux 中安装及使用 ttyload。通过下面的评论栏给我们回馈。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 的爱好者,即将推出的 Linux SysAdmin 网络开发人员,目前也是 TecMint 的内容创作者,他喜欢和电脑一起工作,并且坚信共享知识。


via: https://www.tecmint.com/ttyload-shows-color-coded-graph-of-linux-load-average/

作者:Aaron Kili 译者:geekpi 校对:wxy

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

在先前的文章中,我们解释了 Linux 中 shutdown、poweroff、halt、reboot 命令的不同之处,并揭示了在用不同的选项执行这些命令时它们实际做了什么。

本篇将会向你展示如何在系统关机时向所有的系统用户发送一条自定义的消息。

建议阅读:tuptime - 显示 Linux 系统的历史和统计运行时间

作为一名系统管理员,在你关闭服务器之前,你也许想要发送一条消息来警告他们系统将要关闭。默认上,shutdown 命令会如下所示给其他系统用户广播这条信息:

# shutdown 13:25

Linux 关机操作广播消息

Shutdown scheduled for Fri 2017-05-12 13:25:00 EAT, use 'shutdown -c' to cancel.
Broadcast message for root@tecmint (Fri 2017-05-12 13:23:34 EAT):
The system is going down for power-off at Fri 2017-05-12 13:25:00 EAT!

要在 shutdown 那行发送一条自定义的消息给其他系统用户,运行下面的命令。在本例中,关闭会在命令执行后的两分钟之后发生。

# shutdown 2 The system is going down for required maintenance. Please save any important work you are doing now!

Linux System Shutdown Message

Linux 系统关闭消息

假设你有一些关键的系统操作,如计划系统备份或更新会在系统关闭的时候进行,如下所示,你可以使用 -c 选项取消关机,并在执行玩这些操作后继续执行:

# shutdown -c

Linux 关机操作取消消息:

Shutdown scheduled for Fri 2017-05-12 14:10:22 EAT, use 'shutdown -c' to cancel.
Broadcast message for root@tecmint (Fri 2017-05-14 :10:27 EAT):
The system shutdown has been cancelled at Fri 2017-05-12 14:11:27 EAT!

另外,学习如何在 Linux 中使用简单和传统的方法在重启或者开机时自动执行命令/脚本

不要错过:

  1. 管理系统启动进程和服务(SysVinit、Systemd 和 Upstart)
  2. 11 个 Linux 中 cron 计划任务示例

现在你知道了如何在系统关闭前向其他系统用户发送自定义消息了。你有其他关于这个主题想要分享的想法么?何不使用下面的评论栏?


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,他喜欢和电脑一起工作,坚信共享知识。


via: https://www.tecmint.com/show-linux-server-shutdown-message/

作者:Aaron Kili 译者:geekpi 校对:wxy

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

WordPress 是一个免费开源、可高度自定义的内容管理系统(CMS),它被全世界数以百万计的人来运行博客和完整的网站。因为它是被用的最多的 CMS,因此有许多潜在的 WordPress 安全问题/漏洞需要考虑。

然而,如果我们遵循通常的 WordPress 最佳实践,这些安全问题可以避免。在本篇中,我们会向你展示如何使用 WPSeku,一个 Linux 中的 WordPress 漏洞扫描器,它可以被用来找出你安装的 WordPress 的安全漏洞,并阻止潜在的威胁。

WPSeku 是一个用 Python 写的简单的 WordPress 漏洞扫描器,它可以被用来扫描本地以及远程安装的 WordPress 来找出安全问题。

如何安装 WPSeku - Linux 中的 WordPress 漏洞扫描器

要在 Linux 中安装 WPSeku,你需要如下从 Github clone 最新版本的 WPSeku。

$ cd ~
$ git clone https://github.com/m4ll0k/WPSeku

完成之后,进入 WPSeku 目录,并如下运行。

$ cd WPSeku

使用 -u 选项指定 WordPress 的安装 URL,如下运行 WPSeku:

$ ./wpseku.py -u http://yourdomain.com 

WordPress Vulnerability Scanner

WordPress 漏洞扫描器

以下命令使用 -p 选项搜索 WordPress 插件中的跨站脚本(x)、本地文件夹嵌入(l)和 SQL 注入(s)漏洞,你需要在 URL 中指定插件的位置:

$ ./wpseku.py -u http://yourdomain.com/wp-content/plugins/wp/wp.php?id= -p [x,l,s]

以下命令将使用 -b 选项通过 XML-RPC 执行暴力密码登录。另外,你可以使用 --user--wordlist 选项分别设置用户名和单词列表,如下所示。

$ ./wpseku.py -u http://yourdomian.com --user username --wordlist wordlist.txt -b [l,x]   

要浏览所有 WPSeku 使用选项,输入:

$ ./wpseku.py --help

WPSeku WordPress Vulnerability Scanner Help

WPSeku WordPress 漏洞扫描帮助

WPSeku Github 仓库:https://github.com/m4ll0k/WPSeku

就是这样了!在本篇中,我们向你展示了如何在 Linux 中获取并使用 WPSeku 用于 WordPress 漏洞扫描。WordPress 是安全的,但需要我们遵循 WordPress 安全最佳实践才行。你有要分享的想法么?如果有,请在评论区留言。


作者简介:

Aaron Kili 是一个 Linux 及 F.O.S.S 热衷者,即将成为 Linux 系统管理员、web 开发者,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: https://www.tecmint.com/wpseku-wordpress-vulnerability-security-scanner/

作者:Aaron Kili 译者:geekpi 校对:wxy

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

Linfo 是一个自由开源的跨平台的服务器统计 UI 或库,它可以显示大量的系统信息。Linfo 是可扩展的,通过 composer,很容易使用 PHP5 库以程序化方式获取来自 PHP 应用的丰富的系统统计数据。它有 Web UI 及其Ncurses CLI 视图,在 Linux、Windows、BSD、Darwin/Mac OSX、Solaris 和 Minix 系统上均可用。

Linfo 显示的系统信息包括 CPU 类型/速度、服务器的体系结构、挂载点用量、硬盘/光纤/Flash 驱动器、硬件设备、网络设备和统计信息、运行时间/启动日期、主机名、内存使用量(RAM 和 swap)、温度/电压/风扇速度和 RAID 阵列等。

环境要求:

  • PHP 5.3
  • pcre 扩展
  • Linux – /proc/sys 已挂载且可对 PHP 可读,已经在 2.6.x/3.x 内核中测试过

如何在 Linux 中安装 Linfo 服务器统计 UI及库

首先,在 Apache 或 Nginx 的 Web 根目录下创建 Linfo 的目录,然后,使用下面展示的 rsync 命令 克隆仓库文件并将其移动到目录 /var/www/html/linfo 下:

$ sudo mkdir -p /var/www/html/linfo 
$ git clone git://github.com/jrgp/linfo.git 
$ sudo rsync -av linfo/ /var/www/html/linfo/

接下来,将 sample.config.inc.php 重命名为 config.inc.php。这是 Linfo 的配置文件,你可以在里面定义你想要的值:

$ sudo mv sample.config.inc.php config.inc.php 

现在,在 Web 浏览器中打开链接 http://SERVER_IP/linfo 来查看这个 Web UI,正如下面的截图所展示的。

从截图中可以看到, Linfo 显示了系统内核信息、硬件组成、RAM 统计、网络设备、驱动器以及文件系统挂载点。

Linux Server Health Information

Linux 服务器运行信息

你可以将下面一行内容加入配置文件 config.inc.php 中,以便进行故障排查时看到错误信息。

$settings['show_errors'] = true;

以 Ncurses 模式运行 Linfo

Linfo 有一个基于 ncurses 的简单界面,它依赖于 phpncurses 扩展。

# yum install php-pecl-ncurses                    [在 CentOS/RHEL 上]
# dnf install php-pecl-ncurses                    [在 Fedora 上]
$ sudo apt-get install php5-dev libncurses5-dev   [在 Debian/Ubuntu 上] 

现在,像下面这样编译这个 php 扩展:

$ wget http://pecl.php.net/get/ncurses-1.0.2.tgz
$ tar xzvf ncurses-1.0.2.tgz
$ cd ncurses-1.0.2
$ phpize # generate configure script
$ ./configure
$ make
$ sudo make install

接下来,如果编译成功并安装好了该 php 扩展,运行下面的命令:

$ sudo echo extension=ncurses.so > /etc/php5/cli/conf.d/ncurses.ini

验证 ncurse:

$ php -m | grep ncurses

现在,运行 Info:

$ cd /var/www/html/linfo/
$ ./linfo-curses

Linux Server Information

Linux 服务器信息

Info 中尚欠缺下面这些功能:

  1. 支持更多 Unix 操作系统(比如 Hurd、IRIX、AIX 和 HP UX 等)
  2. 支持不太出名的操作系统 Haiku/BeOS
  3. 额外功能/扩展
  4. 在 ncurses 模式中支持 htop 类 特性

如果想了解更多信息,请访问 Linfo 的 GitHub 仓库: https://github.com/jrgp/linfo

这就是本文的全部内容了。从现在起,你可以使用 Linfo 在 Web 浏览器中查看 Linux 系统的信息。尝试一下,并在评论中和我们分享你的想法。另外,你是否还知道与之类似的有用工具/库?如果有,请给我们提供一些相关信息。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识


via: https://www.tecmint.com/linfo-shows-linux-server-health-status-in-real-time/

作者:Aaron Kili 译者:ucasFL 校对:wxy

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