为什么用户不能更改他拥有的文件的组权限。假设我有用户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(喘气)。
当我打开 mutt 时,直到我按下一个键,例如向下箭头,我才会看到新的电子邮件。然后出现新的电子邮件。有没有办法让 mutt 识别新电子邮件已经到达,并自动显示电子邮件,而不必每隔几分钟按下一个键?
我正在使用 maildir 格式(本地存储的电子邮件)。最好的方法是什么?mutt 应该每 n 秒检查一次,还是应该由操作系统通知,也许使用 inotify ?
在邮件服务器上使用Postfix和IMAP时,通常至少打开 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
我有一台 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的是,它使用rdp了vnc(或类似的东西)。我不明白如何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 时,如何使剪贴板工作?
有时我会发生这种情况,我不小心按了CTRL+ Z,我的应用程序消失在后台。我知道,我可以把它带回来fg,所以这没什么大不了的。但我想知道job control无论如何都要关闭它。在我的一生中,我无法记住一个我需要它的实例,它在我看来只是过去的遗物。
job control完全禁用可以吗?或者我遗漏了什么,这个功能很有用?我将如何在我的.bashrc
我已经set +m按照@Falsenames 的建议进行了尝试。但是,这仅在我在终端中输入时才有效。添加set +m到我的.bashrc没有效果。
我经常使用ctrl+c鼠标右键单击菜单和粘贴从某些 gui 应用程序复制文本,然后将其粘贴到我的终端模拟器(终结器)中。有时我会忘记剪贴板包含几行,当粘贴到 bash 时会导致每一行都被“执行”
是否有一些解决方案可以完全防止多行粘贴?
假设,我有一个没有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 色限制从何而来?
在脚本中,错误通常用 发送到文件描述符 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等效吗?
其中任何一个都比另一个更受欢迎吗?
我有一个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 压缩图像与原始原始图像的大小大致相同。
我的推理正确吗?
为什么我的理论没有转化为实践?
我正在使用 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不会列出任何文件。
我没有看到任何改变+|-L在man lsof这可以解释为什么它停止工作。
为什么 lsof +L1 不再列出已取消链接的打开文件?
如何列出那些阻止 / 重新挂载为只读的文件?
更新
我已经停止了所有可以停止的进程,并且只有init并且getty仍在运行,但我仍然无法重新挂载/ …
bash ×2
debian ×2
apt ×1
bashrc ×1
clipboard ×1
colors ×1
command-line ×1
console ×1
cryptsetup ×1
email ×1
ext4 ×1
files ×1
fstrim ×1
group ×1
imap ×1
inotify ×1
job-control ×1
linux-kernel ×1
lsof ×1
mutt ×1
permissions ×1
portability ×1
postfix ×1
rdesktop ×1
readonly ×1
sasl ×1
smtp ×1
ssd ×1
stderr ×1
trim ×1
tty ×1
vnc ×1
x11 ×1