AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-566421

pa4080's questions

Martin Hope
pa4080
Asked: 2019-12-13 10:56:51 +0800 CST

每次使用特定命令时,如何强制“sudo”要求输入密码?

  • 21

有没有办法sudo在我每次使用时强制命令要求输入密码sudo rm /path/file?

我想保护自己免受愚蠢的错误,当我运行历史记录中的一些命令时,由于注意力不集中而犯下的错误。

command-line password sudo
  • 4 个回答
  • 6251 Views
Martin Hope
pa4080
Asked: 2019-11-23 23:50:25 +0800 CST

如何在左侧的寡妇标题栏中移动“应用程序菜单”,而右侧放置“最小化,最大化,关闭”按钮?

  • 5

我正在寻找一种在左侧窗口标题栏中移动应用程序菜单的方法,如下图所示。

在此处输入图像描述

或者,如果有某种方法可以强制此类应用程序菜单出现在 Firefox、Chromium、GIMP 等非 GTK 窗口中,我会很高兴。

gnome desktop-environments window-buttons 18.04 gnome-tweaks
  • 1 个回答
  • 928 Views
Martin Hope
pa4080
Asked: 2019-01-16 04:36:21 +0800 CST

SSH 服务器在重启后停止工作,原因是缺少 /var/run/sshd

  • 31

我的 VPS 大约 3 个月没有重新启动。它托管在具有 OpenVZ 虚拟化类型的服务器上,操作系统为 Ubuntu 16.04。由于某种原因,我重新启动了 VPS,之后,我无法通过 ssh 连接到服务器,我收到的消息是:

ssh: connect to host srvname.com port 22: Connection refused

所以我在 VPS 上打开了一个串行控制台并开始调查......我已经清除并重新安装了但openssh-server没有成功。我花了两个小时在互联网上阅读有关类似问题的文章、问题和答案。

最后我设法理解/var/run/sshd在系统启动期间没有创建目录。一旦我手动创建它,我就可以毫无问题地启动 SSH 服务,但在下次重新启动时问题仍然存在。所以我的问题是:

  • 这个问题的原因可能是什么?为什么/var/run/sshd系统启动时没有创建?

  • 我怎样才能以适当的方式解决这个问题?我找到了本文末尾提到的临时解决方案。

  • 这个问题可能与 VPS 的 OpenVZ 主机有关吗?我应该要求托管服务提供商解决吗?


和的输出为systemctl status ssh.service:sshd -Ddp 22journalctl -xe

# systemctl status ssh.service
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: failed (Result: start-limit-hit) since вт 2019-01-15 12:58:08 EET; 22s ago
  Process: 407 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=255)

яну 15 12:58:07 srvname systemd[1]: Failed to start OpenBSD Secure Shell server.
яну 15 12:58:07 srvname systemd[1]: ssh.service: Unit entered failed state.
яну 15 12:58:07 srvname systemd[1]: ssh.service: Failed with result 'exit-code'.
яну 15 12:58:08 srvname systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
яну 15 12:58:08 srvname systemd[1]: Stopped OpenBSD Secure Shell server.
яну 15 12:58:08 srvname systemd[1]: ssh.service: Start request repeated too quickly.
яну 15 12:58:08 srvname systemd[1]: Failed to start OpenBSD Secure Shell server.
яну 15 12:58:08 srvname systemd[1]: ssh.service: Unit entered failed state.
яну 15 12:58:08 srvname systemd[1]: ssh.service: Failed with result 'start-limit-hit'.


# $(which sshd) -Ddp 22
debug1: sshd version OpenSSH_7.2, OpenSSL 1.0.2g  1 Mar 2016
debug1: private host key #0: ssh-rsa SHA256:...
debug1: private host key #1: ssh-dss SHA256:...
debug1: private host key #2: ecdsa-sha2-nistp256 SHA256:...
debug1: private host key #3: ssh-ed25519 SHA256:...
Missing privilege separation directory: /var/run/sshd


# journalctl -xe
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has begun starting up.
яну 15 13:21:21 srvname sshd[1688]: Missing privilege separation directory: /var/run/sshd
яну 15 13:21:21 srvname systemd[1]: ssh.service: Control process exited, code=exited status=255
яну 15 13:21:21 srvname systemd[1]: Failed to start OpenBSD Secure Shell server.
-- Subject: Unit ssh.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has failed.
-- 
-- The result is failed.
яну 15 13:21:21 srvname systemd[1]: ssh.service: Unit entered failed state.
яну 15 13:21:21 srvname systemd[1]: ssh.service: Failed with result 'exit-code'.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
яну 15 13:21:22 srvname systemd[1]: Stopped OpenBSD Secure Shell server.
-- Subject: Unit ssh.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has finished shutting down.
яну 15 13:21:22 srvname systemd[1]: Starting OpenBSD Secure Shell server...
-- Subject: Unit ssh.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has begun starting up.
яну 15 13:21:22 srvname sshd[1691]: Missing privilege separation directory: /var/run/sshd
яну 15 13:21:22 srvname systemd[1]: ssh.service: Control process exited, code=exited status=255
яну 15 13:21:22 srvname systemd[1]: Failed to start OpenBSD Secure Shell server.
-- Subject: Unit ssh.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has failed.
-- 
-- The result is failed.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Unit entered failed state.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Failed with result 'exit-code'.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Service hold-off time over, scheduling restart.
яну 15 13:21:22 srvname systemd[1]: Stopped OpenBSD Secure Shell server.
-- Subject: Unit ssh.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has finished shutting down.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Start request repeated too quickly.
яну 15 13:21:22 srvname systemd[1]: Failed to start OpenBSD Secure Shell server.
-- Subject: Unit ssh.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit ssh.service has failed.
-- 
-- The result is failed.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Unit entered failed state.
яну 15 13:21:22 srvname systemd[1]: ssh.service: Failed with result 'start-limit-hit'.

/usr/lib/tmpfiles.d/sshd.conf和的内容/etc/init/ssh.conf是:

# cat /usr/lib/tmpfiles.d/sshd.conf 
d /var/run/sshd 0755 root root

# cat /etc/init/ssh.conf | sed '/^#/ d'

description "OpenSSH server"

start on runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 5
umask 022

env SSH_SIGSTOP=1
expect stop

console none

pre-start script
    test -x /usr/sbin/sshd || { stop; exit 0; }
    test -e /etc/ssh/sshd_not_to_be_run && { stop; exit 0; }

    mkdir -p -m0755 /var/run/sshd
end script

exec /usr/sbin/sshd -D

有关系统的其他信息:

# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.5 LTS
Release:    16.04
Codename:   xenial

# uname -a
Linux srvname 2.6.32-042stab127.2 #1 SMP Thu Jan 4 16:41:44 MSK 2018 x86_64 x86_64 x86_64 GNU/Linux

# apt show openssh-server | grep 'Version'
Version: 1:7.2p2-4ubuntu2.6

临时解决方案: 我发现这/var/run是一个符号链接/run,我不知道为什么需要这样做,但是当我从以下位置修改文件内容时/usr/lib/tmpfiles.d/sshd.conf:

d /var/run/sshd 0755 root root

至:

d /run/sshd 0755 root root

系统启动一切顺利,SSH服务正常启动,我可以通过SSH登录。

server command-line ssh openvz 16.04
  • 4 个回答
  • 52084 Views
Martin Hope
pa4080
Asked: 2018-09-15 13:57:22 +0800 CST

为什么'echo $VAR | 的输出之间存在差异?wc -c'和'echo ${#VAR}'?

  • 6

我正在处理 Bash 脚本,并且某个变量中包含的字符串的长度是我的条件之一。当前字符串是W5u7TBTzF17GGFV8DBJHvgAAAAI. 最初,我在以下帮助下计算了字符串长度wc -c:

$ VAR='W5u7TBTzF17GGFV8DBJHvgAAAAI'; echo "$VAR" | wc -c
28

但我的脚本条件[[ ${#VAR} -eq 28 ]]永远不会通过。然后我决定将字符数加一。实际上字符串长度是 27 个字符,值${#VAR}也是 27:

$ echo "${#VAR}"
27

所以我想知道 - 这种差异来自哪里?

scripts command-line bash echo wc
  • 1 个回答
  • 3606 Views
Martin Hope
pa4080
Asked: 2018-05-09 22:00:56 +0800 CST

使用 sudo 时如何找到执行脚本的用户?

  • 3

我想要的是找到运行 bash 脚本的用户的名称,当这个脚本由sudo. 据我所知,唯一可能的方法是以这种方式解析who -m( who am i) 的输出:

user@UbuntuServer:~$ cat who.sh 
#!/bin/sh
whoami
echo $USER
who -m | awk '{print $1}'

user@UbuntuServer:~$ sudo ./who.sh 
root
root
user

问题是:在 Ubuntu Desktop 16.04.4 who -m(resp. who am i) 中什么也不做。为什么?

在此处输入图像描述

另一个问题是为什么 Ubuntu 的在线手册页与在 Ubuntu 桌面或服务器上执行的who不同?man who

但根据我的目标,这些问题并不那么重要。正如标题中提到的那样,主要问题是:如何找到使用时执行脚本的用户sudo?


实际上,原始标题 -如何在 Ubuntu 桌面上找到“我是谁”?- 是相同但错误地提出的问题。

command-line bash who
  • 2 个回答
  • 4665 Views
Martin Hope
pa4080
Asked: 2018-03-05 07:00:27 +0800 CST

如何从 CLI 切换音频设备的音频输出?

  • 9

我正在尝试从命令行在我的视频卡的音频输出之间切换。我可以通过 GUI 设置来做到这一点,如图所示。如何以编程方式执行此操作?

在此处输入图像描述

图片上显示了两个音频设备,每个设备都有两个输出:

  • (绿色)设备 1 -具有两个输出的内置音频:

    • 数字输出
    • 耳机
  • (红色)设备 2 - NVidia GTX 660 的HDMI 音频控制器。视频卡上连接了两台显示器:

    • 第一台显示器是LG 电视,它连接到HDMI-0。

    • 第二台显示器是LG ULTRAWIDE,它连接到DVI-I-1。

所以我想通过命令行在红色输出(两个监视器)之间切换。在我的研究中,我发现的一切都是如何在音频设备(声卡)之间切换。我已经阅读了一些主题作为这些问题:

  • 音频输出设备,快速切换?
  • 如何在播放期间使用“pacmd set-default-sink”更改pulseaudio sink?
  • 如何使用终端选择音频输出设备?
  • 如何使用快捷键切换声音输出

当第一台显示器LG电视| HDMI-0用作音频输出:

在此处输入图像描述

$ pactl list sinks short
8   alsa_output.pci-0000_00_1b.0.analog-stereo  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
16  alsa_output.pci-0000_03_00.1.hdmi-stereo    module-alsa-card.c  s16le 2ch 44100Hz   RUNNING

$ pacmd list-sinks | grep name:
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    name: <alsa_output.pci-0000_03_00.1.hdmi-stereo>
  • 的输出pactl list sinks
  • 的输出pacmd list-sinks

当第二台显示器LG ULTRAWIDE | DVI-I-1用作音频输出:

在此处输入图像描述

$ pactl list sinks short
8   alsa_output.pci-0000_00_1b.0.analog-stereo  module-alsa-card.c  s16le 2ch 44100Hz   SUSPENDED
17  alsa_output.pci-0000_03_00.1.hdmi-stereo-extra1 module-alsa-card.c  s16le 2ch 44100Hz   RUNNING

$ pacmd list-sinks | grep name:
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
    name: <alsa_output.pci-0000_03_00.1.hdmi-stereo-extra1>
  • 的输出pactl list sinks
  • 的输出pacmd list-sinks

pacmd list-cards和的输出在此处pactl list cards提供。


您可以看到(在这种特殊情况下)我正在寻找一种在sink 16和之间切换的方法sink 17。但是当sink 16出现在 中时pactl list sinks,sink 17不会出现,反之亦然。我只能从 GUI 设置中切换它们。有没有办法通过命令行做到这一点?

pulseaudio command-line xorg desktop-environments
  • 1 个回答
  • 6330 Views
Martin Hope
pa4080
Asked: 2018-01-03 01:27:27 +0800 CST

如何创建使用关键字和过滤内容的 CLI Web Spider?

  • 10

我想在已弃用(过时)的文学论坛e-bane.net中找到我的文章。一些论坛模块被禁用,我无法获得作者的文章列表。此外,该网站没有被 Google、Yndex 等搜索引擎收录。

找到我所有文章的唯一方法是打开网站的存档页面(图 1)。然后我必须选择特定的年份和月份 - 例如2013 年1 月(图 1)。然后我必须检查每篇文章(图2)是否在开头写了我的昵称-pa4080(图3)。但是有几千篇文章。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

我已经阅读了以下几个主题,但没有一个解决方案适合我的需求:

  • Ubuntu 的网络蜘蛛
  • 如何在 Linux 系统上编写 Web 蜘蛛
  • 从站点获取 URL 列表

我将发布我自己的解决方案。但对我来说很有趣: 有没有更优雅的方法来解决这个任务?

command-line
  • 3 个回答
  • 1630 Views
Martin Hope
pa4080
Asked: 2017-11-28 23:37:47 +0800 CST

当盖子被扭曲或关闭时,如何禁用触摸板?

  • 4

我有 Ubuntu 16.04 的联想 ThinkPad X230 平板电脑。它有一个可转换的屏幕,当它处于平板电脑模式时,触摸板仍然处于活动状态并弄得一团糟。

我创建了以下脚本并将其绑定到内置按钮之一(通过自定义快捷方式):

#!/bin/bash -e

# Find the TouchPad device ID
ID="$(xinput | grep -ioP 'touchpad.*id=\K[0-9]*')"                                  

if   [ "$(LANG=C xinput --list-props "$ID" | awk 'NR==2{print $4}')" == "0" ]; then 
        # If the device is disabled, then enable it and kill 'onboard' virtual keyboard
        xinput enable "$ID"; killall onboard; xrandr -o normal
elif [ "$(LANG=C xinput --list-props "$ID" | awk 'NR==2{print $4}')" == "1" ]; then
        # If the device is enabled, then disable it and run 'onboard' virtual keyboard
        xinput disable "$ID"; nohup onboard >/dev/null 2>&1 &
fi

该脚本工作正常,但这是一个虚假的解决方案,昨天我花了几个小时来学习如何以正确的方式做到这一点。所以我决定在这里分享这个经验。

command-line
  • 3 个回答
  • 2808 Views
Martin Hope
pa4080
Asked: 2017-11-22 01:35:50 +0800 CST

如何在单独的行中拆分“/proc/*/environ”文件?

  • 33

我正在尝试以/proc/*PID*/environ更易读的格式获取任何文件的内容。我可以通过下面显示的方式做到这一点,但我确信这不是正确的方式。

$ cat "/proc/$(pgrep gnome-session -n -U $UID)/environ"
USER=spasTEXTDOMAIN=im-configXDG_SEAT=seat0XDG_SESSION_TYPE=waylandSHLVL=1QT4_IM_MODULE=ximHOME=/home/spasDESKTOP_SESSION=ubuntuGNOME_SHELL_SESSION_MODE=ubuntuDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/busIM_CONFIG_PHASE=2LOGNAME=spasGTK_IM_MODULE=ibusJOURNAL_STREAM=9:147845_=/usr/bin/gnome-sessionUSERNAME=spasXDG_SESSION_ID=70PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binXDG_RUNTIME_DIR=/run/user/1000LANG=en_US.UTF-8XDG_CURRENT_DESKTOP=ubuntu:GNOMEXDG_SESSION_DESKTOP=ubuntuXMODIFIERS=@im=ibusSHELL=/bin/bashGDMSESSION=ubuntuTEXTDOMAINDIR=/usr/share/locale/XDG_VTNR=2QT_IM_MODULE=ximPWD=/home/spasCLUTTER_IM_MODULE=ximXDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktopXDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
$ cat -e "/proc/$(pgrep gnome-session -n -U $UID)/environ"
USER=spas^@TEXTDOMAIN=im-config^@XDG_SEAT=seat0^@XDG_SESSION_TYPE=wayland^@SHLVL=1^@QT4_IM_MODULE=xim^@HOME=/home/spas^@DESKTOP_SESSION=ubuntu^@GNOME_SHELL_SESSION_MODE=ubuntu^@DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus^@IM_CONFIG_PHASE=2^@LOGNAME=spas^@GTK_IM_MODULE=ibus^@JOURNAL_STREAM=9:147845^@_=/usr/bin/gnome-session^@USERNAME=spas^@XDG_SESSION_ID=70^@PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin^@XDG_RUNTIME_DIR=/run/user/1000^@LANG=en_US.UTF-8^@XDG_CURRENT_DESKTOP=ubuntu:GNOME^@XDG_SESSION_DESKTOP=ubuntu^@XMODIFIERS=@im=ibus^@SHELL=/bin/bash^@GDMSESSION=ubuntu^@TEXTDOMAINDIR=/usr/share/locale/^@XDG_VTNR=2^@QT_IM_MODULE=xim^@PWD=/home/spas^@CLUTTER_IM_MODULE=xim^@XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop^@XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg^@
$ cat -e "/proc/$(pgrep gnome-session -n -U $UID)/environ" | sed 's/\^@/\n/g'
USER=spas
TEXTDOMAIN=im-config
XDG_SEAT=seat0
XDG_SESSION_TYPE=wayland
...

也许我必须为 分配一个特定的值$IFS,但它是什么?实现上述结果的正确方法是什么?

command-line
  • 6 个回答
  • 16841 Views
Martin Hope
pa4080
Asked: 2017-10-13 14:24:35 +0800 CST

如何防止登录时无人看管的屏幕旋转?

  • 1

最近我在联想 ThinkPad X230 平板电脑上安装了 Ubuntu 16.04。它工作得很好!我只遇到两个小问题,都与可转换屏幕连接。这个让我烦恼的是这个问题的主题。

当我登录 Unity 时,显示方向变为纵向视图模式。所以,我必须按下屏幕旋转按钮才能回到横向视图模式。

LightDM 中的默认视图是横向。当我解锁 Unity 时,问题不存在,只有当我登录时。登录 Gnome 时不存在此问题。但是我主要使用 Unity,所以我的问题是:如何强制 Unity 在登录后立即保持横向视图模式?

更新1:

  • 我发现来宾会话和新创建的用户不存在该问题。

  • 看起来某些应用程序会旋转显示。

  • 我已经尝试过基于这些问题的答案的一些解决方案,但没有成功:

    • 不使用 X 服务器时如何旋转显示器?

    • 屏幕在 Ubuntu 17.10 上随机旋转

  • 仅xrandr -o normal在启动应用程序中作为命令放置是一种丑陋的解决方法。

更新 2:

  • 原标题:如何强制Unity登录后立即停留在横屏?
unity
  • 1 个回答
  • 667 Views
Martin Hope
pa4080
Asked: 2017-10-07 02:46:50 +0800 CST

有什么方法可以创建文件的备份副本,而无需输入两次文件名?[复制]

  • 18
这个问题在这里已经有了答案:
命令行移动具有长目录路径的文件而不重复目录路径 5 个答案
4年前关闭。

通常,当我首先编辑一些系统文件时,我会创建一个备份副本。例如:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

是否有任何简单的“捷径”,例如:

sudo cp /etc/ssh/sshd_config %s.bak

?


我发现的一种解决方法是以sed这种方式使用:

sudo sed '' /etc/ssh/sshd_config -i.bak
command-line
  • 2 个回答
  • 48916 Views
Martin Hope
pa4080
Asked: 2017-09-30 07:29:33 +0800 CST

Grep -E, Sed -E - 使用 '[x]{1,9999}' 时性能低下,但为什么呢?

  • 9

当greporsed与选项一起使用--extended-regexp并且模式{1,9999}是所使用的正则表达式的一部分时,这些命令的性能会降低。为了更清楚,下面应用了一些测试。[1] [2]

  • 和的相对性能几乎相等grep -E,因此只提供了用 进行的测试。egrepsed -Egrep -E

测试 1

$ time grep -E '[0-9]{1,99}' < /dev/null

real    0m0.002s

测试 2

$ time grep -E '[0-9]{1,9999}' < /dev/null

> real    0m0.494s

测试 3

$ time grep -E '[0123456789]{1,9999}' < /dev/null

> 真正的 21 分 43.947 秒

测试 4

$ time grep -E '[0123456789]+' < /dev/null
$ time grep -E '[0123456789]*' < /dev/null
$ time grep -E '[0123456789]{1,}' < /dev/null
$ time grep -P '[0123456789]{1,9999}' < /dev/null

real    0m0.002s       

造成这种性能显着差异的原因是什么?

command-line
  • 1 个回答
  • 619 Views
Martin Hope
pa4080
Asked: 2017-09-18 03:10:56 +0800 CST

如何通过 SSH 或 Cron 中的 CLI 确定当前用户的 DE?[复制]

  • 3
这个问题在这里已经有了答案:
如何确定正在运行的窗口管理器 14 个回答
4年前关闭。

假设我们有一台安装了 Ubuntu 桌面的计算机。安装了一些桌面环境 (DE),例如:Unity、Gnome、KDE、XFCE、Mate 等。

也很少有用户拥有他们的帐户并且他们经常使用计算机。每个用户都可以根据自己的意愿更改其 DE :)

如何在有限的环境中通过 CLI 来确定当前用户的桌面环境,对于某些用户?

这个问题可以这样分割:

  • 这些信息存储在哪个文件中?

  • 通过在有限环境(例如sshsession 或)中执行的脚本来阅读它的最佳方法是什么cron?

  • 如何为随机用户阅读此信息?

  • 如果可能的话,我正在寻找单行命令解决方案。

command-line
  • 2 个回答
  • 1174 Views
Martin Hope
pa4080
Asked: 2017-07-04 03:47:32 +0800 CST

`at` 命令:选项 `-w` 的含义是什么?

  • 5

我有一个使用at命令的脚本。有时我会收到这样的电子邮件:

Date: Mon,  3 Jul 2017 14:18:00 +0300 (EEST)
From: root <[email protected]>
To: [email protected]
Subject: Output from your job      173

Another app is currently holding the xtables lock. Perhaps you want to use the -w option?

当然我会使用这个选项来阻止这样的消息,但首先我想知道这个选项的含义是什么。不幸的是-w,选项未在 中列出man at。

有谁知道这个选项到底是什么意思?

command-line
  • 2 个回答
  • 871 Views
Martin Hope
pa4080
Asked: 2017-05-11 16:12:08 +0800 CST

文件夹访问权限 - 它们如何工作?[复制]

  • 0
这个问题在这里已经有了答案:
在没有 x 权限的情况下访问目录中的文件? (3 个回答)
5年前关闭。

我想知道-为什么,当某些文件夹具有(read或)read-write权限时, (GROUP或other)的成员无法访问该文件夹?GROUPother

我几乎可以肯定有一个合乎逻辑的解释,但我找不到它。让我举个例子。

初始情况

1.有两个用户,叫admin和guest。

2.有一个文件夹,叫/var/www/test-dir:

$ getfacl -pt /var/www/test-dir/
# file: /var/www/test-dir/
USER   root      rwx
GROUP  admin     r-x
other            r-x

3.在这些权限内,所有用户都可以访问该文件夹:

  • USER root rwx (7)能够访问该文件夹。

  • GROUP admin r-x (5)能够访问该文件夹。

  • other guest r-x (5)能够访问该文件夹。

    guest@host:~$ cd /var/www/test-dir/
    guest@host:/var/www/test-dir$ ࢒
    

案例

案例1: other有r--权限但admin不能访问文件夹:

root@host:~# chmod 574 /var/www/test-dir/
  • USER root r-x (5)能够访问该文件夹。

  • GROUP admin rwx (7)能够访问该文件夹。

  • other guest r-- (4)无法访问该文件 夹。

    guest@host:~$ cd /var/www/test-dir
    bash: cd: /var/www/test-dir/: Permission denied
    

情况2: other有rw-权限但guest不能访问文件夹:

root@host:~# chmod 656 /var/www/test-dir/
  • USER root rw- (6)能够访问该文件夹。

  • GROUP admin r-x (5)能够访问该文件夹。

  • other guest rw- (6)无法访问文件夹:


案例3: GROUP有r--权限但admin不能访问文件夹:

root@host:~# chmod 745 /var/www/test-dir/
  • USER root rwx (7)能够访问该文件夹。

  • GROUP admin r-- (4)无法访问该文件夹。

  • other guest r-x (5)能够访问该文件夹。


案例4: GROUP有rw-权限但admin不能访问文件夹:

root@host:~# chmod 467 /var/www/test-dir/
  • USER root r-- (4)能够访问该文件夹。

  • GROUP admin rw- (6)无法访问该文件 夹。

  • other guest rwx (7)能够访问该文件夹。

permissions
  • 2 个回答
  • 175 Views
Martin Hope
pa4080
Asked: 2017-04-19 23:25:59 +0800 CST

是否可以将本地主机本身作为另一台主机进行端口扫描?

  • 2

换句话说,当我无法访问另一台机器进行扫描时,我想看看服务器在外面的样子。让我举个例子:

案例 1:当我通过 SSH 连接到我的 VPS(即 Ubuntu Server)时,端口扫描的结果如下所示:

[email protected]:~$ nmap -p 1-20000 77.77.77.70

Nmap scan report for 77.77.77.70

PORT      STATE SERVICE
25/tcp    open  smtp
80/tcp    open  http
111/tcp   open  rpcbind
443/tcp   open  https
8142/tcp  open  unknown
11273/tcp open  unknown
18142/tcp open  unknown
18143/tcp open  unknown
18144/tcp open  unknown
18145/tcp open  unknown
18146/tcp open  unknown
18147/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.36 seconds

案例 2:当我从我的 Ubuntu 桌面机器执行相同的命令时,结果被 VPS 的防火墙过滤,它看起来像:

user@Desktop:~$ sudo nmap -p 1-20000 77.77.77.70

Nmap scan report for 77.77.77.70

PORT      STATE SERVICE
80/tcp    open  http
443/tcp   open  https
11273/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 4298.23 seconds

所以,我的问题是:有没有办法从 VPS 本身实现“案例 2”中的结果?使用 ofnmap不是强制性的。

networking
  • 2 个回答
  • 5617 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve