SK 发布的文章

在 Linux 中查找文件并不是什么大问题。市面上也有很多可靠的自由开源的可视化查找工具。但对我而言,查找文件,用命令行的方式会更快更简单。我们已经知道 如何根据访问和修改文件的时间寻找或整理文件。今天,在基于 Unix 的操作系统中,我们将见识如何通过权限查找文件。

本段教程中,我将创建三个文件名为 file1file2file3 分别赋予 777766655 文件权限,并分别置于名为 ostechnix 的文件夹中。

mkdir ostechnix && cd ostechnix/
install -b -m 777 /dev/null file1
install -b -m 766 /dev/null file2
install -b -m 655 /dev/null file3

现在,让我们通过权限来查找一下文件。

根据权限查找文件

根据权限查找文件最具代表性的语法:

find -perm mode

mode 可以是代表权限的八进制数字(777、666 …)也可以是权限符号(u=x,a=r+x)。

在深入之前,我们就以下三点详细说明 mode 参数。

  1. 如果我们不指定任何参数前缀,它将会寻找具体权限的文件。
  2. 如果我们使用 - 参数前缀, 寻找到的文件至少拥有 mode 所述的权限,而不是具体的权限(大于或等于此权限的文件都会被查找出来)。
  3. 如果我们使用 / 参数前缀,那么所有者、组或者其他人任意一个应当享有此文件的权限。

为了让你更好的理解,让我举些例子。

首先,我们将要看到基于数字权限查找文件。

基于数字(八进制)权限查找文件

让我们运行下列命令:

find -perm 777

这条命令将会查找到当前目录权限为确切为 777 权限的文件。

1

如你看见的屏幕输出,file1 是唯一一个拥有确切为 777 权限的文件。

现在,让我们使用 - 参数前缀,看看会发生什么。

find -perm -766

如你所见,命令行上显示两个文件。我们给 file2 设置了 766 权限,但是命令行显示两个文件,什么鬼?因为,我们设置了 - 参数前缀。它意味着这条命令将在所有文件中查找文件所有者的“读/写/执行”权限,文件用户组的“读/写”权限和其他用户的“读/写”权限。本例中,file1 和 file2 都符合要求。换句话说,文件并不一样要求时确切的 766 权限。它将会显示任何属于(高于)此权限的文件 。

然后,让我们使用 / 参数前置,看看会发生什么。

find -perm /222

上述命令将会查找某些人(要么是所有者、用户组,要么是其他人)拥有写权限的文件。这里有另外一个例子:

find -perm /220

这条命令会查找所有者或用户组中拥有写权限的文件。这意味着匹配所有者和用户组任一可写的文件,而其他人的权限随意。

如果你使用 - 前缀运行相同的命令,你只会看到所有者和用户组都拥有写权限的文件。

find -perm -220

下面的截图会告诉你这两个参数前缀的不同。

如我之前说过的一样,我们也可以使用符号表示文件权限。

请阅读:

基于符号的文件权限查找文件

在下面的例子中,我们使用例如 u(所有者)、g(用户组) 和 o(其他) 的符号表示法。我们也可以使用字母 a 代表上述三种类型。我们可以通过特指的 r (读)、 w (写)、 x (执行)分别代表它们的权限。

例如,寻找用户组中拥有 权限的文件,执行:

find -perm -g=w

上面的例子中,file1 和 file2 都拥有 权限。请注意,你可以等效使用 =+ 两种符号标识。例如,下列两行相同效果的代码。

find -perm -g=w
find -perm -g+w

查找文件所有者中拥有写权限的文件,执行:

find -perm -u=w

查找所有用户中拥有写权限的文件,执行:

find -perm -a=w

查找所有者和用户组中同时拥有写权限的文件,执行:

find -perm -g+w,u+w

上述命令等效与 find -perm -220

查找所有者或用户组中拥有写权限的文件,执行:

find -perm /u+w,g+w

或者,

find -perm /u=w,g=w

上述命令等效于 find -perm /220

更多详情,参照 man 手册。

man find

了解更多简化案例或其他 Linux 命令,查看man 手册

然后,这就是所有的内容。希望这个教程有用。更多干货,敬请关注。

干杯!


via: https://www.ostechnix.com/find-files-based-permissions/

作者:SK 译者:CYLeft 校对:校对者ID

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

我在我的平板电脑中收集了大量的 PDF 文件,其中主要是 Linux 教程。有时候我懒得在平板电脑上看。我认为如果我能够从 PDF 创建视频,并在大屏幕设备(如电视机或计算机)中观看会更好。虽然我对 FFMpeg 有一些经验,但我不知道如何使用它来创建视频。经过一番 Google 搜索,我想出了一个很好的解决方案。对于那些想从一组 PDF 文件制作视频文件的人,请继续阅读。这并不困难。

在 Linux 中从 PDF 创建视频

为此,你需要在系统中安装 “FFMpeg” 和 “ImageMagick”。

要安装 FFMpeg,请参考以下链接。

Imagemagick 可在大多数 Linux 发行版的官方仓库中找到。

在 Arch Linux 以及 Antergos、Manjaro Linux 等衍生产品上,运行以下命令进行安装。

sudo pacman -S imagemagick

Debian、Ubuntu、Linux Mint:

sudo apt-get install imagemagick

Fedora:

sudo dnf install imagemagick

RHEL、CentOS、Scientific Linux:

sudo yum install imagemagick

SUSE、 openSUSE:

sudo zypper install imagemagick

在安装 ffmpeg 和 imagemagick 之后,将你的 PDF 文件转换成图像格式,如 PNG 或 JPG,如下所示。

convert -density 400 input.pdf picture.png

这里,-density 400 指定输出图像的水平分辨率。

上面的命令会将指定 PDF 的所有页面转换为 PNG 格式。PDF 中的每个页面都将被转换成 PNG 文件,并保存在当前目录中,文件名为: picture-1.pngpicture-2.png 等。根据选择的 PDF 的页数,这将需要一些时间。

将 PDF 中的所有页面转换为 PNG 格式后,运行以下命令以从 PNG 创建视频文件。

ffmpeg -r 1/10 -i picture-%01d.png -c:v libx264 -r 30 -pix_fmt yuv420p video.mp4

这里:

  • -r 1/10 :每张图像显示 10 秒。
  • -i picture-%01d.png :读取以 picture- 开头,接着是一位数字(%01d),最后以 .png 结尾的所有图片。如果图片名称带有 2 位数字(也就是 picture-10.pngpicture11.png 等),在上面的命令中使用(%02d)。
  • -c:v libx264:输出的视频编码器(即 h264)。
  • -r 30 :输出视频的帧率
  • -pix_fmt yuv420p:输出的视频分辨率
  • video.mp4:以 .mp4 格式输出视频文件。

好了,视频文件完成了!你可以在任何支持 .mp4 格式的设备上播放它。接下来,我需要找到一种方法来为我的视频插入一个很酷的音乐。我希望这也不难。

如果你想要更高的分辨率,你不必重新开始。只要将输出的视频文件转换为你选择的任何其他更高/更低的分辨率,比如说 720p,如下所示。

ffmpeg -i video.mp4 -vf scale=-1:720 video_720p.mp4

请注意,使用 ffmpeg 创建视频需要一台配置好的 PC。在转换视频时,ffmpeg 会消耗大量系统资源。我建议在高端系统中这样做。

就是这些了。希望你觉得这个有帮助。还会有更好的东西。敬请关注!


via: https://www.ostechnix.com/create-video-pdf-files-linux/

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

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

今天让我们来讨论一下如何创建 Ubuntu Live CD 的定制镜像(ISO)。我们以前可以使用 Pinguy Builder 完成这项工作。但是,现在它似乎停止维护了。最近 Pinguy Builder 的官方网站似乎没有任何更新。幸运的是,我找到了另一种创建 Ubuntu Live CD 镜像的工具。使用 Cubic (即 Custom Ubuntu ISO Creator 的首字母缩写),这是一个用来创建定制的可启动的 Ubuntu Live CD(ISO)镜像的 GUI 应用程序。

Cubic 正在积极开发,它提供了许多选项来轻松地创建一个定制的 Ubuntu Live CD ,它有一个集成的 chroot 命令行环境(LCTT 译注:chroot —— Change Root,也就是改变程序执行时所参考的根目录位置),在那里你可以定制各种方面,比如安装新的软件包、内核,添加更多的背景壁纸,添加更多的文件和文件夹。它有一个直观的 GUI 界面,在 live 镜像创建过程中可以轻松的利用导航(可以利用点击鼠标来回切换)。您可以创建一个新的自定义镜像或修改现有的项目。因为它可以用来制作 Ubuntu live 镜像,所以我相信它可以用在制作其他 Ubuntu 的发行版和衍生版镜像中,比如 Linux Mint。

安装 Cubic

Cubic 的开发人员已经做出了一个 PPA 来简化安装过程。要在 Ubuntu 系统上安装 Cubic ,在你的终端上运行以下命令:

sudo apt-add-repository ppa:cubic-wizard/release
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E
sudo apt update
sudo apt install cubic

利用 Cubic 创建 Ubuntu Live CD 的定制镜像

安装完成后,从应用程序菜单或 dock 启动 Cubic。这是在我在 Ubuntu 16.04 LTS 桌面系统中 Cubic 的样子。

为新项目选择一个目录。它是保存镜像文件的目录。

请注意,Cubic 不是创建您当前系统的 Live CD 镜像,而是利用 Ubuntu 的安装 CD 来创建一个定制的 Live CD,因此,你应该有一个最新的 ISO 镜像。

选择您存储 Ubuntu 安装 ISO 镜像的路径。Cubic 将自动填写您定制操作系统的所有细节。如果你愿意,你可以改变细节。单击 Next 继续。

接下来,来自源安装介质中的压缩的 Linux 文件系统将被提取到项目的目录(在我们的例子中目录的位置是 /home/ostechnix/custom_ubuntu)。

一旦文件系统被提取出来,将自动加载到 chroot 环境。如果你没有看到终端提示符,请按几次回车键。

在这里可以安装任何额外的软件包,添加背景图片,添加软件源列表,添加最新的 Linux 内核和所有其他定制到你的 Live CD 。

例如,我希望 vim 安装在我的 Live CD 中,所以现在就要安装它。

我们不需要使用 sudo,因为我们已经在具有最高权限(root)的环境中了。

类似地,如果需要,可以安装更多的任何版本 Linux 内核。

apt install linux-image-extra-4.10.0-24-generic

此外,您还可以更新软件源列表(添加或删除软件存储库列表):

修改源列表后,不要忘记运行 apt update 命令来更新源列表:

apt update

另外,您还可以向 Live CD 中添加文件或文件夹。复制文件或文件夹(右击它们并选择复制或者利用 CTRL+C),在终端右键单击(在 Cubic 窗口内),选择 “Paste file(s)”,最后点击 Cubic 向导底部的 “Copy”。

Ubuntu 17.10 用户注意事项

在 Ubuntu 17.10 系统中,DNS 查询可能无法在 chroot 环境中工作。如果您正在制作一个定制的 Ubuntu 17.10 Live 镜像,您需要指向正确的 resolve.conf 配置文件:

ln -sr /run/systemd/resolve/resolv.conf /run/systemd/resolve/stub-resolv.conf

要验证 DNS 解析工作,运行:

cat /etc/resolv.conf
ping google.com

如果你想的话,可以添加你自己的壁纸。要做到这一点,请切换到 /usr/share/backgrounds/ 目录,

cd /usr/share/backgrounds

并将图像拖放到 Cubic 窗口中。或复制图像,右键单击 Cubic 终端窗口并选择 “Paste file(s)” 选项。此外,确保你在 /usr/share/gnome-backproperties 的XML文件中添加了新的壁纸,这样你可以在桌面上右键单击新添加的图像选择 “Change Desktop Background” 进行交互。完成所有更改后,在 Cubic 向导中单击 “Next”。

接下来,选择引导到新的 Live ISO 镜像时使用的 Linux 内核版本。如果已经安装了其他版本内核,它们也将在这部分中被列出。然后选择您想在 Live CD 中使用的内核。

在下一节中,选择要从您的 Live 映像中删除的软件包。在使用定制的 Live 映像安装完 Ubuntu 操作系统后,所选的软件包将自动删除。在选择要删除的软件包时,要格外小心,您可能在不知不觉中删除了一个软件包,而此软件包又是另外一个软件包的依赖包。

接下来, Live 镜像创建过程将开始。这里所要花费的时间取决于你定制的系统规格。

镜像创建完成后后,单击 “Finish”。Cubic 将显示新创建的自定义镜像的细节。

如果你想在将来修改刚刚创建的自定义 Live 镜像,不要选择“ Delete all project files, except the generated disk image and the corresponding MD5 checksum file”(除了生成的磁盘映像和相应的 MD5 校验和文件之外,删除所有的项目文件**) ,Cubic 将在项目的工作目录中保留自定义图像,您可以在将来进行任何更改。而不用从头再来一遍。

要为不同的 Ubuntu 版本创建新的 Live 镜像,最好使用不同的项目目录。

利用 Cubic 修改 Ubuntu Live CD 的定制镜像

从菜单中启动 Cubic ,并选择一个现有的项目目录。单击 “Next” 按钮,您将看到以下三个选项:

  1. Create a disk image from the existing project. (从现有项目创建一个磁盘映像。)
  2. Continue customizing the existing project.(继续定制现有项目。)
  3. Delete the existing project.(删除当前项目。)

第一个选项将允许您从现有项目中使用之前所做的自定义设置创建一个新的 Live ISO 镜像。如果您丢失了 ISO 镜像,您可以使用第一个选项来创建一个新的。

第二个选项允许您在现有项目中进行任何其他更改。如果您选择此选项,您将再次进入 chroot 环境。您可以添加新的文件或文件夹,安装任何新的软件,删除任何软件,添加其他的 Linux 内核,添加桌面背景等等。

第三个选项将删除现有的项目,所以您可以从头开始。选择此选项将删除所有文件,包括新生成的 ISO 镜像文件。

我用 Cubic 做了一个定制的 Ubuntu 16.04 LTS 桌面 Live CD 。就像这篇文章里描述的一样。如果你想创建一个 Ubuntu Live CD, Cubic 可能是一个不错的选择。

就这些了,再会!


via: https://www.ostechnix.com/create-custom-ubuntu-live-cd-image/

作者:SK 译者:stevenzdg988 校对:wxy

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

厌倦了工作?那么来吧,让我们弹弹钢琴!是的,你没有看错,根本不需要真的钢琴。我们可以用 PC 键盘在命令行下就能弹钢琴。向你们介绍一下 piano-rs —— 这是一款用 Rust 语言编写的,可以让你用 PC 键盘在终端弹钢琴的简单工具。它自由开源,基于 MIT 协议。你可以在任何支持 Rust 的操作系统中使用它。

piano-rs:使用 PC 键盘在终端弹钢琴

安装

确保系统已经安装了 Rust 编程语言。若还未安装,运行下面命令来安装它。

curl https://sh.rustup.rs -sSf | sh

(LCTT 译注:这种直接通过 curl 执行远程 shell 脚本是一种非常危险和不成熟的做法。)

安装程序会问你是否默认安装还是自定义安装还是取消安装。我希望默认安装,因此输入 1 (数字一)。

info: downloading installer

Welcome to Rust!

This will download and install the official compiler for the Rust programming
language, and its package manager, Cargo.

It will add the cargo, rustc, rustup and other commands to Cargo's bin
directory, located at:

/home/sk/.cargo/bin

This path will then be added to your PATH environment variable by modifying the
profile files located at:

/home/sk/.profile
/home/sk/.bash_profile

You can uninstall at any time with rustup self uninstall and these changes will
be reverted.

Current installation options:

default host triple: x86_64-unknown-linux-gnu
 default toolchain: stable
 modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
1

info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
223.6 KiB / 223.6 KiB (100 %) 215.1 KiB/s ETA: 0 s
info: latest update on 2017-10-12, rust version 1.21.0 (3b72af97e 2017-10-09)
info: downloading component 'rustc'
 38.5 MiB / 38.5 MiB (100 %) 459.3 KiB/s ETA: 0 s
info: downloading component 'rust-std'
 56.7 MiB / 56.7 MiB (100 %) 220.6 KiB/s ETA: 0 s
info: downloading component 'cargo'
 3.7 MiB / 3.7 MiB (100 %) 173.5 KiB/s ETA: 0 s
info: downloading component 'rust-docs'
 4.1 MiB / 4.1 MiB (100 %) 224.0 KiB/s ETA: 0 s
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: default toolchain set to 'stable'

stable installed - rustc 1.21.0 (3b72af97e 2017-10-09)

Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. Next time you log in this will be done automatically.

To configure your current shell run source $HOME/.cargo/env

登出然后重启系统来将 cargo 的 bin 目录纳入 PATH 变量中。

校验 Rust 是否正确安装:

$ rustc --version
rustc 1.21.0 (3b72af97e 2017-10-09)

太棒了!Rust 成功安装了。是时候构建 piano-rs 应用了。

使用下面命令克隆 Piano-rs 仓库:

git clone https://github.com/ritiek/piano-rs

上面命令会在当前工作目录创建一个名为 piano-rs 的目录并下载所有内容到其中。进入该目录:

cd piano-rs

最后,运行下面命令来构建 Piano-rs:

cargo build --release

编译过程要花上一阵子。

用法

编译完成后,在 piano-rs 目录中运行下面命令:

./target/release/piano-rs

这就是我们在终端上的钢琴键盘了!可以开始弹指一些音符了。按下按键可以弹奏相应音符。使用 左/右 方向键可以在弹奏时调整音频。而,使用 上/下 方向键可以在弹奏时调整音长。

Piano-rs 使用与 multiplayerpiano.com 一样的音符和按键。另外,你可以使用这些音符来学习弹指各种流行歌曲。

要查看帮助。输入:

$ ./target/release/piano-rs -h

piano-rs 0.1.0
Ritiek Malhotra <[email protected]>
Play piano in the terminal using PC keyboard.

USAGE:
 piano-rs [OPTIONS]

FLAGS:
 -h, --help Prints help information
 -V, --version Prints version information

OPTIONS:
 -c, --color <COLOR> Color of block to generate when a note is played (Default: "red")
 -d, --duration <DURATION> Duration to play each note for, where 0 means till the end of note (Default: 0)
 -s, --sequence <SEQUENCE> Frequency sequence from 0 to 5 to begin with (Default: 2)

我必须承认这是个超级酷的项目。对于那些买不起钢琴的人,很推荐使用这款应用。

祝你周末愉快!!

此致敬礼!


via: https://www.ostechnix.com/let-us-play-piano-terminal-using-pc-keyboard/

作者:SK 译者:lujun9972 校对:wxy

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

在 GitHub 网站上每天都会新增上百个项目。由于 GitHub 上有成千上万的项目,要在上面搜索好的项目简直要累死人。好在,有那么一伙人已经创建了一些这样的列表。其中包含的类别五花八门,如编程、数据库、编辑器、游戏、娱乐等。这使得我们寻找在 GitHub 上托管的项目、软件、资源、库、书籍等其他东西变得容易了很多。有一个 GitHub 用户更进了一步,创建了一个名叫 Awesome-finder 的命令行工具,用来在 awesome 系列的仓库中寻找超棒的项目和资源。该工具可以让我们不需要离开终端(当然也就不需要使用浏览器了)的情况下浏览 awesome 列表。

在这篇简单的说明中,我会向你演示如何方便地在类 Unix 系统中浏览 awesome 列表。

Awesome-finder - 方便地寻找 GitHub 上超棒的项目和资源

安装 Awesome-finder

使用 pip 可以很方便地安装该工具,pip 是一个用来安装使用 Python 编程语言开发的程序的包管理器。

在 Arch Linux 及其衍生发行版中(比如 Antergos,Manjaro Linux),你可以使用下面命令安装 pip

sudo pacman -S python-pip

在 RHEL,CentOS 中:

sudo yum install epel-release
sudo yum install python-pip

在 Fedora 上:

sudo dnf install epel-release
sudo dnf install python-pip

在 Debian,Ubuntu,Linux Mint 上:

sudo apt-get install python-pip

在 SUSE,openSUSE 上:

sudo zypper install python-pip

pip 安装好后,用下面命令来安装 'Awesome-finder'。

sudo pip install awesome-finder

用法

Awesome-finder 会列出 GitHub 网站中如下这些主题(其实就是仓库)的内容:

  • awesome
  • awesome-android
  • awesome-elixir
  • awesome-go
  • awesome-ios
  • awesome-java
  • awesome-javascript
  • awesome-php
  • awesome-python
  • awesome-ruby
  • awesome-rust
  • awesome-scala
  • awesome-swift

该列表会定期更新。

比如,要查看 awesome-go 仓库中的列表,只需要输入:

awesome go

你就能看到用 “Go” 写的所有流行的东西了,而且这些东西按字母顺序进行了排列。

你可以通过 上/下 箭头在列表中导航。一旦找到所需要的东西,只需要选中它,然后按下回车键就会用你默认的 web 浏览器打开相应的链接了。

类似的,

  • awesome android 命令会搜索 awesome-android 仓库。
  • awesome awesome 命令会搜索 awesome 仓库。
  • awesome elixir 命令会搜索 awesome-elixir。
  • awesome go 命令会搜索 awesome-go。
  • awesome ios 命令会搜索 awesome-ios。
  • awesome java 命令会搜索 awesome-java。
  • awesome javascript 命令会搜索 awesome-javascript。
  • awesome php 命令会搜索 awesome-php。
  • awesome python 命令会搜索 awesome-python。
  • awesome ruby 命令会搜索 awesome-ruby。
  • awesome rust 命令会搜索 awesome-rust。
  • awesome scala 命令会搜索 awesome-scala。
  • awesome swift 命令会搜索 awesome-swift。

而且,它还会随着你在提示符中输入的内容而自动进行筛选。比如,当我输入 dj 后,他会显示与 Django 相关的内容。

若你想从最新的 awesome-<topic>( 而不是用缓存中的数据) 中搜索,使用 -f-force 标志:

awesome <topic> -f (--force)

像这样:

awesome python -f

或,

awesome python --force

上面命令会显示 awesome-python GitHub 仓库中的列表。

很棒,对吧?

要退出这个工具的话,按下 ESC 键。要显示帮助信息,输入:

awesome -h

本文至此就结束了。希望本文能对你产生帮助。如果你觉得我们的文章对你有帮助,请将他们分享到你的社交网络中去,造福大众。我们马上还有其他好东西要来了。敬请期待!


via: https://www.ostechnix.com/easily-find-awesome-projects-resources-hosted-github/

作者:SK 译者:lujun9972 校对:wxy

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

让我们想象这么一个场景。你有一台服务器经常被网络中各系统的很多个用户访问。有可能出现某些用户忘记登出会话让会话保持会话处于连接状态。我们都知道留下一个处于连接状态的用户会话是一件多么危险的事情。有些用户可能会借此故意做一些损坏系统的事情。而你,作为一名系统管理员,会去每个系统上都检查一遍用户是否有登出吗?其实这完全没必要的。而且若网络中有成百上千台机器,这也太耗时了。不过,你可以让用户在本机或 SSH 会话上超过一定时间不活跃的情况下自动登出。本教程就将教你如何在类 Unix 系统上实现这一点。一点都不难。跟我做。

在 Linux 上实现一段时间后自动登出非活动用户

有三种实现方法。让我们先来看第一种方法。

方法 1:

编辑 ~/.bashrc~/.bash_profile 文件:

$ vi ~/.bashrc

或,

$ vi ~/.bash_profile

将下面行加入其中:

TMOUT=100

这会让用户在停止动作 100 秒后自动登出。你可以根据需要定义这个值。保存并关闭文件。

运行下面命令让更改生效:

$ source ~/.bashrc

或,

$ source ~/.bash_profile

现在让会话闲置 100 秒。100 秒不活动后,你会看到下面这段信息,并且用户会自动退出会话。

timed out waiting for input: auto-logout
Connection to 192.168.43.2 closed.

该设置可以轻易地被用户所修改。因为,~/.bashrc 文件被用户自己所拥有。

要修改或者删除超时设置,只需要删掉上面添加的行然后执行 source ~/.bashrc 命令让修改生效。

此外,用户也可以运行下面命令来禁止超时:

$ export TMOUT=0

或,

$ unset TMOUT

若你想阻止用户修改该设置,使用下面方法代替。

方法 2:

以 root 用户登录。

创建一个名为 autologout.sh 的新文件。

# vi /etc/profile.d/autologout.sh

加入下面内容:

TMOUT=100
readonly TMOUT
export TMOUT

保存并退出该文件。

为它添加可执行权限:

# chmod +x /etc/profile.d/autologout.sh

现在,登出或者重启系统。非活动用户就会在 100 秒后自动登出了。普通用户即使想保留会话连接但也无法修改该配置了。他们会在 100 秒后强制退出。

这两种方法对本地会话和远程会话都适用(即本地登录的用户和远程系统上通过 SSH 登录的用户)。下面让我们来看看如何实现只自动登出非活动的 SSH 会话,而不自动登出本地会话。

方法 3:

这种方法,我们只会让 SSH 会话用户在一段时间不活动后自动登出。

编辑 /etc/ssh/sshd_config 文件:

$ sudo vi /etc/ssh/sshd_config

添加/修改下面行:

ClientAliveInterval 100
ClientAliveCountMax 0

保存并退出该文件。重启 sshd 服务让改动生效。

$ sudo systemctl restart sshd

现在,在远程系统通过 ssh 登录该系统。100 秒后,ssh 会话就会自动关闭了,你也会看到下面消息:

$ Connection to 192.168.43.2 closed by remote host.
Connection to 192.168.43.2 closed.

现在,任何人从远程系统通过 SSH 登录本系统,都会在 100 秒不活动后自动登出了。

希望本文能对你有所帮助。我马上还会写另一篇实用指南。如果你觉得我们的指南有用,请在您的社交网络上分享,支持 我们!

祝您好运!


via: https://www.ostechnix.com/auto-logout-inactive-users-period-time-linux/

作者:SK 译者:lujun9972 校对:wxy

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