Ubuntu 20.04 和 20.10,/etc/securetty:没有那个文件或目录

hey*_*ema 36 security 20.04

刚刚更新到 20.04 最终版本,我看到这些消息/var/log/auth.log......

May 14 06:29:52 Satellite-E55 gdm-password]: pam_unix(gdm-password:auth): Couldn't open /etc/securetty: No such file or directory
May 14 07:40:14 Satellite-E55 su: pam_unix(su:auth): Couldn't open /etc/securetty: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我回顾了一个 19.10 的虚拟机,/etc/securetty就在那里。我所有的 20.04 系统都缺少这个文件。两个 20.04 安装是升级,一个安装是全新安装 VM。

20.04 中缺少此文件是怎么回事?我应该从 19.10 恢复副本吗?

更新 #1:

同样的问题出现在 20.10 中,无论是升级还是全新安装。

小智 17

您可以复制一个示例文件。

sudo cp /usr/share/doc/util-linux/examples/securetty /etc/securetty
Run Code Online (Sandbox Code Playgroud)

  • 我更喜欢这个解决方案而不是接受的答案中的解决方案,因为它复制了一个已经在你的系统上并且条目较少的文件,因此指定较少的 ttys 是安全的,因此是一个更具限制性的选项。 (9认同)

hey*_*ema 16

/etc/securetty是 19.10 桌面安装的副本。只测试了几分钟,但到目前为止/var/log/auth.log很安静。

放入/etc文件后应如下所示:

-rw-r--r-- 1 root root 4.1K May 14 10:31 securetty
Run Code Online (Sandbox Code Playgroud)

以下是/etc/securetty内容:

# /etc/securetty: list of terminals on which root is allowed to login.
# See securetty(5) and login(1).

console

# Local X displays (allows empty passwords with pam_unix's nullok_secure)
:0
:0.0
:0.1
:1
:1.0
:1.1
:2
:2.0
:2.1
:3
:3.0
:3.1
#...


# ==========================================================
#
# TTYs sorted by major number according to Documentation/devices.txt
#
# ==========================================================

# Virtual consoles
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
tty12
tty13
tty14
tty15
tty16
tty17
tty18
tty19
tty20
tty21
tty22
tty23
tty24
tty25
tty26
tty27
tty28
tty29
tty30
tty31
tty32
tty33
tty34
tty35
tty36
tty37
tty38
tty39
tty40
tty41
tty42
tty43
tty44
tty45
tty46
tty47
tty48
tty49
tty50
tty51
tty52
tty53
tty54
tty55
tty56
tty57
tty58
tty59
tty60
tty61
tty62
tty63

# UART serial ports
ttyS0
ttyS1
ttyS2
ttyS3
ttyS4
ttyS5
#...ttyS191

# Serial Mux devices    (Linux/PA-RISC only)
ttyB0
ttyB1
#...

# Chase serial card
ttyH0
ttyH1
#...

# Cyclades serial cards
ttyC0
ttyC1
#...ttyC31

# Digiboard serial cards
ttyD0
ttyD1
#...

# Stallion serial cards
ttyE0
ttyE1
#...ttyE255

# Specialix serial cards
ttyX0
ttyX1
#...

# Comtrol Rocketport serial cards
ttyR0
ttyR1
#...

# SDL RISCom serial cards
ttyL0
ttyL1
#...

# Hayes ESP serial card
ttyP0
ttyP1
#...

# Computone IntelliPort II serial card
ttyF0
ttyF1
#...ttyF255

# Specialix IO8+ serial card
ttyW0
ttyW1
#...

# Comtrol VS-1000 serial controller
ttyV0
ttyV1
#...

# ISI serial card
ttyM0
ttyM1
#...

# Technology Concepts serial card
ttyT0
ttyT1
#...

# Specialix RIO serial card
ttySR0
ttySR1
#...ttySR511

# Chase Research AT/PCI-Fast serial card
ttyCH0
ttyCH1
#...ttyCH63

# Moxa Intellio serial card
ttyMX0
ttyMX1
#...ttyMX127

# SmartIO serial card
ttySI0
ttySI1
#...

# USB dongles
ttyUSB0
ttyUSB1
ttyUSB2
#...

# LinkUp Systems L72xx UARTs
ttyLU0
ttyLU1
ttyLU2
ttyLU3

# StrongARM builtin serial ports
ttySA0
ttySA1
ttySA2

# SCI serial port (SuperH) ports and SC26xx serial ports
ttySC0
ttySC1
ttySC2
ttySC3
ttySC4
ttySC5
ttySC6
ttySC7
ttySC8
ttySC9

# ARM "AMBA" serial ports
ttyAM0
ttyAM1
ttyAM2
ttyAM3
ttyAM4
ttyAM5
ttyAM6
ttyAM7
ttyAM8
ttyAM9
ttyAM10
ttyAM11
ttyAM12
ttyAM13
ttyAM14
ttyAM15

# Embedded ARM AMBA PL011 ports (e.g. emulated by QEMU)
ttyAMA0
ttyAMA1
ttyAMA2
ttyAMA3

# DataBooster serial ports
ttyDB0
ttyDB1
ttyDB2
ttyDB3
ttyDB4
ttyDB5
ttyDB6
ttyDB7

# SGI Altix console ports
ttySG0

# Motorola i.MX ports
ttySMX0
ttySMX1
ttySMX2

# Marvell MPSC ports
ttyMM0
ttyMM1

# PPC CPM (SCC or SMC) ports
ttyCPM0
ttyCPM1
ttyCPM2
ttyCPM3
ttyCPM4
ttyCPM5

# Altix serial cards
ttyIOC0
ttyIOC1
#...ttyIOC31

# NEC VR4100 series SIU
ttyVR0

# NEC VR4100 series SSIU
ttyVR1

# Altix ioc4 serial cards
ttyIOC84
ttyIOC85
#...ttyIOC115

# Altix ioc3 serial cards
ttySIOC0
ttySIOC1
#...ttySIOC31

# PPC PSC ports
ttyPSC0
ttyPSC1
ttyPSC2
ttyPSC3
ttyPSC4
ttyPSC5

# ATMEL serial ports
ttyAT0
ttyAT1
#...ttyAT15

# Hilscher netX serial port
ttyNX0
ttyNX1
#...ttyNX15

# Xilinx uartlite - port
ttyUL0
ttyUL1
ttyUL2
ttyUL3

# Xen virtual console - port 0
xvc0

# pmac_zilog - port
ttyPZ0
ttyPZ1
ttyPZ2
ttyPZ3

# TX39/49 serial port
ttyTX0
ttyTX1
ttyTX2
ttyTX3
ttyTX4
ttyTX5
ttyTX6
ttyTX7

# SC26xx serial ports (see SCI serial ports (SuperH))

# MAX3100 serial ports
ttyMAX0
ttyMAX1
ttyMAX2
ttyMAX3

# OMAP serial ports
ttyO0
ttyO1
ttyO2
ttyO3

# User space serial ports
ttyU0
ttyU1

# A2232 serial card
ttyY0
ttyY1

# IBM 3270 terminal Unix tty access
3270/tty1
3270/tty2
#...

# IBM iSeries/pSeries virtual console
hvc0
hvc1
#...
#IBM pSeries console ports
hvsi0
hvsi1
hvsi2

# Equinox SST multi-port serial boards
ttyEQ0
ttyEQ1
#...ttyEQ1027

# ==========================================================
#
# Not in Documentation/Devices.txt
#
# ==========================================================

# Embedded Freescale i.MX ports
ttymxc0
ttymxc1
ttymxc2
ttymxc3
ttymxc4
ttymxc5

# LXC (Linux Containers)
lxc/console
lxc/tty1
lxc/tty2
lxc/tty3
lxc/tty4

# Serial Console for MIPS Swarm
duart0
duart1

# s390 and s390x ports in LPAR mode
ttysclp0

# ODROID XU4 serial console
ttySAC0
ttySAC1
ttySAC2
ttySAC3
Run Code Online (Sandbox Code Playgroud)

  • 我创建了一个文件“securetty”并将其复制粘贴到其中并重新启动计算机。有用。直到重新启动它才起作用。那么官方的修复预计什么时候出现呢?我是编辑 Linux 内核文件的新手,但由于它是免费的,我觉得我需要了解基础知识并学习如何修复我自己的东西。我可以以某种方式订阅此错误的跟踪器吗?为什么这个问题离题了?非常感谢您的回答,很抱歉在这里写我的问题。我不知道还有什么地方可以问这些问题。 (5认同)
  • 简单地禁用 PAM 中的 securetty 位可能会更容易。(看我的回答) (2认同)

Fed*_*eli 6

这不是答案。只是初步尝试找到正确的解决方案。


https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=931899#17中提到的操作是从行中删除secure_nullok[sic] (可能意味着):nullok_secure

auth    [success=1 default=ignore]  pam_unix.so nullok_secure
Run Code Online (Sandbox Code Playgroud)

at 文件似乎有效,或者至少在更改后/etc/pam.d/common-auth不再显示该消息。/var/log/auth.log

然而,在查看新的 Ubuntu 20.04 安装时,我发现该文件与当前文件相似nullok_secure,并且该系统也存在相同的显示消息问题Couldn't open /etc/securetty。我用login命令测试了。

我断定这不是升级问题。新安装的设备中也存在该问题。

请给出意见...

  • 是的,新安装也有这个问题。我在我的问题中提到了这一点。如果我不得不猜测,我会说 nullok_secure 是允许在安全 tty 上使用空密码。 (4认同)