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

lumbric's questions

Martin Hope
lumbric
Asked: 2024-02-06 16:33:39 +0800 CST

如何列出 Linux 机器上活跃用户的邮件地址?

  • 5

我想获取允许登录的所有用户的邮件地址列表。我怎样才能做到这一点?

我已经/etc/passwd使用GECOS 字段设置了邮件地址,即 via 。sudo chfn some_user -o [email protected]

这可以使用 awk 来完成:

awk -F : '{print $5}' /etc/passwd | awk -F , '{print $5}'

但是,我想排除帐户已过期的用户。

用户过期信息存储在/etc/shadow. 有 Python 模块spwd,但它已被弃用,并且它的后继者似乎无法检查帐户是否仍然有效。

该命令chage -l my_user显示到期日期,但需要 root 权限才能获取其他用户的信息,即使每个人都可以读取影子文件。

除了保质期外,还有什么需要注意的吗?

user-accounts
  • 2 个回答
  • 41 Views
Martin Hope
lumbric
Asked: 2019-01-12 09:54:49 +0800 CST

如何处理多用户系统上的内存不足问题?

  • 1

当一个进程试图分配比可用内存更多的内存时,通常很难以一种好的方式处理这种情况。在某些情况下,程序可能能够释放非必要的内存(例如缓存),但在大多数情况下,它会导致致命的异常(另见[1])、交换和大规模系统减慢甚至杀死(相当随意) 使用OOM 杀手处理。

在单用户系统上,所有选项都不好,但至少你只能伤害自己(毕竟你对你机器上运行的所有代码负责)。

然而,在多用户系统上,我希望有可能让 OOM 杀手杀死可能由其他用户拥有的某些进程。有一定的限制,因为 OOM 杀手试图找到一个“正在使用大量内存但寿命不长的进程”(参见此处)。

然而,想象一个进程需要 x MB 内存并且没有存活很长时间(低 CPU 时间)并且由用户 X 拥有并且 x 明显多于系统上的可用内存的情况,用户 Y 可能能够分配比可用内存更多的内存并导致系统终止 X 的进程(因为它正在使用更多内存)。

这种情况听起来比单用户机器上的类似含义更可怕。可以为每个用户设置内存限制,甚至可以使用容器来进一步分离进程。但据我了解,只有将限制设置为total_memory / number_of_users才能解决问题。但是,当设置这样的限制时,就会失去多用户系统的所有好处。该机器实际上类似于一个盒子中的多台单用户机器。人们通常希望允许一位用户在高峰时间使用更多内存,因为大多数时候用户需要的内存比平均内存少。

我最感兴趣的是在具有大量数据的大型计算的情况下解决这个问题。我想在 Web 服务器的情况下,可能能够更好地估计需要多少内存,因为有很多小操作,而不是少数大操作。但即使在这种情况下,我听说在正常情况下,只有 50% 的内存应该被填充,以避免在高峰期出现内存不足的问题。这不是浪费你50%的内存吗?

特别是我正在考虑托管一个 Jupyter 集线器或类似的东西。但我不希望用户杀死彼此的进程。

有没有其他解决方案可以缓解这个问题?像 Travis CI 这样的大型云提供商如何处理此类问题?

memory
  • 3 个回答
  • 436 Views
Martin Hope
lumbric
Asked: 2015-12-29 03:29:13 +0800 CST

nmap 显示奇怪的开放端口

  • 1

在我的本地主机上运行 nmap 会显示奇怪的开放端口:

$ nmap -p- localhost
Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-28 12:14 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00047s latency).
All 65535 scanned ports on localhost (127.0.0.1) are closed

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

$ nmap -p- localhost
Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-28 12:14 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00046s latency).
Not shown: 65533 closed ports
PORT      STATE SERVICE
36642/tcp open  unknown
50826/tcp open  unknown

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

$ nmap -p- localhost
Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-28 12:14 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00050s latency).
Not shown: 65531 closed ports
PORT      STATE SERVICE
37700/tcp open  unknown
46694/tcp open  unknown
48334/tcp open  unknown
53438/tcp open  unknown

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

$ nmap -p- localhost
Starting Nmap 6.47 ( http://nmap.org ) at 2015-12-28 12:14 CET
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00046s latency).
All 65535 scanned ports on localhost (127.0.0.1) are closed

Nmap done: 1 IP address (1 host up) scanned in 2.51 second

正如这个输出所示,打开的端口似乎快速而随机地变化。如果我以正确的方式解释输出,我无法通过 netstat 看到这些端口:

$ sudo netstat -tulpen
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      0          17081       809/dnsmasq     
udp        0      0 0.0.0.0:5449            0.0.0.0:*                           0          30885       2855/dhclient   
udp        0      0 127.0.1.1:53            0.0.0.0:*                           0          17080       809/dnsmasq     
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          30321       2855/dhclient   
udp        0      0 0.0.0.0:45170           0.0.0.0:*                           107        15289       606/avahi-daemon: r
udp        0      0 0.0.0.0:631             0.0.0.0:*                           0          15931       636/cups-browsed
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           107        15287       606/avahi-daemon: r
udp6       0      0 :::34146                :::*                                107        15290       606/avahi-daemon: r
udp6       0      0 :::55654                :::*                                0          30886       2855/dhclient   
udp6       0      0 :::5353                 :::*                                107        15288       606/avahi-daemon: r

我尝试使用 lsof 调查这些端口,但没有结果,我猜当 nmap 返回时,端口不再打开:

lsof -i :`nmap -p- localhost|grep '/tcp'|cut -d'/' -f1|head -n1`

我可以做些什么来进一步调查这个问题?我需要担心吗?这是正常的吗?我应该怀疑任何恶意进程正在运行吗?

请注意,这个问答是不同的,因为我在本地机器上运行所有内容。

netstat
  • 1 个回答
  • 1566 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve