]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: skip loading /etc/shadow
authorYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 3 Jun 2025 20:29:16 +0000 (05:29 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 4 Jun 2025 12:50:12 +0000 (21:50 +0900)
We only require UID/GID, hence not necessary to load information from shadow.

src/network/netdev/tuntap.c

index 0121ce6a35a567c0afe4c92114144508018280cb..3c573335c0c39ab120692ba1ab2b675b693e71a4 100644 (file)
@@ -236,7 +236,9 @@ static int tuntap_verify(NetDev *netdev, const char *filename) {
         if (t->user_name) {
                 _cleanup_(user_record_unrefp) UserRecord *ur = NULL;
 
-                r = userdb_by_name(t->user_name, &USERDB_MATCH_ROOT_AND_SYSTEM, USERDB_PARSE_NUMERIC, &ur);
+                r = userdb_by_name(t->user_name, &USERDB_MATCH_ROOT_AND_SYSTEM,
+                                   USERDB_SUPPRESS_SHADOW | USERDB_PARSE_NUMERIC,
+                                   &ur);
                 if (r == -ENOEXEC)
                         log_netdev_warning_errno(netdev, r, "User %s is not a system user, ignoring.", t->user_name);
                 else if (r < 0)
@@ -248,7 +250,9 @@ static int tuntap_verify(NetDev *netdev, const char *filename) {
         if (t->group_name) {
                 _cleanup_(group_record_unrefp) GroupRecord *gr = NULL;
 
-                r = groupdb_by_name(t->group_name, &USERDB_MATCH_ROOT_AND_SYSTEM, USERDB_PARSE_NUMERIC, &gr);
+                r = groupdb_by_name(t->group_name, &USERDB_MATCH_ROOT_AND_SYSTEM,
+                                    USERDB_SUPPRESS_SHADOW | USERDB_PARSE_NUMERIC,
+                                    &gr);
                 if (r == -ENOEXEC)
                         log_netdev_warning_errno(netdev, r, "Group %s is not a system group, ignoring.", t->group_name);
                 else if (r < 0)