/etc/group 末尾没有换行符可以吗?

/etc/group 末尾没有换行符可以吗?

我在 busybox 上遇到了一个问题,我的 /etc/group 文件没有得到正确处理。

bash> tail /etc/group
...
onebutlast::1001:user1,user2
last::1002:user3bash>

不在user3last根据该信息,getgrouplist 功能

验证页面man group

/etc/group 文件是定义系统上的组的文本文件。每行一个条目,格式如下:

       group_name:password:GID:user_list

正确方向的提示。但它没有说明“线”的预期内容。

很容易修复。但我的问题是:是否有一些文档/规范指定 /etc/group 文件应将换行符作为最后一个字符?

答案1

一条“线”是根据定义以换行符结尾的文本字符串。

通过扩展此定义,文件不是“文本文件”如果它不以换行符结尾。

这就是 POSIX 所说的。然而,该标准并不关心/etc/group文件本身(组数据库可以存储在任何类型的数据库中,例如纯文本文件或 LDAP 服务器,只要它至少包含组名称、数字组 ID ,以及该组中允许的用户列表)。如果系统上的文档表明该文件必须是文本文件,那么它需要有一个最终的终止换行符。

相关内容