小编Mar*_*ter的帖子

为什么用户不能更改自己文件的组所有权?

为什么用户不能更改他拥有的文件的组权限。假设我有用户martin

$ ls -lAd /home/martin/
drwx------ 8 martin martin 4096 Apr 20 01:06 /home/martin/
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我希望用户paul能够访问我的家。

$ chgrp paul /home/martin/
chgrp: changing group of `/home/martin/': Operation not permitted
Run Code Online (Sandbox Code Playgroud)

用户无法更改自己文件的组所有权是否存在安全原因?

我正在使用Debian 7(喘气)。

permissions group

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

mutt:自动显示新消息

当我打开 mutt 时,直到我按下一个键,例如向下箭头,我才会看到新的电子邮件。然后出现新的电子邮件。有没有办法让 mutt 识别新电子邮件已经到达,并自动显示电子邮件,而不必每隔几分钟按下一个键?

我正在使用 maildir 格式(本地存储的电子邮件)。最好的方法是什么?mutt 应该每 n 秒检查一次,还是应该由操作系统通知,也许使用 inotify ?

email mutt inotify

14
推荐指数
1
解决办法
9167
查看次数

后缀:禁用通过端口 25 的身份验证

在邮件服务器上使用PostfixIMAP时,通常至少打开 3 个端口

25 smtp   : incoming emails from anybody (whole internet)
465 smtps : outgoing emails from authorized users (to the whole intenet)
993 imap  : imap for authorized users
Run Code Online (Sandbox Code Playgroud)

我想配置postfix,让授权用户只能通过465发送邮件。默认情况下不是这样。用户还可以通过端口 25 使用 STARTTLS。我想禁用它。

我的计划是使用端口 25 为公众发送电子邮件

为我的用户使用端口 465(我可以使用防火墙来允许特定的 IP 范围,或使用自定义端口)

这将防止端口 25 被暴力攻击利用,黑客试图猜测用户/密码。端口 25 根本不会接受用户/密码,即使它是有效的。由于 465 端口被防火墙限制,黑客也无法利用 465。

这在 Postfix 中可能吗?

我在 Debian Wheezy 上使用 Postfix 2.9.6-2

smtp imap postfix sasl

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

通过 rdesktop 连接到 xrdp-sesman 时剪贴板不起作用

我有一台 Debian 机器,xrdp-sesman按照以下方式进行设置

Xvnc           127.0.0.1:5910
xrdp-sesman    127.0.0.1:3350
xrdp             0.0.0.0:3389
Run Code Online (Sandbox Code Playgroud)

我正在rdesktop从另一台 Debian 机器连接到这台机器。

一切都很好,除了clipboard(即Ctrl+c Ctrl+v用于复制和粘贴)。当我使用相同的rdesktop客户端从我的 Debian 机器连接到 Windows 机器时,clipboard工作正常。

我怀疑,之所以clipboard不工作时连接到sesman的是,它使用rdpvnc(或类似的东西)。我不明白如何sesman工作,我刚刚重用了我在某处找到的配置。

这是我的/etc/xrdp/xrdp.ini

[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1

[xrdp1]
name=sesman-Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
Run Code Online (Sandbox Code Playgroud)

使用 rdesktop 客户端连接到 xrdp-sesman 时,如何使剪贴板工作?

vnc debian remote-desktop rdesktop

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

在 bash 中禁用作业控制 (CTRL-Z)

有时我会发生这种情况,我不小心按了CTRL+ Z,我的应用程序消失在后台。我知道,我可以把它带回来fg,所以这没什么大不了的。但我想知道job control无论如何都要关闭它。在我的一生中,我无法记住一个我需要它的实例,它在我看来只是过去的遗物。

job control完全禁用可以吗?或者我遗漏了什么,这个功能很有用?我将如何在我的.bashrc

更新:

我已经set +m按照@Falsenames 的建议进行了尝试。但是,这仅在我在终端中输入时才有效。添加set +m到我的.bashrc没有效果。

bash job-control bashrc

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

防止 bash 中的多行粘贴

我经常使用ctrl+c鼠标右键单击菜单和粘贴从某些 gui 应用程序复制文本,然后将其粘贴到我的终端模拟器(终结器)中。有时我会忘记剪贴板包含几行,当粘贴到 bash 时会导致每一行都被“执行”

是否有一些解决方案可以完全防止多行粘贴?

command-line bash terminal-emulator x11 clipboard

13
推荐指数
2
解决办法
3184
查看次数

控制台中有 256 种颜色 (tty)

假设,我有一个没有X server. 我只能从控制台登录。看来,默认情况下 linux 控制台仅支持 8 种颜色:

# tput colors
8
Run Code Online (Sandbox Code Playgroud)

是否可以在控制台中使用 256 种颜色,就像我在终端仿真器(即终结器)中使用的一样?

在谷歌搜索时,我发现了许多类似的问题(其中许多已经超过 10 年),但没有明确的答案。有人建议使用帧缓冲区,其他人建议将 TERM 参数附加到内核引导选项。

目前,我只传递一个额外的选项作为内核启动参数:

append="video=1280x720"
Run Code Online (Sandbox Code Playgroud)

我相信传递视频分辨率仅适用于kernel mode setting支持的现代内核,但我不确定。

是否可以在现代 linux 控制台 (tty) 中使用 256 种颜色

如何?

我正在使用内核 4.1 的 Debian Wheezy

更新:

根据@muru 的建议,我尝试了fbterm. 虽然它可以使用 256 种颜色,但它的字体非常难看/乱码。此外,左下角有一个不断闪烁的光标,我觉得这很分散注意力。

我可以在没有 fbterm/framebuffer 的情况下在控制台中使用 256 色吗?

控制台中的 8 色限制从何而来?

colors tty console linux-kernel

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

将输出发送到 /dev/stderr vs. >&2

在脚本中,错误通常用 发送到文件描述符 2 &2,即:

echo "error" >&2
Run Code Online (Sandbox Code Playgroud)

有时/dev/stderr改为使用:

echo "error" > /dev/stderr 
Run Code Online (Sandbox Code Playgroud)

看着/dev/stderr,我看到它只是到 的符号链接/proc/self/fd/2,而后者又是到/dev/pts/5(在我当前的终端上)的符号链接。

看起来有点过于复杂了。这背后有什么逻辑吗?

使用/dev/stderr&2等效吗?

其中任何一个都比另一个更受欢迎吗?

portability stderr

13
推荐指数
2
解决办法
8393
查看次数

独立验证TRIM确实适用于SSD

我有一个luksOpen的LUKS分区:/dev/sda1--allow-discards

cryptsetup --allow-discards luksOpen /dev/sda1 root
Run Code Online (Sandbox Code Playgroud)

然后我ext4使用discard选项挂载文件系统:

grep /dev/mapper/root /proc/mounts
/dev/mapper/root / ext4 ro,relatime,block_validity,discard,delalloc,barrier,user_xattr,acl 0 0
Run Code Online (Sandbox Code Playgroud)

然后我修剪已安装分区上的可用空间:

fstrim -v /
Run Code Online (Sandbox Code Playgroud)

df,我看到/有80%的可用空间。这意味着在 上/dev/sda1,磁盘的 80% 是二进制零。

如果我克隆图像 cat

cat /dev/sda1 > sda1.img
Run Code Online (Sandbox Code Playgroud)

并使用 压缩图像xz,我希望磁盘上的所有零都被压缩。由于磁盘上 20% 的数据是加密的,因此它看起来应该是随机的并且是不可压缩的。因此,xz 压缩的图像应该是近似的。原始尺寸的 20%。

但是,生成的 xz 压缩图像与原始原始图像的大小大致相同。

我的推理正确吗?

为什么我的理论没有转化为实践?

ssd ext4 cryptsetup trim fstrim

13
推荐指数
2
解决办法
2832
查看次数

软件包升级后无法重新挂载/恢复为只读

我正在使用 Debian Stretch。我的根分区已挂载read-only。只有当我安装或升级包时,才会/重新挂载到read-write(通过使用 apt 钩子),然后重新挂载回ro.

有时在软件包升级后,我无法重新安装/为只读:

mount -o remount,ro /
mount: / is busy
Run Code Online (Sandbox Code Playgroud)

在较旧的 Debian 版本 (Wheezy) 上,我可以列出已取消链接的打开文件lsof

 lsof +L1
Run Code Online (Sandbox Code Playgroud)

或者,更具体地说,阻止/重新挂载回 ro 的文件:

{ lsof +L1 ; lsof|sed -n '/SYSV/d; /DEL|(path /p;' ; } | grep -Ev '/(dev|home|tmp|var)'
Run Code Online (Sandbox Code Playgroud)

但是,在 Debian Stretch 上,lsof +L1不会列出任何文件。

我没有看到任何改变+|-Lman lsof这可以解释为什么它停止工作。

为什么 lsof +L1 不再列出已取消链接的打开文件?

如何列出那些阻止 / 重新挂载为只读的文件?

更新

我已经停止了所有可以停止的进程,并且只有init并且getty仍在运行,但我仍然无法重新挂载/ …

debian apt lsof files readonly

13
推荐指数
1
解决办法
1140
查看次数