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-130498

ZioByte's questions

Martin Hope
ZioByte
Asked: 2022-06-03 13:39:56 +0800 CST

开通临时隧道

  • 0

我有以下问题:

我有一台可以通过 ssh 访问的远程机器,它可以通过 Web 界面提供一些数据。

我可以使用 OpenSSH LocalForwarding 打开隧道并启动远程服务器:

ssh [email protected] -L 127.0.0.1:3333:localhost:4000 ./start.sh

然后,在另一个终端(或从 GUI)上,我可以启动一个浏览器,例如:

firefox localhost:3333/whatever

并访问我的应用提供的内容。

使用后,我只需按 [CTRL-C] 即可start.sh关闭服务器、连接和隧道。

到目前为止,一切都很好。

问题是:是否可以编写一个脚本来组合所有内容,以便在浏览器终止时关闭隧道?

更准确地说,我想要一个脚本:

  1. 打开隧道并启动远程服务器(如上)。
  2. 在正确的端口(可以随机生成)上自动打开浏览器(firefox 可以,但不是必须的)。
  3. 在浏览器运行时保持隧道畅通。
  4. 当浏览器终止时(我知道可能还有其他打开的窗口,但这超出了重点)它应该向SIGHUP服务器( )发送信号( start.sh)。
  5. 当远程服务器终止时隧道应该关闭(这应该是上述设置的自动)

我想在严格需要的时间内保持隧道和服务器的正常运行,避免“忘记关闭”,因为如果我必须手动执行它可能会发生。

我怎样才能做到这一点?

shell-script openssh
  • 2 个回答
  • 113 Views
Martin Hope
ZioByte
Asked: 2022-05-03 06:28:35 +0800 CST

如何确保用户进程在注销时被杀死?

  • 0

我在我的服务器(以及所有 debian 衍生服务器)上出现注销问题,但不会杀死所有用户进程。

我似乎理解这是出于工作站效率的原因(假设似乎是同一用户将在此后不久登录)。

例如,在一个非常受限的帐户上,我得到:

mcon@cinderella:~$ pgrep --list-full -U gamer
3001599 /lib/systemd/systemd --user
3001600 (sd-pam)
3001615 /usr/bin/pipewire
3001616 /usr/bin/pipewire-media-session
3001624 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
3001706 /usr/libexec/gvfsd
3001711 /usr/libexec/gvfsd-fuse /run/user/1002/gvfs -f
3001839 /usr/libexec/dconf-service
3001841 /usr/libexec/gvfs-udisks2-volume-monitor
3001852 /usr/libexec/gvfs-gphoto2-volume-monitor
3001860 /usr/libexec/gvfs-goa-volume-monitor
3001888 /usr/libexec/goa-daemon
3001906 /usr/libexec/goa-identity-service
3001908 /usr/libexec/gvfs-mtp-volume-monitor
3001915 /usr/libexec/gvfs-afc-volume-monitor
3002093 /usr/libexec/evolution-source-registry
3002108 /usr/libexec/gvfsd-trash --spawner :1.9 /org/gtk/gvfs/exec_spaw/0
3002112 /usr/libexec/xdg-desktop-portal
3002120 /usr/libexec/xdg-document-portal
3002124 /usr/libexec/xdg-permission-store
3002132 fusermount3 -o rw,nosuid,nodev,fsname=portal,auto_unmount,subtype=portal -- /run/user/1002/doc
3002150 /usr/libexec/evolution-calendar-factory
3002162 /usr/libexec/gvfsd-metadata
3002176 /usr/libexec/evolution-addressbook-factory
3002227 /usr/libexec/bluetooth/obexd
3002924 /usr/bin/python3 /usr/share/system-config-printer/applet.py
3827100 /usr/bin/gnome-keyring-daemon --start --foreground --components=secrets

gamer这是在用户注销和其他用户(包括我自己)使用系统之后花费了(很多)小时。

我见过这个问题,但这不适用于我的情况:我不想阻止用户通过nohupor显式启动长时间运行的进程screen,而只是杀死所有“无用”的系统任务。

我尝试设置[Login]-> KillUserProcesses=yesin/etc/systemd/logind.conf但显然没有任何改变。

请注意,对于曾经登录的每个用户,所有这些进程都保持活动状态(当然,自上次重新启动以来)。

我如何摆脱所有这些过程?真的需要运行一些cron脚本来杀死它们吗?如果是这样:我如何将“明确需要”的后台进程与系统垃圾分开?

PS:我知道 StackExchange 政策是“每个 OP 一个问号”,但这些实际上是同一个问题的各个方面。

debian background-process
  • 1 个回答
  • 186 Views
Martin Hope
ZioByte
Asked: 2022-04-30 02:35:30 +0800 CST

完全锁定服务器上的用户帐户,包括 ssh

  • 10

如果可能的话,我需要锁定一些用户帐户,而不要弄乱他们的 HOME。

正常的方法是usermod -L user,但它似乎使用公钥身份验证(通常在此服务器上使用)保持开放的 ssh 登录。

我知道我可以只是mv /home/user/.ssh /home/user/_ssh或类似的东西,但这是正确的做法吗?

我错过了什么?

ssh accounts
  • 6 个回答
  • 2237 Views
Martin Hope
ZioByte
Asked: 2022-04-29 08:49:35 +0800 CST

Debian Sid:将单个软件包降级到“以前的版本”

  • 1

我很高兴地运行着一个最先进的 Debian Sid 工作站。

不幸的是,我发生了“上游回归”(network-manager-vpnc 破坏了 1.2.7 -> 1.2.8)

因此,我需要“降级”到以前的版本。

我知道我应该能够做到这一点:

sudo apt install network-manager-vpnc=1.2.7

但这似乎对 Sid 不起作用:

sudo apt policy network-manager-vpnc
network-manager-vpnc:
  Installed: 1.2.8-3
  Candidate: 1.2.8-3
  Version table:
 *** 1.2.8-3 500
        500 http://deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status

这意味着只有一个版本可用,因此错误不足为奇:

sudo apt install network-manager-vpnc=1.2.7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package network-manager-vpnc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Version '1.2.7' for 'network-manager-vpnc' was not found

我能做些什么?

更新:正如@Stephen-Kitt 正确指出的那样,“以前的版本”(1.2.7)从未上传到 Debian 档案库,所以“解决方案”是降级到 1.2.6-3。

进入工作系统的程序(对我来说)是:

mcon@cinderella:/tmp/t$ wget http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc_1.2.6-3_amd64.deb
--2022-04-28 19:34:27--  http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc_1.2.6-3_amd64.deb
Resolving ftp.it.debian.org (ftp.it.debian.org)... 85.94.199.210, 2001:4b78:2000:1::1
Connecting to ftp.it.debian.org (ftp.it.debian.org)|85.94.199.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 125812 (123K) [application/vnd.debian.binary-package]
Saving to: ‘network-manager-vpnc_1.2.6-3_amd64.deb’

network-manager-vpnc_1.2.6-3_am 100%[====================================================>] 122.86K  --.-KB/s    in 0.05s   

2022-04-28 19:34:27 (2.29 MB/s) - ‘network-manager-vpnc_1.2.6-3_amd64.deb’ saved [125812/125812]

mcon@cinderella:/tmp/t$ wget http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc-gnome_1.2.6-3_amd64.deb
--2022-04-28 19:34:56--  http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc-gnome_1.2.6-3_amd64.deb
Resolving ftp.it.debian.org (ftp.it.debian.org)... 85.94.199.210, 2001:4b78:2000:1::1
Connecting to ftp.it.debian.org (ftp.it.debian.org)|85.94.199.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35592 (35K) [application/vnd.debian.binary-package]
Saving to: ‘network-manager-vpnc-gnome_1.2.6-3_amd64.deb’

network-manager-vpnc-gnome_1.2. 100%[====================================================>]  34.76K  --.-KB/s    in 0.02s   

2022-04-28 19:34:56 (1.69 MB/s) - ‘network-manager-vpnc-gnome_1.2.6-3_amd64.deb’ saved [35592/35592]
mcon@cinderella:~$ sudo apt remove --purge network-manager-vpnc network-manager-vpnc-gnome 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  vpnc
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  network-manager-vpnc* network-manager-vpnc-gnome*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 1,026 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 244048 files and directories currently installed.)
Removing network-manager-vpnc-gnome (1.2.8-3) ...
Removing network-manager-vpnc (1.2.8-3) ...
Processing triggers for dbus (1.14.0-1) ...
mcon@cinderella:~$ sudo dpkg -i /tmp/t/network-manager-vpnc_1.2.6-3_amd64.deb 
Selecting previously unselected package network-manager-vpnc.
(Reading database ... 243969 files and directories currently installed.)
Preparing to unpack .../network-manager-vpnc_1.2.6-3_amd64.deb ...
Unpacking network-manager-vpnc (1.2.6-3) ...
Setting up network-manager-vpnc (1.2.6-3) ...
Processing triggers for dbus (1.14.0-1) ...
mcon@cinderella:~$ sudo dpkg -i /tmp/t/network-manager-vpnc-gnome_1.2.6-3_amd64.deb 
Selecting previously unselected package network-manager-vpnc-gnome.
(Reading database ... 244039 files and directories currently installed.)
Preparing to unpack .../network-manager-vpnc-gnome_1.2.6-3_amd64.deb ...
Unpacking network-manager-vpnc-gnome (1.2.6-3) ...
Setting up network-manager-vpnc-gnome (1.2.6-3) ...
mcon@cinderella:~$ 

然后,在检查它确实有效之后:

mcon@cinderella:/tmp/t$ sudo apt-mark hold network-manager-vpnc
network-manager-vpnc set on hold.
mcon@cinderella:/tmp/t$ sudo apt-mark hold network-manager-vpnc-gnome
network-manager-vpnc-gnome set on hold.

非常感谢@Stephen

debian apt
  • 1 个回答
  • 196 Views
Martin Hope
ZioByte
Asked: 2019-09-24 14:54:13 +0800 CST

Linux 嵌入式:启动被“crng init”停止了 LOOOOONG 时间

  • 3

我遇到了类似于这个问题中讨论的严重问题。

不过,就我而言,我有一个用于小型嵌入式处理器(mips,mt7628)的最新内核(5.3),启动过程停止超过 6 分钟,直到我得到 kprint:

[  402.804482] random: crng init done

在该引导序列正常继续之后:

[  403.807776] usbcore: registered new interface driver usbhid
[  403.813440] usbhid: USB HID core driver
Starting kmsgd: OK
Starting applicazione: stream.py OK
...

有人可以解释发生了什么(以及可能的解决方法)吗?

当然,我没有随机化硬件。

linux
  • 1 个回答
  • 2707 Views
Martin Hope
ZioByte
Asked: 2019-03-24 02:58:34 +0800 CST

注销/登录不足以更新组成员身份

  • 3

我刚刚将自己添加到工作站上的“docker”组中。我尽职尽责地在我的桌面环境中注销并再次登录,但我仍然不在组中:

mcon@cinderella:~$ id
uid=1000(mcon) gid=1000(mcon) groups=1000(mcon),20(dialout),27(sudo),46(plugdev),115(lpadmin),124(vboxusers)
mcon@cinderella:~$ grep mcon /etc/group
dialout:x:20:mcon,mauro
sudo:x:27:mcon
plugdev:x:46:mcon
mcon:x:1000:
lpadmin:x:115:mcon
vboxusers:x:124:mauro,mcon
docker:x:136:mcon

我正在使用最新的 Debian Sid。我的桌面是 Gnome/Cinnamon

我知道这可以通过重新启动来解决,但我想了解发生了什么。

请注意,使用“su 技巧”实际上有效:

mcon@cinderella:~$ su - mcon
Password: 
mcon@cinderella:~$ id
uid=1000(mcon) gid=1000(mcon) groups=1000(mcon),20(dialout),27(sudo),46(plugdev),115(lpadmin),124(vboxusers),136(docker)

为什么注销然后再登录没有?

更新:进一步调查显示,注销后仍有大量进程以我的用户 ID 运行,包括 systemd、sh、各种 gvfs-whatever、gpg-agent 等。杀死 shell 并没有改变任何东西,但我有点害怕把他们都杀了。注销不应该代表我结束所有活动吗?这看起来像一个安全漏洞(或不是?)。我会尝试杀死所有这些进程,看看是否有东西“保持会话活跃”(最坏的情况我将不得不重新启动)。

Update2(如@StephenKitt 所问):

mcon@cinderella:~$ loginctl show-user $(whoami)
UID=1000
GID=1000
Name=mcon
Timestamp=Sat 2019-03-23 15:01:35 CET
TimestampMonotonic=24931331
RuntimePath=/run/user/1000
[email protected]
Slice=user-1000.slice
Display=2
State=active
Sessions=2
IdleHint=no
IdleSinceHint=1553356954121832
IdleSinceHintMonotonic=7284187020
Linger=no

Update3(受@StephenKitt 启发):

显然 session2 存在,但似乎是唯一存在的......但没有参数的命令给出了不同的观点,并说只有一个活动会话。我很困惑;上面的“Sessions = 2”来自哪里?

mcon@cinderella:/tmp/ca$ loginctl show-session
EnableWallMessages=no
NAutoVTs=6
KillUserProcesses=no
RebootToFirmwareSetup=no
IdleHint=no
IdleSinceHint=1553356954121832
IdleSinceHintMonotonic=7284187020
BlockInhibited=handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch
DelayInhibited=shutdown:sleep
InhibitDelayMaxUSec=30s
UserStopDelayUSec=10s
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=hibernate
HandleLidSwitch=suspend
HandleLidSwitchDocked=ignore
HoldoffTimeoutUSec=30s
IdleAction=ignore
IdleActionUSec=30min
PreparingForShutdown=no
PreparingForSleep=no
Docked=yes
LidClosed=no
OnExternalPower=yes
RemoveIPC=yes
RuntimeDirectorySize=3314405376
InhibitorsMax=8192
NCurrentInhibitors=7
SessionsMax=8192
NCurrentSessions=1
mcon@cinderella:/tmp/ca$ loginctl show-session 2
Id=2
User=1000
Name=mcon
Timestamp=Sat 2019-03-23 15:01:35 CET
TimestampMonotonic=24933340
VTNr=7
Seat=seat0
Display=:0
Remote=no
Service=lightdm
Desktop=lightdm-xsession
Scope=session-2.scope
Leader=2009
Audit=2
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=1553356954121832
IdleSinceHintMonotonic=7284187020
LockedHint=no
login gnome
  • 1 个回答
  • 366 Views
Martin Hope
ZioByte
Asked: 2018-11-11 02:33:23 +0800 CST

剪切/粘贴不再为我工作

  • 7

我正在使用 Debian Sid/不稳定。

经过大量安装(将桌面从肉桂更改为 gnome)后,我得到了一个完全无法使用的剪贴板。

我真的不能以任何方式复制/粘贴;甚至“中间按钮粘贴”也不起作用。

另一个症状:在 gnome-terminal 中,选择会在很短的时间内(<1s)消失。

我应该检查什么?

更新:切换到全新用户并就地重新安装 ( apt install --reinstall <all packages>) 并没有改变任何东西。

Update2:我找到了罪魁祸首:clipit它作为依赖项被自动安装lxde。我让它在启动时运行并杀死它“治愈”问题。任何建议(除了显而易见的:“卸载它”)都会受到欢迎。

debian gnome
  • 3 个回答
  • 21426 Views
Martin Hope
ZioByte
Asked: 2018-10-07 06:33:29 +0800 CST

强制系统使用 NTP 时间

  • 1

ntpd如果差异太大,通常会拒绝更改(或转换)系统时间。

有没有办法(可能通过ntpq)告诉ntpd:“跳到你认为合适的任何时间”?

具体来说,它应该是一个“如果同步则跳转”动作。

killall -HUP ntpd && ntpd -g如果可能或等效命令,我想避免

ntpd
  • 2 个回答
  • 387 Views
Martin Hope
ZioByte
Asked: 2018-10-05 02:11:27 +0800 CST

设置 Dnsmaq 为 Hostapd 热点提供 DHCP 地址

  • 1

我正在尝试设置 dnsmasq 作为基于 hostapd 的 WiFi 热点的 DHCP 服务器。

当客户端连接 WAP2 协商成功,但 dnsmasq 始终输出以下错误。

[ 2081.576809] DHCP[wlan0] - DISCOVER [TX][ 2081.580476]                        
[ 2081.582008] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             
[ 2085.297432] DHCP[wlan0] - DISCOVER [TX][ 2085.301107]                        
[ 2085.302630] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             

这些通常意味着配置的范围与设备设置不兼容。

如果是这种情况,我不明白为什么。

我的测试dnsmaq.conf非常基础:

root@imx8qxpa0tcuap:~# cat /etc/dnsmasq.conf                                    
domain-needed                                                                   
bogus-priv                                                                      
interface=wlan0                                                                 
dhcp-range=192.168.207.20,192.168.207.50,12h                                    

...并且当前的网络设置应该兼容:

root@imx8qxpa0tcuap:~# ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 0
    link/ether a0:cc:2b:a5:e0:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.207.1/32 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::a2cc:2bff:fea5:e005/64 scope link
       valid_lft forever preferred_lft forever
root@imx8qxpa0tcuap:~# ip route
192.168.207.0/24 dev wlan0 scope link

最初的 dnsmasq 打印输出显示没有问题:

root@imx8qxpa0tcuap:~# dnsmasq -d
dnsmasq: started, version 2.78 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPy
dnsmasq-dhcp: DHCP, IP range 192.168.207.20 -- 192.168.207.50, lease time 12h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 8.8.8.8#53
dnsmasq: using nameserver 8.8.4.4#53
dnsmasq: using nameserver 2001:4860:4860::8888#53
dnsmasq: using nameserver 2001:4860:4860::8844#53
dnsmasq: read /etc/hosts - 6 addresses

我究竟做错了什么?

注意 1:在此测试设置中,WiFi 热点无处可去(但)只有客户端和热点本身之间的通信才应该工作。

注意2:该机器是运行基于 Yocto 的发行版的定制板 (i.MX8)。

dnsmasq hostapd
  • 1 个回答
  • 2655 Views

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve