Merge remote-tracking branch 'LCTT/master'

This commit is contained in:
Xingyu Wang 2020-03-21 09:42:21 +08:00
commit 2e26ebb7bc
9 changed files with 648 additions and 512 deletions

View File

@ -0,0 +1,73 @@
[#]: collector: (lujun9972)
[#]: translator: (Morisun029)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12020-1.html)
[#]: subject: (7 tips for writing an effective technical resume)
[#]: via: (https://opensource.com/article/20/2/technical-resume-writing)
[#]: author: (Emily Brand https://opensource.com/users/emily-brand)
撰写有效的技术简历的 7 个技巧
======
> 遵循以下这些要点,把自己最好的一面呈现给潜在雇主。
![](https://img.linux.net.cn/data/attachment/album/202003/21/092248u2w2gz2aezre2ba2.jpg)
如果你是一名软件工程师或技术领域的经理,那么创建或更新简历可能是一项艰巨的任务。要考虑的重点是什么?应该怎么把控格式、内容以及求职目标或摘要?哪些工作经验相关?如何确保自动化招聘工具不会过滤掉你的简历?
在过去的七年中,作为一名招聘经理,我看到了各种各样的简历;尽管有些令人印象深刻,但还有很多人写的很糟糕。
在编写或更新简历时,请遵循以下七个简单原则。
### 1、概述
简历顶部的简短段落应简洁明了、目的明确,避免过度使用形容词和副词。诸如“令人印象深刻”、“广泛”和“卓越”之类的词,这些词不会增加你的招聘机会;相反,它们看起来和感觉上像是过度使用的填充词。 关于你的求职目标,问自己一个重要的问题:**它是否告诉招聘经理我正在寻找什么样的工作以及如何为他们提供价值?** 如果不是,请加强并简化它以回答该问题,或者将其完全排除在外。
### 2、工作经验
数字、数字、数字——重要的事情说三遍。用确凿的事实传达观点远比一般的陈述,例如“帮助构建、管理、交付许多对客户利润有贡献的项目”更能对你有帮助。你的表达中应包括统计数据,例如“直接影响了 5 个顶级银行的项目,这些项目将其上市时间缩短了 40你提交了多少行代码或管理了几个团队。数据比修饰语更能有效地展示你的能力和价值。
如果你经验不足,没有什么工作经验可展示,那些无关的经验,如暑期兼职工作,就不要写了。相反,将相关经验的细节以及你所学到的知识的详细信息写进简历,这些可以使你成为一个更好的候选人。
### 3、搜索术语和行话
随着技术在招聘过程中发挥如此巨大的作用,确保简历被标记为正确的职位非常重要,但不要在简历上过分吹嘘自己。如果你提到敏捷技能但不知道看板是什么,请三思。如果你提到自己精通 Java但是已经有五年都没有使用过 Java 了,请小心。如果存在你熟悉但不一定是当前在用的语言和框架,请创建其他类别或将你的经验分为“精通”和“熟悉”。
### 4、教育
如果你不是应届大学毕业生,那就没必要再写你的 GPA 或你参加过的俱乐部或兄弟会,除非你计划将它们用作谈话要点以在面试中赢得信任。确保将你发表的或获取过专利的东西包括在内,即使它与该工作无关。如果你没有大学学位,请添加一个证书部分代替教育背景部分。如果你是军人,请包括现役和预备役时间。
### 5、资质证书
除非你想重新进入之前离开的领域,否则不要写过期的证书,例如,如果你曾经是一名人事经理,而现在正寻求动手编程的工作。如果你拥有与该领域不再相关的认证,就不要写这些认证,因为这些可能会分散招聘者的注意力,使你的简历失去吸引力。利用你的 LinkedIn 个人资料为简历添加更多色彩,因为大多数人在面试之前都会阅读你的简历和 LinkedIn 个人资料。
### 6、拼写和语法
让其他人帮忙对你的简历校对一下。很多时候,我在简历中看到过拼写错误的单词,或者错误用词,如“他们的”、“他们是”、“那些”。这些可以避免和修复的错误会产生负面影响。理想情况下,你的简历应用主动语态,但是如果这样会使你感到不舒服,那么就用过去时书写 —— 最重要的是要始终保持一致。不正确的拼写和语法会传递你要么不是很在乎所申请的工作,要么没有足够注意细节。
### 7、格式
确保你的简历是最新的并且富有吸引力,这是留下良好第一印象的简便方法。确保格式一致,例如相同的页边距,相同的间距、大写字母和颜色(将调色板保持在最低限度,不要花花绿绿)是简历写作中最基本的部分,但有必要表明你对工作感到自豪,并重视自己的价值和未来的雇主。在适当的地方使用表格,以视觉吸引人的方式分配信息。如果支持的话,以 .pdf 和 .docx 格式上传简历,然后用 Google Docs 导出为 .odt 格式,这样可以在 LibreOffice 中轻松打开。这里有一个我推荐的简单的 Google 文档[简历模板][2]。 你还可以支付少量费用(不到 10 美元)从一些设计公司购买模板。
### 定期更新
如果你需要(或希望)申请一份工作,定期更新简历可以最大程度地减少压力,也可以帮助你创建和维护更准确的简历版本。撰写简历时,要有远见,确保至少让另外三个人对你的简历内容、拼写和语法进行检查。即使你是由公司招募或其他人推荐给公司的,面试官也可能只能通过简历来认识你,因此请确保它为你带来良好的第一印象。
你还有其他提示要添加吗?
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/2/technical-resume-writing
作者:[Emily Brand][a]
选题:[lujun9972][b]
译者:[Morisun029](https://github.com/Morisun029)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/emily-brand
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/resume_career_document_general.png?itok=JEaFL2XI (Two hands holding a resume with computer, clock, and desk chair )
[2]: https://docs.google.com/document/d/1ARVyybC5qQEiCzUOLElwAdPpKOK0Qf88srr682eHdCQ/edit

View File

@ -1,18 +1,18 @@
[#]: collector: (lujun9972)
[#]: translator: (geekpi)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12018-1.html)
[#]: subject: (Amazon Has Launched Its Own Linux Distribution But Its Not for Everyone)
[#]: via: (https://itsfoss.com/bottlerocket-linux/)
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
Amazon 已经推出了自己的 Linux 发行版,但并不适合所有人
Amazon 推出了自己的容器专用 Linux 发行版“瓶装火箭”
======
Amazon 已经[推出][1]了自己的基于 Linux 的开源操作系统 Bottlerocket。
![](https://img.linux.net.cn/data/attachment/album/202003/21/074953h0a55lq72h0qlpzd.jpg)
在你兴奋地想要尝试安装和运行它之前,我必须告诉你,它不是常规的如 Ubuntu、Fedora 或 Debian 这样的 Linux 发行版。那它是什么?
Amazon 已经[推出][1]了自己的基于 Linux 的开源操作系统 Bottlerocket“瓶装火箭”。但在你兴奋地想要尝试安装和运行它之前,我必须告诉你,它不是常规的如 Ubuntu、Fedora 或 Debian 这样的 Linux 发行版。那它是什么?
### Bottlerocket来自 Amazon 的 Linux 发行版,用于运行容器
@ -20,13 +20,13 @@ Amazon 已经[推出][1]了自己的基于 Linux 的开源操作系统 Bottleroc
如果你不了解 Linux 容器,建议你阅读 Red Hat 的[这篇文章][3]。
自从首次提出云计算一词以来IT 行业发生了许多变化。得益于 Amazon AWS、Google、[Linode][4]、Digital Ocean 等云服务器提供商,部署 Linux 服务器(通常在 VM中 运行)只需几秒钟。最重要的是,你可以借助 Docker 和 Kubernetes 之类的工具在这些服务器上以容器形式部署应用和服务。
自从首次提出云计算一词以来IT 行业发生了许多变化。得益于 Amazon AWS、Google、Linode、Digital Ocean 等云服务器提供商,部署 Linux 服务器(通常在虚拟机中运行)只需几秒钟。最重要的是,你可以借助 Docker 和 Kubernetes 之类的工具在这些服务器上以容器形式部署应用和服务。
问题是,当你唯一目的是在 Linux 系统上运行容器时,并不总是需要完整的 Linux 发行版。这就是为什么容器专用 Linux 仅提供必要软件包的原因。这将大大减少操作系统的大小,从而进一步减少部署时间。
**[Bottlerocket][5] Linux 由 Amazon Web Services 专门构建,用于在虚拟机或裸机上运行容器。**它支持 docker 镜像和其他遵循 [OCI 镜像][6]格式的镜像。
[Bottlerocket][5] Linux 由 Amazon Web ServicesAWS专门构建,用于在虚拟机或裸机上运行容器。它支持 docker 镜像和其他遵循 [OCI 镜像][6]格式的镜像。
### Bottlerocket Linu x的特性
### Bottlerocket Linux 的特性
![][7]
@ -40,7 +40,7 @@ Amazon 已经[推出][1]了自己的基于 Linux 的开源操作系统 Bottleroc
#### 只读文件系统
Bottlerocket 还使用了只读文件系统。在启动时通过 dm-verity 检查其完整性。在其他安全措施上,也不建议使用 SSH 访问,并且只能通过 [admin container][8](附加机制)使用。
Bottlerocket 还使用了只读文件系统。在启动时通过 dm-verity 检查其完整性。在其他安全措施上,也不建议使用 SSH 访问,并且只能通过[管理容器][8](附加机制)使用。
AWS 已经统治了云世界。
@ -54,9 +54,9 @@ Amazon 还声称,与通用 Linux 发行版相比,仅包含运行容器的基
Amazon 并不是第一个创建“容器专用 Linux” 的公司。我认为 CoreOS 是最早的此类发行版之一。[CoreOS 被 Red Hat 收购][9]Red Hat 又被 [IBM 收购][10]。Red Hat 公司最近停用了 CoreOS并用 [Fedora CoreOS][11] 代替了它。
云服务器是一个巨大的行业,它将继续发展壮大。像 Amazon 这样的巨头将竭尽所能与它竞争对手保持一致或领先。我认为Bottlerocket 是对 IBM Fedora CoreOS目前的答
云服务器是一个巨大的行业,它将继续发展壮大。像 Amazon 这样的巨头将竭尽所能与它竞争对手保持一致或领先。我认为Bottlerocket 是对 IBM Fedora CoreOS目前答。
尽管 [Bottlerocket 仓库可在 GitHub 上找到][12],但我还没发现内容。在撰写本文时,它仅[可在 AWS 上预览][5]。
尽管 [Bottlerocket 仓库可在 GitHub 上找到][12],但我还没发现就绪的镜像LCTT 译注:源代码已经提供)。在撰写本文时,它仅[可在 AWS 上预览][5]。
你对此有何看法Amazon 会从 Bottlerocket 获得什么?如果你以前使用过 CoreOS 之类的软件,你会切换到 Bottlerocket 么?
@ -67,7 +67,7 @@ via: https://itsfoss.com/bottlerocket-linux/
作者:[Abhishek Prakash][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,215 @@
[#]: collector: (lujun9972)
[#]: translator: (hkurj)
[#]: reviewer: (wxy)
[#]: publisher: (wxy)
[#]: url: (https://linux.cn/article-12019-1.html)
[#]: subject: (6 Best AUR (Arch User Repository) Helpers for Arch Linux)
[#]: via: (https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/)
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
6 个用于 Arch Linux 的最佳 AUR 助手
======
![](https://img.linux.net.cn/data/attachment/album/202003/21/082920kxdmlwkk7xx7llpw.jpeg)
Arch Linux 是一款 Linux 发行版,主要由针对 x86-64 微处理器计算机的二进制软件包组成。Arch Linux 使用的是滚动发布模型,这种模式会频繁的给应用程序交付更新。它使用名为 [pacman][1] 的软件包管理器,可以用来安装、删除和更新软件包。
由于 Arch Linux 是为有经验的用户构建的,建议新手在使用过其他 Linux 后再来尝试。
### 什么是 AURArch 用户软件仓库)?
[Arch 用户软件仓库][2] 通常称为 AUR是给 Arch 用户的基于社区的软件存储库。
根据软件包在 AUR 社区的流行程度,用户编译的软件包会进入到 Arch 的官方存储库。
### 什么是 AUR 助手?
[AUR 助手][3]是一个包装程序,允许用户从 AUR 存储库安装软件包,而无需手动干预。
很多用例实现了自动化,比如包搜索、解决依赖关系、检索和构建 AUR 包、Web 内容检索和 AUR 包提交之类。
以下列出了 6 种最佳的 AUR 助手:
* YayYet another Yogurt
* Pakku
* Pacaur
* Pikaur
* Trizen
* Aura
### 1YayYet another Yogurt
[Yay][4] 是 Arch Linux 下基于 CLI 的最佳 AUR 助手,使用 Go 语言编写。Yay 是基于 yaourt、apacman 和 pacaur 设计的。
这是最合适推荐给新手的 AUR 助手。类似于 Pacman其使用方法和 `pacman` 中的命令和选项很相似,可以让用户在搜索过程中找到匹配的软件包提供程序,并进行选择。
#### 如何安装 yay
依次运行以下命令以在 Arch Linux 系统上安装。
```
$ sudo pacman -S git go base-devel
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
```
#### 如何使用 yay
`yay` 语法与 `pacman` 相同,使用以下命令安装软件包。
```
$ yay -s arch-wiki-man
```
### 2Pakku
[Pakku][5] 可以被视为一个初始阶段的 Pacman。它是一个包装程序可以让用户从 AUR 中搜索或安装软件包。
它在删除依赖项方面做得不错,并且还允许通过克隆 PKGBUILD 来安装软件包。
#### 如何安装 Pakku
要在 Arch Linux 的系统上安装 Pakku请依次运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/pakku.git
$ cd pakku
$ makepkg -si
```
#### 如何使用 Pakku
`pakku` 语法与 `pacman` 相同,使用以下命令安装软件包。
```
$ pakku -s dropbox
```
### 3Pacaur
另一个基于 CLI 的 AUR 助手,可帮助减少用户与提示符的交互。
[Pacaur][6] 专为倾向于自动化重复任务的高级用户而设计。用户需要熟悉 `makepkg` 及其配置的 AUR 手动构建过程。
#### 如何安装 Pacaur
要在 Arch Linux 的系统上安装 Pakku请依次运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/pacaur.git
$ cd pacaur
$ makepkg -si
```
#### 如何使用 Pacaur
`pacaur` 语法与 `pacman` 相同,使用以下命令安装软件包。
```
$ pacaur -s spotify
```
### 4Pikaur
[Pikaur][7] 是具有最小依赖性的 AUR 助手,可以一次查看所有 PKGBUILD无需用户交互即可全部构建。
Pikaur 将通过控制 `pacman` 命令来告知 Pacman 要执行的下一个步骤。
#### 如何安装 Pikaur
要在 Arch Linux 的系统上安装 Pakku请依次运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/pikaur.git
$ cd pikaur
$ makepkg -fsri
```
#### 如何使用 Pikaur
`pikaur` 语法与 `pacman` 相同,使用以下命令安装软件包。
```
$ pacaur -s spotify
```
### 5Trizen
[Trizen][8] 是用 Perl 编写的基于命令行的 AUR 轻量级包装器。这个面向速度的 AUR 助手,它允许用户搜索、安装软件包,还允许阅读 AUR 软件包注释。
支持编辑文本文件,并且输入/输出使用 UTF-8。内置与 `pacman` 的交互功能。
#### 如何安装 Trizen
要在 Arch Linux 的系统上安装 Trizen请依次运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/trizen.git
$ cd trizen
$ makepkg -si
```
#### 如何使用 Trizen
`trizen` 语法与 `pacman` 相同,使用以下命令安装软件包。
```
$ pacaur -s google-chrome
```
### 6Aura
[Aura][9] 是用 Haskell 编写的,是用于 Arch Linux 和 AUR 的安全的多语言包管理器。它支持许多Pacman 操作和子选项,可轻松进行开发并编写精美的代码。
它可以自动从 AUR 安装软件包。使用 Aura 时,用户通常会在系统升级方面遇到一些困难。
#### 如何安装 Aura
要在 Arch Linux 的系统上安装 Pakku请依次运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/aura.git
$ cd aura
$ makepkg -si
```
#### 如何使用 Aura
`aura` 语法与 `pacman` 相同,使用以下命令安装软件包。
```
$ pacaur -s android-sdk
```
### 结论
用户可以凭借这些分析在上述 6 个 AUR 助手中进行选择。
--------------------------------------------------------------------------------
via: https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/
作者:[Magesh Maruthamuthu][a]
选题:[lujun9972][b]
译者:[hkurj](https://github.com/hkurj)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.2daygeek.com/author/magesh/
[b]: https://github.com/lujun9972
[1]: https://www.2daygeek.com/pacman-command-examples-manage-packages-arch-linux-system/
[2]: https://wiki.archlinux.org/index.php/Arch_User_Repository
[3]: https://wiki.archlinux.org/index.php/AUR_helpers
[4]: https://github.com/Jguer/yay
[5]: https://github.com/kitsunyan/pakku
[6]: https://github.com/E5ten/pacaur
[7]: https://github.com/actionless/pikaur
[8]: https://github.com/trizen/trizen
[9]: https://github.com/fosskers/aura

View File

@ -1,148 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Communicating with other users on the Linux command line)
[#]: via: (https://www.networkworld.com/article/3530343/communicating-with-other-users-on-the-linux-command-line.html)
[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/)
Communicating with other users on the Linux command line
======
Thinkstock / Linux
Sending messages to other users on the Linux command line can be very easy, but there are a number of commands that you might want to consider. In this post, well look at four commands and see how each of them works.
### wall
The **wall** command (as in "write all") allows you to send a message to all users who are currently logged into the system. This implies that the system is likely a server and that users are working on the command line. While the wall command is generally used by sysadmins to send out notices to users to let send out information (e.g., that the server is going down for maintenance), it can be used by any user.
A sysadmin might send out a message like this:
```
$ wall The system will be going down in 15 minutes to address a serious problem
```
Everyone logged into the system will see something like this:
```
Broadcast message from admin@dragonfly (pts/0) (Thu Mar 5 08:56:42 2020):
The system is going down in 15 minutes to address a serious problem
```
If you want to use single quote marks in your message, enclose the message in double quote marks like this:
```
$ wall “Dont forget to save your work before logging off”
```
The outside quote marks will not show up in the transmitted message, but, without them, the command sits and waits for a closing single quote.
### mesg
If, for some reason, you dont want to accept messages from another user, you can stop them from arriving with the **mesg** command. This command can be used with a “n” argument to refuse mail from the user or a “y” argument to allow the messages to arrive.
[][1]
```
$ mesg n doug
$ mesg y doug
```
The blocked user will not be notified that their messages have been blocked. You can also block or allow all messages with a **mesg** command like one of these:
```
$ mesg y
$ mesg n
```
### write
Another command for sending text without reverting to email is **write**. This command can be used to communicate with a specific user.
```
$ write nemo
Are you still at your desk?
I need to talk with you right away.
^C
```
Enter your text and use **^C** to exit when youre done. The command allows you to send text, but doesnt start a two-way conversation. It just sends the text. If the user is logged in on more than one terminal, you can specify which terminal you want to send the message to or you can rely on the system to choose the one with the shortest idle time.
```
$ write nemo#1
```
If the user you are trying to write to has messages blocked, you should see something like this:
```
$ write nemo
write: nemo has messages disabled
```
### talk/ytalk
The **talk** or **ytalk** command gives you a chance to have an interactive chat with one or more other users. The command will bring up a double-pane (top and bottom) window. Each individual will type into the top portion of the display on their screen and see the responses in the bottom section(s). The respondents can respond to a talk request by typing "talk" followed by the username of the person addressing them.
```
Message from Talk_Daemon@dragonfly at 10:10 ...
talk: connection requested by dory@127.0.0.1.
talk: respond with: talk dory@127.0.0.1
$ talk dory
```
The window can involve more than two participants if **ytalk** is used. As you can see in the example below (the result of the "talk dory" command shown above), talk is often ytalk.
```
----------------------------= YTalk version 3.3.0 =--------------------------
Is the report ready?
-------------------------------= nemo@dragonfly =----------------------------
Just finished it
```
As explained above, on the other side of the conversation, the talk session window panes are reversed:
```
----------------------------= YTalk version 3.3.0 =--------------------------
Just finished it
-------------------------------= dory@dragonfly =----------------------------
Is the report ready?
```
Again, use **^C** to exit.
To talk with someone on another system, you just need to add a **-h** option and the hostname or IP address with a command like this:
```
$ talk -h 192.168.0.11 nemo
```
### Wrap-Up
There are a number of basic commands for sending messages to other logged-in users on Linux systems, and they can be especially useful when you need to send out a quick message to all of the users, prefer a quick exchange to a phone call or want to easily involve more than two people in a quick messaging session.
Some commands, like **wall**, allow a message to be broadcast, but are not interactive. Others, like **talk**, allow both lengthy and multi-user chats, avoiding the need to set up a conference call when a fairly quick exchange of information is all that's required.
Join the Network World communities on [Facebook][2] and [LinkedIn][3] to comment on topics that are top of mind.
--------------------------------------------------------------------------------
via: https://www.networkworld.com/article/3530343/communicating-with-other-users-on-the-linux-command-line.html
作者:[Sandra Henry-Stocker][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.networkworld.com/author/Sandra-Henry_Stocker/
[b]: https://github.com/lujun9972
[1]: https://www.networkworld.com/article/3440100/take-the-intelligent-route-with-consumption-based-storage.html?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE21620&utm_content=sidebar ( Take the Intelligent Route with Consumption-Based Storage)
[2]: https://www.facebook.com/NetworkWorld/
[3]: https://www.linkedin.com/company/network-world

View File

@ -0,0 +1,138 @@
[#]: collector: (lujun9972)
[#]: translator: ( )
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Control the firewall at the command line)
[#]: via: (https://fedoramagazine.org/control-the-firewall-at-the-command-line/)
[#]: author: (Paul W. Frields https://fedoramagazine.org/author/pfrields/)
Control the firewall at the command line
======
![][1]
A network _firewall_ is more or less what it sounds like: a protective barrier that prevents unwanted network transmissions. They are most frequently used to prevent outsiders from contacting or using network services on a system. For instance, if youre running a laptop at school or in a coffee shop, you probably dont want strangers poking around on it.
Every Fedora system has a firewall built in. Its part of the network functions in the Linux kernel inside. This article shows you how to change its settings using _firewall-cmd_.
### Network basics
This article cant teach you [everything][2] about computer networks. But a few basics suffice to get you started.
Any computer on a network has an _IP address_. Think of this just like a mailing address that allows correct routing of data. Each computer also has a set of _ports_, numbered 0-65535. These are not physical ports; instead, you can think of them as a set of connection points at the address.
In many cases, the port is a [standard number][3] or range depending on the application expected to answer. For instance, a web server typically reserves port 80 for non-secure HTTP communications, and/or 443 for secure HTTPS. The port numbers under 1024 are reserved for system and well-known purposes, ports 1024-49151 are registered, and ports 49152 and above are usually ephemeral (used only for a short time).
Each of the two most common protocols for Internet data transfer, [TCP][4] and [UDP][5], have this set of ports. TCP is used when its important that all data be received and, if it arrives out of order, reassembled in the right order. UDP is used for more time-sensitive services that can withstand losing some data.
An application running on the system, such as a web server, reserves one or more ports (as seen above, 80 and 443 for example). Then during network communication, a host establishes a connection between a source address and port, and the destination address and port.
A network firewall can block or permit transmissions of network data based on rules like address, port, or other criteria. The _firewall-cmd_ utility lets you interact with the rule set to view or change how the firewall works.
### Firewall zones
To verify the firewall is running, use this command with [sudo][6]. (In fairness, you can run _firewall-cmd_ without the _sudo_ command in environments where [PolicyKit][7] is running.)
```
$ sudo firewall-cmd --state
running
```
The firewalld service supports any number of _zones_. Each zone can have its own settings and rules for protection. In addition, each network interface can be placed in any zone individually The default zone for an external facing interface (like the wifi or wired network card) on a Fedora Workstation is the _FedoraWorkstation_ zone.
To see what zones are active, use the _get-active-zones_ flag. On this system, there are two network interfaces, a wired Ethernet card _wlp2s0_ and a virtualization (libvirt) bridge interface _virbr0_:
```
$ sudo firewall-cmd --get-active-zones
FedoraWorkstation
interfaces: wlp2s0
libvirt
interfaces: virbr0
```
To see the default zone, or all the defined zones:
```
$ sudo firewall-cmd --get-default-zone
FedoraWorkstation
$ sudo firewall-cmd --get-zones
FedoraServer FedoraWorkstation block dmz drop external home internal libvirt public trusted work
```
To see the services the firewall is allowing other systems to access in the default zone, use the _list-services_ flag. Here is an example from a customized system; you may see something different.
```
$ sudo firewall-cmd --list-services
dhcpv6-client mdns samba-client ssh
```
This system has four services exposed. Each of these has a well-known port number. The firewall recognizes them by name. For instance, the _ssh_ service is associated with port 22.
To see other port settings for the firewall in the current zone, use the _list-ports_ flag. By the way, you can always declare the zone you want to check:
```
$ sudo firewall-cmd --list-ports --zone=FedoraWorkstation
1025-65535/udp 1025-65535/tcp
```
This shows that ports 1025 and above (both UDP and TCP) are open by default.
### Changing zones, ports, and services
The above setting is a design decision.* It ensures novice users can use network facing applications they install. If you know what youre doing and want a more protective default, you can move the interface to the _FedoraServer_ zone, which prohibits any ports not explicitly allowed. _(**Warning:** if youre using the host via the network, you may break your connection — meaning youll have to go to that box physically to make further changes!)_
```
$ sudo firewall-cmd --change-interface=<ifname> --zone=FedoraServer
success
```
* _This article is not the place to discuss that decision, which went through many rounds of review and debate in the Fedora community. You are welcome to change settings as needed._
If you want to open a well-known port that belongs to a service, you can add that service to the default zone (or use _zone_ to adjust a different zone). You can add more than one at once. This example opens up the well-known ports for your web server for both HTTP and HTTPS traffic, on ports 80 and 443:
```
$ sudo firewall-cmd --add-service=http --add-service=https
success
```
Not all services are defined, but many are. To see the whole list, use the _get-services_ flag.
If you want to add specific ports, you can do that by number and protocol as well. (You can also combine _add-service_ and _add-port_ flags, as many as necessary.) This example opens up the UDP service for a network boot service:
```
$ sudo firewall-cmd --add-port=67/udp
success
```
**Important:** If you want your changes to be effective after you reboot your system or restart the firewalld service, you **must** add the _permanent_ flag to your commands. The examples here only change the firewall until one of those events next happens.
These are just some of the many functions of the _firewall-cmd_ utility and the firewalld service. There is much more information on firewalld at the projects [home page][8] thats worth reading and trying out.
* * *
_Photo by [Jakob Braun][9] on [Unsplash][10]._
--------------------------------------------------------------------------------
via: https://fedoramagazine.org/control-the-firewall-at-the-command-line/
作者:[Paul W. Frields][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://fedoramagazine.org/author/pfrields/
[b]: https://github.com/lujun9972
[1]: https://fedoramagazine.org/wp-content/uploads/2020/03/firewall-cmd-816x345.jpg
[2]: https://en.wikipedia.org/wiki/Portal:Internet
[3]: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
[4]: https://en.wikipedia.org/wiki/Transmission_Control_Protocol
[5]: https://en.wikipedia.org/wiki/User_Datagram_Protocol
[6]: https://fedoramagazine.org/howto-use-sudo/
[7]: https://en.wikipedia.org/wiki/Polkit
[8]: https://firewalld.org/
[9]: https://unsplash.com/@jakobustrop?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText
[10]: https://unsplash.com/s/photos/brick-wall?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText

View File

@ -1,71 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (Morisun029)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (7 tips for writing an effective technical resume)
[#]: via: (https://opensource.com/article/20/2/technical-resume-writing)
[#]: author: (Emily Brand https://opensource.com/users/emily-brand)
撰写有效技术简历的7个技巧
======
遵循以下这些要点,把自己最好的一面呈现给潜在雇主。
![Two hands holding a resume with computer, clock, and desk chair ][1]
如果你是一名软件工程师或技术领域的经理,那么创建或更新简历可能是一项艰巨的任务。 要考虑的重点是什么? 应该怎么处理格式,内容以及目标或摘要? 哪些工作经验相关? 如何确保自动招聘工具不会过滤掉你的简历?
在过去的七年中,作为一名招聘经理,我看到了各种各样的简历; 尽管有些令人印象深刻,但还有很多人写的很糟糕。
在编写或更新简历时,请遵循以下七个简单原则。
### 1\. 概述
简历顶部的简短段落应简洁明了,目的明确,避免过多使用形容词和副词。 诸如“令人印象深刻”,“广泛”和“优秀”之类的词,这些词不会增加你的招聘机会; 相反,它们看起来和感觉上像是过度使用的填充词。 关于你的目标,问自己一个重要的问题: **它是否告诉招聘经理我正在寻找什么样的工作以及如何为他们提供价值?** 如果不是,请加强并简化它以回答该问题,或者将其完全排除在外。
### 2\. 工作经验
数字,数字,数字。 用事实传达观点远比一般的陈述,例如“帮助构建,管理,交付许多对客户利润有贡献的项目” 更能对你有帮助。 你的表达中应包括统计数据例如“直接影响了五个顶级银行的项目这些项目将其上市时间缩短了40你提交了多少行代码或管理了几个团队。 数据比修饰语更能有效地展示你的能力和价值。
如果你经验不足,没有什么工作经验可展示,那无关的经验,如暑期兼职工作,就不要写了。 相反,将相关经验的细节以及你所学到的知识的详细信息写进简历,这些可以使你成为一个更好的候选人。
### 3\. 搜索术语和行话
随着技术在招聘过程中发挥如此巨大的作用,确保简历被标记为正确的职位非常重要,但不要在简历上过分吹嘘自己。 如果你提到敏捷技能但不知道看板是什么,请三思。 如果你提到自己精通Java但是已经有五年都没有使用过Java了请小心。 如果存在你熟悉但不一定是最新的语言和框架,请创建其他类别或将你的经验分为“精通”和“熟悉”。
### 4\. 教育
如果你不是应届大学毕业生那就没必要再写你的GPA或你参加过的俱乐部或兄弟会除非你计划将它们用作谈话要点以在面试中赢得信任。 确保你发表的或获取过专利的东西包括在内,即使与你的工作无关。 如果你没有大学学位,请添加一个证书部分代替教育背景部分。 如果你是军人,请包括现役和预备时间。
### 5\. 资质证书
除非你想重新进入之前离开的领域,否则不要写过期的证书,例如,如果你曾经是一名人事经理,而现在正寻求动手编程的工作。 如果你拥有与该领域不再相关的认证,就不要写这些认证,因为这些可能会分散招聘者的注意力,使你的简历失去吸引力。 利用你的 LinkedIn 个人资料为简历添加更多色彩,因为大多数人在面试之前都会阅读你的简历和 LinkedIn 个人资料。
### 6\. 拼写和语法
让其他人对你的简历进行校对。 很多时候,我在简历中看到拼写错误的单词,或者错误用词,如“他们的”、“他们是”、“那些”。 这些可以避免和修复的错误会产生负面影响。 理想情况下,你的简历应用主动语态,但是如果这样会使你感到不舒服,那么就用过去时书写-最重要的是要始终保持一致。 不正确的拼写和语法会传递你要么不是很在乎所申请的工作,要么没有足够注意细节。
### 7\. 格式
确保你的简历是最新的并且富有吸引力,这是留下良好第一印象的简便方法。 确保格式一致,例如相同的页边距,相同的间距,大写字母和颜色(将调色板保持在最低水平)是简历写作中最基本的部分,但有必要表明你对工作感到豪感,并重视自己的价值和未来的雇主。 在适当的地方使用表格,以视觉吸引人的方式分配信息。 如果有给定模板,以 .pdf 和 .docx 格式上传简历,然后用 Google Docs 导出为 .odt 格式,这样可以在 LibreOffice 中轻松打开。 这是我推荐的简单的 Google 文档简历模板。 你还可以支付少量费用(不到10美元)从一些设计公司购买。
### 定期更新
如果你被要求(或希望)申请一份工作,定期更新简历可以最大程度地减少压力,也可以帮助你创建和维护更准确的简历版本。 撰写简历时,要有远见,确保至少让其他三个人对你的简历内容,拼写和语法进行检查。 即使你是由公司招募或其他人推荐给公司的,面试官也可能仅通过简历认识你,因此请确保它为你带来良好的第一印象。
--------------------------------------------------------------------------------
via: https://opensource.com/article/20/2/technical-resume-writing
作者:[Emily Brand][a]
选题:[lujun9972][b]
译者:[Morisun029](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/emily-brand
[b]: https://github.com/lujun9972
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/resume_career_document_general.png?itok=JEaFL2XI (Two hands holding a resume with computer, clock, and desk chair )
[2]: https://docs.google.com/document/d/1ARVyybC5qQEiCzUOLElwAdPpKOK0Qf88srr682eHdCQ/edit

View File

@ -1,59 +1,59 @@
[#]: collector: (lujun9972)
[#]: translator: (way-ww)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (How To Enable Or Disable SSH Access For A Particular User Or Group In Linux?)
[#]: via: (https://www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in-linux/)
[#]: author: (2daygeek http://www.2daygeek.com/author/2daygeek/)
[#]: collector: "lujun9972"
[#]: translator: "way-ww"
[#]: reviewer: " "
[#]: publisher: " "
[#]: url: " "
[#]: subject: "How To Enable Or Disable SSH Access For A Particular User Or Group In Linux?"
[#]: via: "https://www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in-linux/"
[#]: author: "2daygeek http://www.2daygeek.com/author/2daygeek/"
How To Enable Or Disable SSH Access For A Particular User Or Group In Linux?
如何在 Linux 上为特定的用户或用户组启用或禁用 SSH ?
======
As per your organization standard policy, you may need to allow only the list of users that are allowed to access the Linux system.
由于你的公司标准规定, 你可能只能允许部分人访问 Linux 系统。
Or you may need to allow only few groups, which are allowed to access the Linux system.
或者你可能只能够允许几个用户组中的用户访问 Linux 系统。
How to achieve this? What is the best way? How to achieve this in a simple way?
那么如何实现这样的要求呢? 最好的方法是什么呢? 如何使用一个简单的方法去实现呢?
Yes, there are many ways are available to perform this.
是的, 我们会有很多种方法去实现它。
However, we need to go with simple and easy method.
但是我们应该使用简单轻松的方法。
If so, it can be done by making the necessary changes in `/etc/ssh/sshd_config` file.
为了简单轻松的完成目的, 我们可以通过对 `/etc/ssh/sshd_config` 文件做必要的修改来实现。
In this article we will show you, how to perform this in details.
在这篇文章中我们将会向你展示实现要求的详细步骤。
Why are we doing this? due to security reason. Navigate to the following URL to know more about **[openSSH][1]** usage.
为什么我们要这样做呢? 仅仅是出于安全的原因。你可以访问这个链接来获取更多关于 **[openSSH][1]** 的使用方法。
### What Is SSH?
### 什么是 SSH
openssh stands for OpenBSD Secure Shell. Secure Shell (ssh) is a free open source networking tool which allow us to access remote system over an unsecured network using Secure Shell (SSH) protocol.
openssh 全称为 OpenBSD Secure Shell. Secure Shell (ssh) 是一个开源免费的网络工具, 它能让我们在一个不安全的网络中通过使用 Secure Shell (SSH) 协议来安全访问远程主机。
Its a client-server architecture. It handles user authentication, encryption, transferring files between computers and tunneling.
它采用了 client-server 架构, 拥有用户身份认证, 加密, 在计算机和隧道之间传输文件等功能。
These can be accomplished via traditional tools such as telnet or rcp, these are insecure and use transfer password in cleartext format while performing any action.
我们也可以用 telnet 或 rcp 等传统工具来完成, 但是这些工具都不安全,因为它们在执行任何动作时都会使用明文来传输密码。
### How To Allow A User To Access SSH In Linux?
### 如何在 Linux 中允许用户使用 SSH
We can allow/enable the ssh access for a particular user or list of the users using the following method.
通过以下内容, 我们可以为指定的用户或用户列表启用 ssh 访问。
If you would like to allow more than one user then you have to add the users with space in the same line.
如果你想要允许多个用户, 那么你可以在添加用户时在同一行中用空格来隔开他们。
To do so, just append the following value into `/etc/ssh/sshd_config` file. In this example, we are going to allow ssh access for `user3`.
为了达到目的只需要将下面的值追加到 `/etc/ssh/sshd_config` 文件中去。 在这个例子中, 我们将会允许用户 `user3` 使用 ssh。
```
# echo "AllowUsers user3" >> /etc/ssh/sshd_config
```
You can double check this by running the following command.
你可以运行下列命令再次检查是否添加成功。
```
# cat /etc/ssh/sshd_config | grep -i allowusers
AllowUsers user3
```
Thats it. Just bounce the ssh service and see the magic.
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。(下面这两条命令效果相同, 请根据你的服务管理方式选择一条执行即可)
```
# systemctl restart sshd
@ -61,7 +61,7 @@ Thats it. Just bounce the ssh service and see the magic.
# service restart sshd
```
Simple open a new terminal or session and try to access the Linux system with different user. Yes, `user2` isnt allowed for SSH login and will be getting an error message as shown below.
接下来很简单, 只需打开一个新的终端或者会话尝试用不同的用户身份访问 Linux 系统。 是的,这里 `user2` 用户是不被允许使用 SSH 登录的并且会得到如下所示的错误信息。
```
# ssh [email protected]
@ -69,7 +69,7 @@ Simple open a new terminal or session and try to access the Linux system with di
Permission denied, please try again.
```
Output:
输出:
```
Mar 29 02:00:35 CentOS7 sshd[4900]: User user2 from 192.168.1.6 not allowed because not listed in AllowUsers
@ -79,7 +79,7 @@ Mar 29 02:00:40 CentOS7 sshd[4900]: pam_unix(sshd:auth): authentication failure;
Mar 29 02:00:43 CentOS7 sshd[4900]: Failed password for invalid user user2 from 192.168.1.6 port 42568 ssh2
```
At the same time `user3` is allowed to login into the system because its in allowed users list.
与此同时用户 `user3` 被允许登入系统因为他在被允许的用户列表中。
```
# ssh [email protected]
@ -87,33 +87,33 @@ At the same time `user3` is allowed to login into the system because its in a
[[email protected] ~]$
```
Output:
输出:
```
Mar 29 02:01:13 CentOS7 sshd[4939]: Accepted password for user3 from 192.168.1.6 port 42590 ssh2
Mar 29 02:01:13 CentOS7 sshd[4939]: pam_unix(sshd:session): session opened for user user3 by (uid=0)
```
### How To Deny Users To Access SSH In Linux?
### 如何在 Linux 中阻止用户使用 SSH
We can deny/disable the ssh access for a particular user or list of the users using the following method.
通过以下内容, 我们可以配置指定的用户或用户列表禁用 ssh 。
If you would like to disable more than one user then you have to add the users with space in the same line.
如果你想要禁用多个用户, 那么你可以在添加用户时在同一行中用空格来隔开他们。
To do so, just append the following value into `/etc/ssh/sshd_config` file. In this example, we are going to disable ssh access for `user1`.
为了达到目的只需要将以下值追加到 `/etc/ssh/sshd_config` 文件中去。 在这个例子中, 我们将禁用用户 `user1` 使用 ssh
```
# echo "DenyUsers user1" >> /etc/ssh/sshd_config
```
You can double check this by running the following command.
你可以运行下列命令再次检查是否添加成功。
```
# cat /etc/ssh/sshd_config | grep -i denyusers
DenyUsers user1
```
Thats it. Just bounce the ssh service and see the magic.
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。
```
# systemctl restart sshd
@ -121,7 +121,7 @@ Thats it. Just bounce the ssh service and see the magic.
# service restart sshd
```
Simple open a new terminal or session and try to access the Linux system with Deny user. Yes, `user1` is in denyusers list. So, you will be getting an error message as shown below when you are try to login.
接下来很简单, 只需打开一个新的终端或者会话尝试使用被禁用的用户身份被访问 Linux 系统。 是的,这里 `user1` 用户在禁用名单中。 所以, 当你尝试登录时, 你将会得到如下所示的错误信息。
```
# ssh [email protected]
@ -129,7 +129,7 @@ Simple open a new terminal or session and try to access the Linux system with De
Permission denied, please try again.
```
Output:
输出:
```
Mar 29 01:53:42 CentOS7 sshd[4753]: User user1 from 192.168.1.6 not allowed because listed in DenyUsers
@ -139,33 +139,33 @@ Mar 29 01:53:46 CentOS7 sshd[4753]: pam_unix(sshd:auth): authentication failure;
Mar 29 01:53:48 CentOS7 sshd[4753]: Failed password for invalid user user1 from 192.168.1.6 port 42522 ssh2
```
### How To Allow Groups To Access SSH In Linux?
### 如何在 Linux 中允许用户组使用 SSH?
We can allow/enable the ssh access for a particular group or groups using the following method.
通过以下内容, 我们可以允许一个指定的组或多个组使用 ssh。
If you would like to allow more than one group then you have to add the groups with space in the same line.
如果你想要允许多个组使用 ssh 那么你在添加用户组时需要在同一行中使用空格来隔开他们。
To do so, just append the following value into `/etc/ssh/sshd_config` file. In this example, we are going to disable ssh access for `2g-admin` group.
为了达到目的只需将以下值追加到 `/etc/ssh/sshd_config` 文件中去。 在这个例子中, 我们将允许 `2g-admin` 组使用 ssh。
```
# echo "AllowGroups 2g-admin" >> /etc/ssh/sshd_config
```
You can double check this by running the following command.
你可以运行下列命令再次检查是否添加成功。
```
# cat /etc/ssh/sshd_config | grep -i allowgroups
AllowGroups 2g-admin
```
Run the following command to know the list of the users are belongs to this group.
运行下列命令查看属于该用户组的用户有哪些。
```
# getent group 2g-admin
2g-admin:x:1005:user1,user2,user3
```
Thats it. Just bounce the ssh service and see the magic.
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。
```
# systemctl restart sshd
@ -173,22 +173,21 @@ Thats it. Just bounce the ssh service and see the magic.
# service restart sshd
```
Yes, `user3` is allowed to login into the system because user3 is belongs to `2g-admin` group.
是的, `user1` 被允许登入系统因为用户 user1 属于 `2g-admin` 组。
```
# ssh [email protected]
[email protected]'s password:
[[email protected] ~]$
```
Output:
输出:
```
Mar 29 02:10:21 CentOS7 sshd[5165]: Accepted password for user1 from 192.168.1.6 port 42640 ssh2
Mar 29 02:10:22 CentOS7 sshd[5165]: pam_unix(sshd:session): session opened for user user1 by (uid=0)
```
Yes, `user2` is allowed to login into the system because user2 is belongs to `2g-admin` group.
是的, `user2` 被允许登入系统因为用户 user2 同样属于 `2g-admin` 组。
```
# ssh [email protected]
@ -196,14 +195,14 @@ Yes, `user2` is allowed to login into the system because user2 is belongs to `2g
[[email protected] ~]$
```
Output:
输出:
```
Mar 29 02:10:38 CentOS7 sshd[5225]: Accepted password for user2 from 192.168.1.6 port 42642 ssh2
Mar 29 02:10:38 CentOS7 sshd[5225]: pam_unix(sshd:session): session opened for user user2 by (uid=0)
```
When you are try to login into the system with other users which are not part of this group then you will be getting an error message as shown below.
当你尝试使用其他不在被允许的组中的用户去登入系统时, 你将会得到如下所示的错误信息。
```
# ssh [email protected]
@ -211,7 +210,7 @@ When you are try to login into the system with other users which are not part of
Permission denied, please try again.
```
Output:
输出:
```
Mar 29 02:12:36 CentOS7 sshd[5306]: User ladmin from 192.168.1.6 not allowed because none of user's groups are listed in AllowGroups
@ -221,19 +220,19 @@ Mar 29 02:12:56 CentOS7 sshd[5306]: pam_unix(sshd:auth): authentication failure;
Mar 29 02:12:58 CentOS7 sshd[5306]: Failed password for invalid user ladmin from 192.168.1.6 port 42674 ssh2
```
### How To Deny Group To Access SSH In Linux?
### 如何在 Linux 中阻止用户组使用 SSH
We can deny/disable the ssh access for a particular group or groups using the following method.
通过以下内容, 我们可以禁用指定的组或多个组使用 ssh。
If you would like to disable more than one group then you need to add the group with space in the same line.
如果你想要禁用多个用户组使用 ssh 那么你需要在添加用户组时在同一行中使用空格来隔开他们。
To do so, just append the following value into `/etc/ssh/sshd_config` file.
为了达到目的只需要将下面的值追加到 `/etc/ssh/sshd_config` 文件中去。
```
# echo "DenyGroups 2g-admin" >> /etc/ssh/sshd_config
```
You can double check this by running the following command.
你可以运行下列命令再次检查是否添加成功。
```
# # cat /etc/ssh/sshd_config | grep -i denygroups
@ -243,7 +242,7 @@ DenyGroups 2g-admin
2g-admin:x:1005:user1,user2,user3
```
Thats it. Just bounce the ssh service and see the magic.
这样就行了, 现在只需要重启 ssh 服务和见证奇迹了。
```
# systemctl restart sshd
@ -251,7 +250,7 @@ Thats it. Just bounce the ssh service and see the magic.
# service restart sshd
```
Yes `user3` isnt allowed to login into the system because its not part of `2g-admin` group. Its in Denygroups.
是的 `user1` 不被允许登入系统, 因为他是 `2g-admin` 用户组中的一员。 他属于被禁用 ssh 的组中。
```
# ssh [email protected]
@ -259,7 +258,7 @@ Yes `user3` isnt allowed to login into the system because its not part of
Permission denied, please try again.
```
Output:
输出:
```
Mar 29 02:17:32 CentOS7 sshd[5400]: User user1 from 192.168.1.6 not allowed because a group is listed in DenyGroups
@ -269,15 +268,14 @@ Mar 29 02:17:38 CentOS7 sshd[5400]: pam_unix(sshd:auth): authentication failure;
Mar 29 02:17:41 CentOS7 sshd[5400]: Failed password for invalid user user1 from 192.168.1.6 port 42710 ssh2
```
Anyone can login into the system except `2g-admin` group. Hence, `ladmin` user is allowed to login into the system.
除了 `2g-admin` 用户组之外的用户都可以使用 ssh 登入系统。 例如 Hence, `ladmin` 等用户就允许登入系统。
```
# ssh [email protected]
[email protected]'s password:
[[email protected] ~]$
```
Output:
输出:
```
Mar 29 02:19:13 CentOS7 sshd[5432]: Accepted password for ladmin from 192.168.1.6 port 42716 ssh2
@ -290,7 +288,7 @@ via: https://www.2daygeek.com/allow-deny-enable-disable-ssh-access-user-group-in
作者:[2daygeek][a]
选题:[lujun9972][b]
译者:[译者ID](https://github.com/译者ID)
译者:[way-ww](https://github.com/way-ww)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -0,0 +1,146 @@
[#]: collector: (lujun9972)
[#]: translator: (linusboyle)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (Communicating with other users on the Linux command line)
[#]: via: (https://www.networkworld.com/article/3530343/communicating-with-other-users-on-the-linux-command-line.html)
[#]: author: (Sandra Henry-Stocker https://www.networkworld.com/author/Sandra-Henry_Stocker/)
使用Linux命令行与其他用户进行通信
======
使用Linux命令行向其他用户发送消息或许非常容易但你可能会对一些相关的命令感兴趣。在这篇文章中我们会考察4个这样的命令看看它们是怎么工作的。
### wall
**wall**("write all"的简称)命令允许你向所有系统中已登录的用户发送一条信息。这里我们假设用户都使用命令行在一台服务器上工作。虽然wall命令最常被系统管理员用于向用户发布公告和传递信息比如说服务器即将因维护而关闭),但它可以被任何用户使用。
一个系统管理员可能会用类似下面的方式发送信息:
```
$ wall The system will be going down in 15 minutes to address a serious problem
```
而所有登录的用户都将看到类似这样的信息:
```
Broadcast message from admin@dragonfly (pts/0) (Thu Mar 5 08:56:42 2020):
The system is going down in 15 minutes to address a serious problem
```
如果希望在消息中使用单引号,你可以像这样将信息用双引号括起来:
```
$ wall “Dont forget to save your work before logging off”
```
最外层的双引号不会出现在发出的消息中但是如果没有它们wall会停下并等待输入一个配对的单引号。
### mesg
如果出于某种理由你不想接收来自另一个用户的消息,你可以使用**mesg**命令来屏蔽这些消息。这个命令可以接受一个“n”作为参数来拒绝某用户的消息或者接收一个“y”作为参数来接收用户发来的消息。
[][1]
```
$ mesg n doug
$ mesg y doug
```
被屏蔽的用户不会被告知这一事实。你也可以像这样使用**mesg**来屏蔽或者接收所有消息:
```
$ mesg y
$ mesg n
```
### write
另一个用于在不使用电子邮件的情况下发送文本的命令是**write**,这个命令可以用来和一个特定的用户通信。
```
$ write nemo
Are you still at your desk?
I need to talk with you right away.
^C
```
输入你的信息后用**ctrl-c**退出,这样就完成了通信。这个命令允许你发送文本,但并不建立一个双向的通话。它只是将文本发送过去而已。如果目标用户在多于一个终端上登录,你可以指定你想将消息发送到哪一个终端,否则系统会选择空闲时间最短的那个终端。
```
$ write nemo#1
```
如果你试图向一个将消息屏蔽了的用户发送信息,你应该会看到这样的输出:
```
$ write nemo
write: nemo has messages disabled
```
### talk/ytalk
**talk**和**ytalk**命令让你可以和一个或多个用户进行交互式的聊天。它们会展示一个有上下两个子窗口的界面每个用户向他们屏幕上显示在上方的窗口输入内容并在下方的窗口看到回复信息。要回复一个talk请求接收方可以输入“talk”在后面加上请求方的用户名。
```
Message from Talk_Daemon@dragonfly at 10:10 ...
talk: connection requested by dory@127.0.0.1.
talk: respond with: talk dory@127.0.0.1
$ talk dory
```
如果使用的是**ytalk**那么窗口中可以包含多于两个参与者。正如下面的例子所展示的这是上面“talk dory”命令的结果talk通常指向ytalk。
```
----------------------------= YTalk version 3.3.0 =--------------------------
Is the report ready?
-------------------------------= nemo@dragonfly =----------------------------
Just finished it
```
如上所述在通话的另一侧talk会话界面的窗口是相反的
```
----------------------------= YTalk version 3.3.0 =--------------------------
Just finished it
-------------------------------= dory@dragonfly =----------------------------
Is the report ready?
```
同样的,使用**ctrl-c**来退出。
如果要和非本机的用户通讯,你需要加上**-h**选项和目标主机名或IP地址就像这样
```
$ talk -h 192.168.0.11 nemo
```
### 总结
Linux上有若干基本的命令可以用来向其他登录的用户发送消息。如果你需要向所有用户快速发送信息或是需要便捷的电话替代品又或是希望能简单地开始一个多用户快速通讯会话这些命令会十分实用。
一些命令如**wall**允许广播消息但却不是交互式的。另外的一些命令如**talk**允许多用户进行长时间通讯,当你只需要非常快速地交换一些信息,它们可以你你避免建立一个电话会议。
加入在[Facebook][2]和[LinkedIn][3]上的Network World社区来评论你感兴趣的话题。
--------------------------------------------------------------------------------
via: https://www.networkworld.com/article/3530343/communicating-with-other-users-on-the-linux-command-line.html
作者:[Sandra Henry-Stocker][a]
选题:[lujun9972][b]
译者:[linusboyle](https://github.com/linusboyle)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.networkworld.com/author/Sandra-Henry_Stocker/
[b]: https://github.com/lujun9972
[1]: https://www.networkworld.com/article/3440100/take-the-intelligent-route-with-consumption-based-storage.html?utm_source=IDG&utm_medium=promotions&utm_campaign=HPE21620&utm_content=sidebar ( Take the Intelligent Route with Consumption-Based Storage)
[2]: https://www.facebook.com/NetworkWorld/
[3]: https://www.linkedin.com/company/network-world

View File

@ -1,215 +0,0 @@
[#]: collector: (lujun9972)
[#]: translator: (hkurj)
[#]: reviewer: ( )
[#]: publisher: ( )
[#]: url: ( )
[#]: subject: (6 Best AUR (Arch User Repository) Helpers for Arch Linux)
[#]: via: (https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/)
[#]: author: (Magesh Maruthamuthu https://www.2daygeek.com/author/magesh/)
6个用于Arch Linux的最佳AURArch用户软件仓库助手
======
Arch Linux是Linux发行版主要基于面向x86-64微处理器计算机的二进制软件包。
Arch Linux使用的是滚动发布模型该模型频繁的将更新交付给应用程序。
它使用名为 **[pacman][1]** 的软件包管理器,它允许安装,删除和更新软件包。
由于Arch Linux是为有经验的用户构建的建议新手在使用其他Linux后再来尝试。
### 什么是AURArch用户软件仓库
[Arch用户软件仓库][2]通常称为AUR是Arch用户基于社区的软件存储库。
AUR社区用户根据软件包流行程度编译进入Arch官方存储库。
### 什么是AUR助手
[AUR助手][3]是一个包装程序允许用户从AUR存储库安装软件包而无需手动干预。
很多用法实现了自动化比如包搜索解决依赖关系检索和构建AUR包Web内容检索和AUR包提交之类。
**以下列出了6种最佳的AUR助手**
* Yay (Yet another Yogurt)
* Pakku
* Pacaur
* Pikaur
* Trizen
* Aura
### 1) Yay (Yet another Yogurt)
[Yay][4]是Arch Linux下基于CLI的最佳AUR助手使用GO语言编写。 Yay基于yaourtapacman和pacaur设计。
这是给推荐新手最合适的AUR助手。使用方法和pacman使用的命令选项很相似允许用户在搜索过程中找到匹配的软件包提供程序并可供选择。
### 如何安装yay
依次运行以下命令以在Arch Linux的系统上安装。
```
$ sudo pacman -S git go base-devel
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
```
### 如何使用yay
yay语法与pacman相同使用以下命令安装软件包。
```
$ yay -s arch-wiki-man
```
### 2) Pakku
[Pakku][5]可以被视为一个初始阶段的Pacman。 它是一个包装程序允许用户从AUR搜索或安装软件包。
它在删除依赖项方面做得不错并且还允许通过克隆PKGBUILD来安装软件包。
### 如何安装Pakku
要在Arch Linux的系统上安装pakku请一一运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/pakku.git
$ cd pakku
$ makepkg -si
```
### 如何使用Pakku
pakku语法与pacman相同使用以下命令安装软件包。
```
$ pakku -s dropbox
```
### 3) Pacaur
另一个基于CLI的AUR助手可帮助减少用户提示交互。
[Pacaur][6]专为倾向于自动化重复任务的高级用户而设计。 用户需要熟悉makepkg及其配置的AUR手动构建过程。
### 如何安装Pacaur
要在Arch Linux的系统上安装pakku请一一运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/pacaur.git
$ cd pacaur
$ makepkg -si
```
### 如何使用Pacaur
Pacaur语法与pacman相同使用以下命令安装软件包。
```
$ pacaur -s spotify
```
### 4) Pikaur
[Pikaur][7]是具有最小依赖性的AUR助手可以一次查看所有PKGBUILD无需用户交互即可全部构建。
Pikaur将通过控制pacman来告知Pacman下一个步骤。
### 如何安装Pikaur
要在Arch Linux的系统上安装pakku请一一运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/pikaur.git
$ cd pikaur
$ makepkg -fsri
```
### 如何使用Pikaur
Pikaur语法与pacman相同使用以下命令安装软件包。
```
$ pacaur -s spotify
```
### 5) Trizen
[Trizen][8]是用Perl编写的基于命令行的AUR轻量级包装器。 面向速度的AUR助手它允许用户搜索安装软件包还允许阅读AUR软件包注释。
支持编辑文本文件,并且输入/输出使用UTF-8。 内置与pacman的交互功能。
### 如何安装Trizen
要在Arch Linux的系统上安装pakku请一一运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/trizen.git
$ cd trizen
$ makepkg -si
```
### 如何使用Trizen
### How to Use Trizen
Trizen语法与pacman相同使用以下命令安装软件包。
```
$ pacaur -s google-chrome
```
### 6) Aura
[Aura][9]是用Haskell编写的用于Arch Linux和AUR的安全多语言包管理器。 它支持许多Pacman操作和子选项可轻松进行开发并编写精美的代码。
它可以自动从Arch用户软件仓库安装软件包。使用Aura时用户通常会在系统升级方面遇到困难。
### 如何安装Aura
要在Arch Linux的系统上安装pakku请一一运行以下命令。
```
$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/aura.git
$ cd aura
$ makepkg -si
```
### 如何使用Aura
Aura语法与pacman相同使用以下命令安装软件包。
```
$ pacaur -s android-sdk
```
### 结论
用户可以凭借这些分析在上述6个AUR助手中进行选择。
--------------------------------------------------------------------------------
via: https://www.2daygeek.com/best-aur-arch-user-repository-helpers-arch-linux-manjaro/
作者:[Magesh Maruthamuthu][a]
选题:[lujun9972][b]
译者:[hkurj](https://github.com/hkurj)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://www.2daygeek.com/author/magesh/
[b]: https://github.com/lujun9972
[1]: https://www.2daygeek.com/pacman-command-examples-manage-packages-arch-linux-system/
[2]: https://wiki.archlinux.org/index.php/Arch_User_Repository
[3]: https://wiki.archlinux.org/index.php/AUR_helpers
[4]: https://github.com/Jguer/yay
[5]: https://github.com/kitsunyan/pakku
[6]: https://github.com/E5ten/pacaur
[7]: https://github.com/actionless/pikaur
[8]: https://github.com/trizen/trizen
[9]: https://github.com/fosskers/aura