系统运维

如何为 Linux 系统中的 SSH 添加双重认证

近来很多知名企业都出现了密码泄露,业内对多重认证的呼声也越来越高。在这种多重认证的系统中,用户需要通过两种不同的认证程序:提供他们知道的信息(如 用户名/密码),再借助其他工具提供用户所不知道的信息(如 用手机生成的一次性密码)。这种组合方式常叫做双因子认证或者两阶段验证。 为了鼓励广泛采用双因子认证的方式,Google公司发布了Google Authenticator,一款开源的,可基于开放规则(如 HMAP/基于时间)生成一次性密码的软件。这是一款跨平台软件,可运行在Linux, Android, iOS。Google公司同时也支持插件式鉴别模块PAM(
2014-08-30
5分钟阅读时长

在 Linux 中为非 SSH 用户配置 SFTP 环境

在某些环境中,系统管理员想要允许极少数用户在可以传输文件到Linux机器中,但是不允许使用 SSH。要实现这一目的,我们可以使用SFTP,并为其构建chroot环境。 SFTP chroot背景: SFTP是指SSH文件传输协议(SSH File Transfer protocol)或安全文件传输协议(Secure File Transfer Protocol),它提供了可信数据流下的文件访问、文件传输以及文件管理功能。当我们为SFTP配置chroot环境后,只有被许可的用户可以访问,并被限制到他们的家目录中,换言之:被许可的用户将处于牢笼环境中,在此环境中它们甚至不能切换它们的目录。 在本文中
2014-08-26
3分钟阅读时长

怎样把坏的MySQL查询找到并杀死?

有时,关系型相关数据库系统的复杂性会把你搞晕,不过幸运的是,使用MySQL工具来管理查询就就可以避免这些复杂性。 在本教程中,我将向你们展示 怎样去查找并杀掉任何非法的MySQL查询。 为了浏览当前正在运行的查询,登陆到MySQL终端,然后运行show processlist命令: mysql show processlist; +——–+——–+—————–+———+———+——-+——-+——————+———–+—————+———–+ | Id | User | Host | db | Command | Time | State | Info | Rows_sent | Rows_examined | Rows_rea
2014-07-27
2分钟阅读时长

[小白技巧]如何在Linux上检查MySQL数据表的存储引擎类型

提问: 我想要知道我的MySQL数据库是MyISAM还是Innodb类型。我该如何检查MySQL数据库表的类型? MySQl主要使用两种存储引擎:MyISAM 和 Innodb。MyISAM是非事务的,因此拥有读取更快,然而InnoDB完全支持细颗粒度的事务锁定(比如:commit/rollback)。当你创建一张新的MySQL表时,你要选择它的类型(也就是存储引擎)。如果没有选择,你就会使用与预设置的默认引擎。 如果你想要知道已经存在的MySQL数据表的类型,这里有几种方法达到。 方法一 如果你可以访问phpMyAdmin,你可以从phpMyAdmin找出默认的数据库类型。从phpMyAdmin中选中数
2014-07-23
2分钟阅读时长

如何用sosreport在Linux上创建诊断报告

Sosreport是RHEL / CentOS上的一个命令,它会收集系统配置和你linux机器上的诊断信息,如正在运行的内核版本、加载的模块和系统和服务配置文件之类的信息。这个命令同样可以运行外部的程序来收集更多的信息,并存储这些输出到一个结论文档中。 Sosreport在你需要获得redhat的技术支持时需要它。Redhat的支持工程师会要求你服务器上的sosreport来用于故障排除。 要运行sosreport,需要安装sos 包。sos包是大多是linux的默认安装包中的一部分。如果因为某种原因没有安装,那么运行下面的yum命令来安装sos 包 : # yum install sos 生成报告
2014-07-20
2分钟阅读时长

在Ubuntu下如何创建远程".deb"包仓库

Reprepro是一款小巧的命令行工具来方便地创建并管理.deb仓库。今天我们会展示给你如何使用reprepro简单地创建一个Debian包仓库,并使用rsync上传到Sourceforge.net。 步骤 1: 安装Reprepro并生成key 首先,安装所有需要的包,使用下面的apt-get命令。 $ sudo apt-get install reprepro gnupg 现在你需要使用gnupg生成一个gpg key,这里使用下面的命令。 $ gpg –gen-key 它会询问你一些问题,比如你想要哪种key、key的有效期、如果你不知道如何回答,只需点击回车 来选择默认选项(建议) 当然,它会询问你用户名和密码,在脑海中记住
2014-07-14
5分钟阅读时长

如何在 Linux/Unix/Mac 下清除 DNS 查询缓存

我在Linux下使用拨号连接上网,频繁的拨号断线造成DNS的问题。我如何在Linux/Unix发行版下使用shell命令清除DNS缓存? 在MS-Windows下,你可以使用ipconfig命令来清除dns缓存。然而,Linux和Unix提供了不同的方法来清除缓存。Linux可以运行 nscd 或者 BIND 或者 dnsmasq 作为名称服务缓存守护进程。大型或者工作组服务器可能使用BIND或者dnsmasq作为专用缓存服务器来加速查询。 如何: 清除 nscd dns 缓存 Nscd 会缓存libc发起的名称服务的请求。如果把检索NSS数据看做很慢,那么nscd能够显著加快连续访问同一数据的速度,并能提高整个系统
2014-07-08
3分钟阅读时长