shadow/man
Serge Hallyn 6974df39a7 newuidmap and newgidmap: support passing pid as fd
Closes #635

newuidmap and newgidmap currently take an integner pid as
the first argument, determining the process id on which to
act.  Accept also "fd:N", where N must be an open file
descriptor to the /proc/pid directory for the process to
act upon.  This way, if you

exec 10</proc/99
newuidmap fd:10 100000 0 65536

and pid 99 dies and a new process happens to take pid 99 before
newuidmap happens to do its work, then since newuidmap will use
openat() using fd 10, it won't change the mapping for the new
process.

Example:

// terminal 1:
serge@jerom ~/src/nsexec$ ./nsexec -W -s 0 -S 0 -U
about to unshare with 10000000
Press any key to exec (I am 129176)

// terminal 2:
serge@jerom ~/src/shadow$ exec 10</proc/129176
serge@jerom ~/src/shadow$ sudo chown root src/newuidmap src/newgidmap
serge@jerom ~/src/shadow$ sudo chmod u+s src/newuidmap
serge@jerom ~/src/shadow$ sudo chmod u+s src/newgidmap
serge@jerom ~/src/shadow$ ./src/newuidmap fd:10 0 100000 10
serge@jerom ~/src/shadow$ ./src/newgidmap fd:10 0 100000 10

// Terminal 1:
uid=0(root) gid=0(root) groups=0(root)

Signed-off-by: Serge Hallyn <serge@hallyn.com>
2023-02-24 12:35:49 -06:00
..
cs
da
de
es
fi
fr
hu
id
it
ja
ko
login.defs.d Improve TTYGROUP description in login.defs manpage 2023-02-02 22:03:45 -06:00
pl
po Complete Ukrainian translation 2022-05-24 07:52:36 -05:00
pt_BR
ru
sv
tr
uk uk has no limits.5 translation 2022-08-12 13:24:24 -05:00
zh_CN
zh_TW
.gitignore
chage.1.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
chfn.1.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
chgpasswd.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
chpasswd.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
chsh.1.xml Supporting vendor given -shells- configuration file 2023-01-26 22:45:32 -06:00
config.xml.in
expiry.1.xml
faillog.5.xml
faillog.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
generate_mans.mak Fix VPATH build 2023-02-13 10:01:17 +01:00
generate_translations.mak Fix VPATH build 2023-02-13 10:01:17 +01:00
getsubids.1.xml
gpasswd.1.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
groupadd.8.xml shadow: use relaxed usernames 2022-09-02 20:27:14 -05:00
groupdel.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
groupmems.8.xml changing lock mechanism 2022-12-29 13:58:49 -06:00
groupmod.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
groups.1.xml Improve groups and id manpages 2022-03-06 18:00:20 -06:00
grpck.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
gshadow.5.xml
id.1.xml Improve groups and id manpages 2022-03-06 18:00:20 -06:00
lastlog.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
limits.5.xml
login.1.xml Update licensing info 2021-12-23 19:36:50 -06:00
login.access.5.xml
login.defs.5.xml
logoutd.8.xml
Makefile.am Fix VPATH build 2023-02-13 10:01:17 +01:00
newgidmap.1.xml newuidmap and newgidmap: support passing pid as fd 2023-02-24 12:35:49 -06:00
newgrp.1.xml
newuidmap.1.xml newuidmap and newgidmap: support passing pid as fd 2023-02-24 12:35:49 -06:00
newusers.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
nologin.8.xml
passwd.1.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
passwd.5.xml
porttime.5.xml
pwck.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
pwconv.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
README.md
sg.1.xml
shadow-man.xsl Supporting vendor given -shells- configuration file 2023-01-26 22:45:32 -06:00
shadow.3.xml
shadow.5.xml
su.1.xml
suauth.5.xml
subgid.5.xml
subuid.5.xml Update licensing info 2021-12-23 19:36:50 -06:00
sulogin.8.xml
useradd.8.xml Allow supplementary groups to be added via config file 2022-11-18 15:10:56 -06:00
userdel.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00
usermod.8.xml Fix typos 2023-01-26 22:44:39 -06:00
vipw.8.xml libmisc/root_flag: add tips for --root flag only support abspath 2022-08-06 15:04:06 -05:00

The official releases ship with pre-built manpages.

The content of the man pages however is dependent on compile flags. So the pre-built ones might not fit your version of shadow. To build them yourself use --enable-man. Furthermore the following build requirements will be needed:

  • xsltproc
  • docbook 4
  • docbook stylesheets
  • itstool