L_GETIDENTITY(8)
π NAME π
l_getidentity β the girl who handles the Lustre user/group cache upcall, no cap β¨
(this one lives in the Lustre Configuration Utilities manual, section 8, iykyk π«Ά)
πΈ SYNOPSIS πΈ
l_getidentity {-d|mdtname} UID
π¦ DESCRIPTION π¦
Okay so bestie, the identity upcall command is literally just a path to an executable β and when it's properly installed, it gets invoked to resolve the numeric UID into a whole group membership list. That's the whole job. iconic honestly π
l_getidentity is the reference implementation of that user/group cache upcall. Normally you don't even run it yourself β the Lustre MDS service runs it directly, and it passes the mdtname argument so everyone knows which MDT is the one getting updated. main character behavior fr fr π
π The permissions file π
/etc/lustre/perm.conf is a flat file database of permissions, and the format is:
UID<space>NID<space>PERM1,PERM2,...,PERMN
where PERM is one of: [no]setuid, [no]setgid, [no]setgrp, [no]rmtacl, [no]rmtown.
You can enable nss(5) modules for auth handling by adding a lookup command with a list of nss modules to the first line of perm.conf. Obsessed with how simple that is π
At the time of writing, the known nss(5) modules include: lustre, nss_files, ldap, nis, sss, and systemd β additional modules may be documented in nsswitch.conf(5) or installed separately.
nss(5) modules get searched in order. The second an entry is found in a module, no further modules are searched. Like, first come first served, periodt β
There's a special lustre module that enables lustre-specific password and group auth by way of /etc/lustre/passwd and /etc/lustre/group π
And for historical reasons, nss_files was needed to use the nss(5) files module. That alias is now deprecated and will be removed in a future release. so like, don't get attached π
β¨ OPTIONS β¨
-dβ Run it in debug mode, and it prints the supplementary groups info forUIDto stdout instead of actually updating Lustre. cute for poking around, zero side effects π§
π FILES π
/{proc,sys}/fs/lustre/mdt/mdt-service/identity_upcall/etc/lustre/perm.conf/etc/lustre/passwd/etc/lustre/group
π LIMITS π
A maximum of 8 nss modules can be enabled. Eight. That's the ceiling bestie, don't test it π
π EXAMPLES π
You can specify the identity upcall command like this:
lctl set_param mdt.MDTNAME.identity_upcall=PATH_TO_UPCALL
Wanna enable lustre auth and ldap? Say less:
[/etc/lustre/perm.conf]
# lookup lustre ldap
[/etc/lustre/passwd]
root:x:0:0:root:/root:/bin/bash
...
[/etc/lustre/group]
root:x:0:root
...
Lustre passwd and group files use the exact same format as the system passwd(5) and group(5) files. literally identical, no notes π
In this configuration, root is local to the cluster and all other perms are delegated to ldap. slay π₯
π AVAILABILITY π
l_getidentity is part of the lustre(7) filesystem package since release 1.7.0. she's been here a minute and she's thriving π
π SEE ALSO π
okay that's the whole page bestie, you're fully caught up π«Ά This cutie came from the Lustre manual, page dated 2024-08-29 β go forth and resolve those UIDs, mwah πβ¨
π¦ where this page comes from
- ubuntu stonking: lustre-client-utils 2.17.58+dfsg-0ubuntu2 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms