小编Hau*_*ing的帖子

/proc/mounts 中显示的挂载选项

IIRC 然后显示的挂载选项/proc/mounts已更改。前段时间acluser_xattr显示,现在似乎只有noaclnouser_xattr显示这些功能是否关闭。

这是在哪里配置的?这是否取决于文件系统代码的编译默认值?如何检查卷是否支持例如 ACL?有没有比用setfacl,测试更好的解决方案getfacl

filesystems mount proc linux-kernel

6
推荐指数
1
解决办法
2495
查看次数

测量从 /dev/random 读取的数据量

背景

我已经编写了一系列 bash 脚本(其中大部分只有德语,但如果您有兴趣;下载存档而不是单个脚本)帮助用户创建高质量的 OpenPGP 密钥。这些脚本通常用于“安全”环境(Linux live CD/DVD)。这导致了这些系统几乎没有任何熵的问题。

出于显而易见的原因,gpg从中读取了大量数据,/dev/random这意味着我的可怜用户(最坏的情况是那些使用 SSD 的用户)必须在键盘上输入很多内容才能创建所需的熵。

我编写了一个简单的脚本,它向用户显示熵池的当前大小(gpg读取数据时,熵池在 0 到 64 之间快速变化)。我还想显示一种进度条,以便用户可以看到他们已经生成了例如所需熵的大约 50%。所需的数量应始终(几乎)相同(直到我更改密钥大小)。

所以问题是:我如何(轻松)测量/dev/random(通过某个进程或整个系统)读取的数据量?我现在已经到唯一的想法是连接stracegpg并跟踪read()从各自的文件描述符秒。但也许有更好的解决方案。

bash shell-script gpg random files

6
推荐指数
1
解决办法
755
查看次数

在 Ubuntu 上通过物理网络向自己发送流量

我有一个双端口以太网 NIC,假设我已将两个端口连接到一个循环中,并将以下 IP 分配给 2 个以太网接口:

  • eth2 -> 192.168.2.1
  • eth3 -> 192.168.3.1

我想通过物理网络将流量从一个端口发送到另一个端口,例如 ping 192.168.3.1from 192.168.2.1. 但是,Linux 内核中的 TCP/IP 堆栈识别出这两个地址是本地地址,而是将流量发送到环回适配器,因此流量永远不会到达物理网络。

我最接近解决方案的是 Anastasov 的send-to-self patch,不幸的是,它自内核 3.6 以来已停止使用,因此它不适用于我的 Ubuntu 13.10(内核 3.11)。我已经尝试为 3.11 重写补丁,但我似乎无法在 Ubuntu 发行版中找到这些补丁:

  • 包括/linux/inetdevice.h
  • 网络/ipv4/devinet.c
  • net/ipv4/fib_frontend.c
  • 网络/ipv4/route.c
  • 文档/网络/ip-sysctl.txt

有没有办法让发送给自己的补丁工作,或者替代解决方案?

networking routing ip ethernet nat

6
推荐指数
2
解决办法
4475
查看次数

不同的密码取决于插入的设备

我想为我的帐户设置不同的密码:当(例如)插入某个 U 盘时,将使用一个简单的密码。这个想法是:如果我离开我的电脑,那么我带着我的手杖,然后应该禁用简单的密码。

我的总体思路是:

  1. 用 udev 检测棒,也许检测它上面的某些数据(用 udev 运行的脚本)并做出相应的反应(例如,创建一个在棒被拔出时被删除的文件)。这应该很容易。
  2. 让 PAM 检查此文件是否存在并相应地选择密码数据库。

主要问题可能是(即,如果我正确理解了问题的结构):可以pam_unix2配置为使用另一个影子文件吗?我刚刚看了看手册页,pam_unix2似乎这是不可能的,因为这个模块让 glibc NSS 做出这个决定。

linux password login pam udev

6
推荐指数
1
解决办法
122
查看次数

Linux命令返回所有以TEMP开头但不以两位数结尾的文件

返回所有以 TEMP 开头但不以两位数结尾的文件的 Linux 命令是什么?

我认为它应该是这样的:

ls -l TEMP*[!0-9][!0-9]
Run Code Online (Sandbox Code Playgroud)

但我的搜索结果似乎省略了一些结果。

ls wildcards files

6
推荐指数
1
解决办法
1635
查看次数

在另一个位置查找并创建同名的空文件

我想创建同名的空文件,但在另一个位置。

是否可以?

  1. 找到一些文件
  2. 只使用文件名
  3. 触摸另一个地方的空文件

像这样的东西:

find . -type f -name '*.jpg' -exec basename {}.tmp | touch ../emptys/{} \;
Run Code Online (Sandbox Code Playgroud)

bash find touch

6
推荐指数
1
解决办法
1417
查看次数

编写一个使用 SSH 而不是 telnet 的“telnet 服务器”类型的程序

因此,人们使用 telnet 编写服务器程序,用户只需在其中执行telnet server.com并将他们连接到服务器程序,然后为他们提供可以通过网络使用的文本程序(如 MUD)。这里有一些,例如:

http://www.telnet.org/htm/places.htm

我想编写一个这样的服务器程序,但我希望它具有防止 SSH 提供的窃听和 MITM 攻击的安全性。那么是否有可能编写一个程序,让用户可以在 linux 机器上执行此操作,ssh server.com或者可以ssh guest@server.com将其修补到与这些 telnet 服务器类似的文本程序中?

security ssh encryption telnet

5
推荐指数
2
解决办法
957
查看次数

SSH如何显示“无法建立主机..的真实性”信息?

我想跟踪 ssh 用来输出此警告消息的系统调用:

> ssh root@abcde
The authenticity of host .. can't be established.
Run Code Online (Sandbox Code Playgroud)

如果消息被发送到 stderr 或 stdout,肯定会有一个系统调用跟踪显示 sshwrite()到 stderr/stdout。

然而,没有。

那么SSH是如何在终端上显示警告信息的呢?SSH 是否直接操作终端设备来显示消息,而不与 stderr/stdout 交互?

command-line ssh terminal io-redirection

5
推荐指数
1
解决办法
464
查看次数

Crontabed shell 脚本无法创建/写入文件

我编写了一个简单的 shell 脚本来使用该mysqldump命令备份我的数据库中的表。该命令只是将 DB 转储到dbName.sql文件中。但是,如果该dbName.sql文件尚不存在并且我 crontab 这个 shell 脚本,它就不起作用。可能是什么原因?是否不允许 crontab 脚本创建和写入文件?

cron shell-script files

5
推荐指数
1
解决办法
9289
查看次数

降低或增加所有输出的脉冲音频音量

我经常更改笔记本电脑的音频设置(有时使用内置插孔端口,有时什么都不用,有时使用 USB 耳机,有时使用笔记本电脑底座中的插孔端口)。我想要键盘快捷键来一次性降低或提高所有输出的音量,因此无论当前哪个音频输出处于活动状态,它都可以工作。实现这一目标的最简单方法是什么?我还看到在 pavucontrol 中,我可以超过 100%,这有时很实用,所以如果命令也能够做到这一点,那就太好了。

我正在运行 Debian 测试、内核 4.9.0-3-amd64 和 pulseaudio 10.0。

command-line audio pulseaudio audio-volume

5
推荐指数
1
解决办法
1万
查看次数