Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
wxy 2018-02-06 00:31:05 +08:00
commit 3a07f2c01c
2 changed files with 48 additions and 32 deletions

View File

@ -1,25 +1,31 @@
Linux 系统查询机器最近重动的日期和时间的命令
如何在 Linux 系统查询机器最近重启时间
======
在你的 Linux 或 类 UNIX 系统中,你是如何查询系统重新启动的日期和时间?你是如何查询系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出指定的用户,终端和主机名,而且还可以列出指定日期和时间登录的用户。输出到终端的每一行都包括用户名,会话终端,主机名,会话开始和结束的时间,会话持续的时间。使用下面的命令来查看 Linux 或类 UNIX 系统重启和关机的时间和日期。
在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? `last` 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名,而且还可以列出指定日期和时间登录的用户。输出到终端的每一行都包括用户名、会话终端、主机名、会话开始和结束的时间、会话持续的时间。要查看 Linux 或类 UNIX 系统重启和关机的时间和日期,可以使用下面的命令
- last 命令
- who 命令
- `last` 命令
- `who` 命令
### 使用 who 命令来查看系统重新启动的时间/日期
你需要在终端使用 [who][1] 命令来打印有哪些人登陆了系统。who 命令同时也会显示上次系统启动的时间,使用 last 命令来查看系统重启和关机的日期和时间,运行:
你需要在终端使用 [who][1] 命令来打印有哪些人登录了系统,`who` 命令同时也会显示上次系统启动的时间。使用 `last` 命令来查看系统重启和关机的日期和时间,运行:
`$ who -b`
```
$ who -b
```
示例输出:
`system boot 2017-06-20 17:41`
```
system boot 2017-06-20 17:41
```
使用 last 命令来查询最近登陆到系统的用户和系统重启的时间和日期。输入:
使用 `last` 命令来查询最近登录到系统的用户和系统重启的时间和日期。输入:
`$ last reboot | less`
```
$ last reboot | less
```
示例输出:
@ -27,7 +33,9 @@ Linux 系统查询机器最近重新启动的日期和时间的命令
或者,尝试输入:
`$ last reboot | head -1`
```
$ last reboot | head -1
```
示例输出:
@ -35,13 +43,15 @@ Linux 系统查询机器最近重新启动的日期和时间的命令
reboot system boot 4.9.0-3-amd64 Sat Jul 15 19:19 still running
```
last 命令通过查看文件 /var/log/wtmp 来显示自 wtmp 文件被创建时的所有登陆(和注销)的用户。每当系统重新启动时,伪用户将重启信息记录到日志。因此,`last reboot` 命令将会显示自日志文件被创建以来的所有重启信息。
`last` 命令通过查看文件 `/var/log/wtmp` 来显示自 wtmp 文件被创建时的所有登录(和登出)的用户。每当系统重新启动时,这个伪用户 `reboot` 就会登录。因此,`last reboot` 命令将会显示自该日志文件被创建以来的所有重启信息。
### 查看系统上次关机的时间和日期
可以使用下面的命令来显示上次关机的日期和时间:
`$ last -x|grep shutdown | head -1`
```
$ last -x|grep shutdown | head -1
```
示例输出:
@ -51,10 +61,10 @@ shutdown system down 2.6.15.4 Sun Apr 30 13:31 - 15:08 (01:37)
命令中,
* **-x**:显示系统开关机和运行等级改变信息
* `-x`:显示系统关机和运行等级改变信息
这里是 last 命令的其它的一些选项:
这里是 `last` 命令的其它的一些选项:
```
$ last
@ -62,6 +72,7 @@ $ last -x
$ last -x reboot
$ last -x shutdown
```
示例输出:
![Fig.01: How to view last Linux System Reboot Date/Time ][3]
@ -70,7 +81,9 @@ $ last -x shutdown
评论区的读者建议的另一个命令如下:
`$ uptime -s`
```
$ uptime -s
```
示例输出:
@ -82,7 +95,9 @@ $ last -x shutdown
在终端输入下面的命令:
`$ last reboot`
```
$ last reboot
```
在 OS X 示例输出结果如下:
@ -108,7 +123,9 @@ wtmp begins Sat Oct 3 18:57
查看关机日期和时间,输入:
`$ last shutdown`
```
$ last shutdown
```
示例输出:
@ -130,7 +147,7 @@ wtmp begins Sat Oct 3 18:57
### 如何查看是谁重启和关闭机器?
你需要[启动 psacct 服务然后运行下面的命令][4]来查看执行过的命令,同时包括用户名,在终端输入 [lastcomm][5] 命令查看信息
你需要[启用 psacct 服务然后运行下面的命令][4]来查看执行过的命令(包括用户名),在终端输入 [lastcomm][5] 命令查看信息
```
# lastcomm userNameHere
@ -138,9 +155,10 @@ wtmp begins Sat Oct 3 18:57
# lastcomm | more
# lastcomm reboot
# lastcomm shutdown
### OR see both reboot and shutdown time
### 或者查看重启和关机时间
# lastcomm | egrep 'reboot|shutdown'
```
示例输出:
```
@ -152,13 +170,11 @@ shutdown S root pts/1 0.00 secs Sun Dec 27 23:45
### 参见
* 更多信息可以查看 man 手册( man last )和参考文章 [如何在 Linux 服务器上使用 tuptime 命令查看历史和统计的正常的运行时间][6].
* 更多信息可以查看 man 手册(`man last`)和参考文章 [如何在 Linux 服务器上使用 tuptime 命令查看历史和统计的正常的运行时间][6]。
### 关于作者
作者是 nixCraft 的创立者同时也是一名经验丰富的系统管理员,也是 Linux类 Unix 操作系统 shell 脚本的培训师。他曾与全球各行各业的客户工作过,包括 IT教育国防和空间研究以及非营利部门等等。你可以在 [Twitter][7] ,[Facebook][8][Google+][9] 关注他。
作者是 nixCraft 的创立者,同时也是一名经验丰富的系统管理员,也是 Linux类 Unix 操作系统 shell 脚本的培训师。他曾与全球各行各业的客户工作过,包括 IT教育国防和空间研究以及非营利部门等等。你可以在 [Twitter][7]、[Facebook][8]、[Google+][9] 关注他。
--------------------------------------------------------------------------------
@ -167,7 +183,7 @@ via: https://www.cyberciti.biz/tips/linux-last-reboot-time-and-date-find-out.htm
作者:[Vivek Gite][a]
译者:[amwps290](https://github.com/amwps290)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,14 +1,14 @@
八种在 Linux 上生成随机密码的方法
======
学习使用 8 种 Linux 原生命令或第三方组件来生成随机密码。
学习使用 8 种 Linux 原生命令或第三方实用程序来生成随机密码。
![][1]
在这篇文章中,我们将引导你通过几种不同的方式在 Linux 中生成随机密码。其中几种利用原生 Linux 命令,另外几种则利用极易在 Linux 机器上安装的第三方工具或组件实现。在这里我们利用像 `openssl`, [dd][2], `md5sum`, `tr`, `urandom` 这样的原生命令和 mkpasswdrandpwpwgenspwgpgxkcdpassdicewarerevelationkeepaasxpasswordmaker 这样的第三方工具。
在这篇文章中,我们将引导你通过几种不同的方式在 Linux 终端中生成随机密码。其中几种利用原生 Linux 命令,另外几种则利用极易在 Linux 机器上安装的第三方工具或实用程序实现。在这里我们利用像 `openssl`, [dd][2], `md5sum`, `tr`, `urandom` 这样的原生命令和 mkpasswdrandpwpwgenspwgpgxkcdpassdicewarerevelationkeepaasxpasswordmaker 这样的第三方工具。
其实这些方法就是生成一些能被用作密码的随机字母字符串。随机密码可以用于新用户的密码,不管用户基数有多大,这些密码都是独一无二的。话不多说,让我们来看看 8 种不同的在 Linux 上生成随机密码的方法吧。
##### 使用 mkpasswd 组件生成密码
##### 使用 mkpasswd 实用程序生成密码
`mkpasswd` 在基于 RHEL 的系统上随 `expect` 软件包一起安装。在基于 Debian 的系统上 `mkpasswd` 则在软件包 `whois` 中。直接安装 `mkpasswd` 软件包将会导致错误 -
@ -28,7 +28,7 @@ root@kerneltalks# mkpasswd teststring << on Ubuntu
XnlrKxYOJ3vik
```
这个命令在不同的系统上表现得不一样,所以要对应工作。你也可以通过参数来控制长度等选项。你可以查阅 man 手册来探索。
这个命令在不同的系统上表现得不一样,所以要对应工作。你也可以通过参数来控制长度等选项可以查阅 man 手册来探索。
##### 使用 openssl 生成密码
@ -43,7 +43,7 @@ nU9LlHO5nsuUvw==
##### 使用 urandom 生成密码
设备文件 `/dev/urandom` 是另一个获得随机字符串的方法。我们使用 `tr` 功能裁剪输出来获得随机字符串,并把它作为密码。
设备文件 `/dev/urandom` 是另一个获得随机字符串的方法。我们使用 `tr` 功能裁剪输出来获得随机字符串,并把它作为密码。
```bash
root@kerneltalks # strings /dev/urandom |tr -dc A-Za-z0-9 | head -c20; echo
@ -71,7 +71,7 @@ F8c3a4joS+a3BdPN9C++
##### 使用 md5sum 生成密码
另一种获取可用作密码的随机字符串的方法是计算 MD5 校验值!校验值看起来确实像是随机字符串组合在一起,我们可以用作密码。确保你的计算源是个变量,这样的话每次运行命令时生成的校验值都不一样。比如 `date`[date 命令][3] 总会生成不同的输出。
另一种获取可用作密码的随机字符串的方法是计算 MD5 校验值!校验值看起来确实像是随机字符串组合在一起,我们可以用作密码。确保你的计算源是个变量,这样的话每次运行命令时生成的校验值都不一样。比如 `date`[date 命令][3] 总会生成不同的输出。
```bash
root@kerneltalks # date |md5sum
@ -82,7 +82,7 @@ root@kerneltalks # date |md5sum
##### 使用 pwgen 生成密码
`pwgen` 软件包在[类 EPEL 仓库][5](译者注:企业版 Linux 附加软件包)中。`pwgen` 更专注于生成可发音的密码,但它们不在英语词典中,也不是纯英文的。标准发行版仓库中可能并不包含这个工具。安装这个软件包然后运行 `pwgen` 命令行。Boom !
`pwgen` 软件包在类 [EPEL 软件仓库][5](译者注:企业版 Linux 附加软件包)中。`pwgen` 更专注于生成可发音的密码,但它们不在英语词典中,也不是纯英文的。标准发行版仓库中可能并不包含这个工具。安装这个软件包然后运行 `pwgen` 命令行。Boom !
```bash
root@kerneltalks # pwgen
@ -255,7 +255,7 @@ via: https://kerneltalks.com/tips-tricks/8-ways-to-generate-random-password-in-l
作者:[kerneltalks][a]
译者:[heart4lor](https://github.com/heart4lor)
校对:[校对者ID](https://github.com/校对者ID)
校对:[Locez](https://github.com/locez)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出