aboutsummaryrefslogtreecommitdiffstats
path: root/man7/capabilities.7
AgeCommit message (Collapse)AuthorFilesLines
2024-05-02man/, share/mk/: Move man*/ to man/Alejandro Colomar1-1872/+0
This is a scripted change: $ mkdir man/; $ mv man* man/; $ ln -st . man/man*; $ find share/mk/ -type f \ | xargs grep -l '^MANDIR *:=' \ | xargs sed -i '/^MANDIR *:=/s,$,/man,'; $ find share/mk/dist/ -type f \ | xargs grep -l man \ | xargs sed -i 's,man%,man/%,g'; Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Cc: Petr Vorel <pvorel@suse.cz> Cc: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2024-02-25man*/: srcfixAlejandro Colomar1-1/+1
Found with: $ grep -rn '"""' man* \ | grep -v '"""""""""""' \ | sed 's/:.*//' \ | sort \ | uniq; man2/add_key.2 man2/getrlimit.2 man2/keyctl.2 man2/pivot_root.2 man2/request_key.2 man3/isalpha.3 man3/setlocale.3 man3/toupper.3 man7/capabilities.7 man7/cgroups.7 man7/keyrings.7 man7/locale.7 man7/user_namespaces.7 Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-10-31man*/: srcfix (Use .P instead of .PP or .LP)Alejandro Colomar1-54/+54
We're trying to "standardize" on a paragraphing macro from the three equivalent ones (P, PP, LP). We (somewhat arbitrarily) agreed on P. Scripted change: $ find man* -type f | xargs sed -i '/\.PP/s/PP/P/' $ find man* -type f | xargs sed -i '/\.LP/s/LP/P/' Suggested-by: "G. Branden Robinson" <branden@debian.org> Cc: Ingo Schwarze <schwarze@openbsd.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-05-03man*/, man.ignore.grep: srcfix; warn about blank linesAlejandro Colomar1-5/+5
- Use the dummy character to avoid warnings in examples. - Re-enable the warning. Suggested-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-04-18man*/: ffixGuillem Jover1-1/+1
Escape dashes on UUIDs, URLs, and file and package names. Signed-off-by: Guillem Jover <guillem@hadrons.org> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-03-17capabilities.7: ffixAlejandro Colomar1-1/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-02-05Many pages: Use \[bu] instead of \(buAlejandro Colomar1-133/+133
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-02-05Many pages: Use \[em] instead of \(emAlejandro Colomar1-2/+2
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2023-01-07Many pages: TH: Use lowercaseAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-12-04Many pages: wfixAlejandro Colomar1-13/+13
Refer consistently to software versions. In most cases, it is done as <software> <version>. In the case of Linux and glibc, use the project name, instead of other terms such as 'kernel' or 'library'. I found the uses of inconsistent language with the following: $ find man* -type f \ | xargs grep -i '\(since\|before\|after\|until\|to\|from\|in\|between\|version\|with\) \(kernel\|version\|2\.\|3\.\|4\.\|5\.\)' \ | sort However, I might have missed some cases. Anyway, 99% consistency is pretty good consistency. We'll fix the remaining cases as we see them. Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29Many pages: Use a consistent style for listsAlejandro Colomar1-135/+135
There are different kinds of lists: Tagged paragraphs These are fixed in a separate commit (the previous one). They are used for a list of tags and their descriptions. An example is this commit message itself. Ordered lists Elements are preceeded by a number in parentheses. These represent a set of steps that have an order. When there are substeps, they will be numbered like (4.2). Positional lists Elements are preceeded by a number in square brackets (index). These represent fields in a set. The index will start at: 0 fields of a C data structure, to be consistent with arrays. 1 fields of a file, to be consistent with tools like cut(1). Alternatives list Elements are preceeded by a letter in parentheses. These represent a set of (normally) exclusive alternatives. Bullet lists Elements are preceeded by bullet symbols. Anything that doesn't fit elsewhere usually is covered by this type of list. Notes Not really a list, but the syntax is identical to "positional lists". There should always be 2 spaces between the list symbol and the elements. This doesn't apply to "tagged paragraphs", which use the default indentation rules. Reported-by: Mike Frysinger <vapier@gentoo.org> Cc: <groff@gnu.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-29Many pages: Use .TP for tagged paragraphsAlejandro Colomar1-3/+6
Reported-by: Mike Frysinger <vapier@gentoo.org> Cc: <groff@gnu.org> Acked-by: Douglas McIlroy <douglas.mcilroy@dartmouth.edu> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-23capabilities.7: ffixAlejandro Colomar1-1/+1
Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09dist.mk, All pages: .TH: Generate date at 'make dist'Alejandro Colomar1-1/+1
Replace the date by a placeholder (date) in the repo, as we're doing with the version (unreleased). It will be filled when the tarball is generated with 'make dist' (or equivalent) with the date of the most recent git commit that modifies the page (as was done previously by update_timestamps.sh, which has been removed). Scripted change (mostly): $ find man* -type f \ | xargs sed -Ei '/^\.TH /s/.TH +([^ ]+ +[^ ]+) +[^ ]+ +(.*)/.TH \1 (date) \2/' Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-09getent.1, iconv.1, intro.1, ldd.1, locale.1, localedef.1, memusage.1, ↵Alejandro Colomar1-1/+1
memusagestat.1, mtrace.1, pldd.1, sprof.1, time.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, add_key.2, adjtimex.2, alarm.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, bpf.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, close_range.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, exit_group.2, fallocate.2, fanotify_init.2, fanotify_mark.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_fslabel.2, ioctl_getfsmap.2, ioctl_iflags.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, landlock_add_rule.2, landlock_create_ruleset.2, landlock_restrict_self.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, memfd_secret.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, mount_setattr.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, openat2.2, outb.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pidfd_getfd.2, pidfd_open.2, pidfd_send_signal.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_madvise.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, recvmmsg.2, remap_file_pages.2, removexattr.2, rename.2, request_key.2, restart_syscall.2, rmdir.2, rt_sigqueueinfo.2, s390_guarded_storage.2, s390_pci_mmio_write.2, s390_runtime_instr.2, s390_sthyi.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, seccomp_unotify.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, sendmmsg.2, set_mempolicy.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setns.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, stime.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, open_how.2type, CPU_SET.3, FILE.3, INFINITY.3, MAX.3, MB_CUR_MAX.3, MB_LEN_MAX.3, _Generic.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_init.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, bswap.3, btowc.3, btree.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cexp2.3, cfree.3, cimag.3, circleq.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, dbopen.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, fileno.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fopencookie.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getusershell.3, getutent.3, getutmp.3, getw.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, group_member.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, intro.3, isalpha.3, isatty.3, isfdtype.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, list.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_hook.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, netlink.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, offsetof.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_atfork.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setsigmask_np.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_mutex_consistent.3, pthread_mutexattr_getpshared.3, pthread_mutexattr_init.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_spin_init.3, pthread_spin_lock.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, readdir_r.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sincos.3, sinh.3, sleep.3, slist.3, sockatmark.3, sqrt.3, stailq.3, statvfs.3, stdarg.3, stdin.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tailq.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, uselocale.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, NULL.3const, sysexits.h.3head, aiocb.3type, blkcnt_t.3type, blksize_t.3type, cc_t.3type, clock_t.3type, clockid_t.3type, dev_t.3type, div_t.3type, double_t.3type, epoll_event.3type, fenv_t.3type, id_t.3type, intN_t.3type, intmax_t.3type, intptr_t.3type, iovec.3type, itimerspec.3type, lconv.3type, mode_t.3type, off_t.3type, ptrdiff_t.3type, regex_t.3type, size_t.3type, sockaddr.3type, stat.3type, time_t.3type, timer_t.3type, timespec.3type, timeval.3type, tm.3type, va_list.3type, void.3type, cciss.4, console_codes.4, cpuid.4, dsp56k.4, fd.4, full.4, fuse.4, hd.4, hpsa.4, initrd.4, intro.4, lirc.4, loop.4, lp.4, mem.4, mouse.4, msr.4, null.4, pts.4, ram.4, random.4, rtc.4, sd.4, sk98lin.4, smartpqi.4, st.4, tty.4, ttyS.4, vcs.4, veth.4, wavelan.4, acct.5, charmap.5, core.5, dir_colors.5, elf.5, filesystems.5, ftpusers.5, gai.conf.5, group.5, host.conf.5, hosts.5, hosts.equiv.5, intro.5, issue.5, locale.5, motd.5, networks.5, nologin.5, nscd.conf.5, nss.5, nsswitch.conf.5, passwd.5, proc.5, protocols.5, repertoiremap.5, resolv.conf.5, rpc.5, securetty.5, services.5, shells.5, slabinfo.5, sysfs.5, termcap.5, tmpfs.5, ttytype.5, tzfile.5, utmp.5, intro.6, address_families.7, aio.7, armscii-8.7, arp.7, ascii.7, attributes.7, boot.7, bootparam.7, bpf-helpers.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, complex.7, cp1251.7, cp1252.7, cpuset.7, credentials.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, fifo.7, futex.7, glob.7, hier.7, hostname.7, icmp.7, inode.7, inotify.7, intro.7, ip.7, ipc_namespaces.7, ipv6.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, kernel_lockdown.7, keyrings.7, koi8-r.7, koi8-u.7, landlock.7, libc.7, locale.7, mailaddr.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, mq_overview.7, namespaces.7, netdevice.7, netlink.7, network_namespaces.7, nptl.7, numa.7, operator.7, packet.7, path_resolution.7, persistent-keyring.7, pid_namespaces.7, pipe.7, pkeys.7, posixoptions.7, process-keyring.7, pthreads.7, pty.7, queue.7, random.7, raw.7, regex.7, rtld-audit.7, rtnetlink.7, sched.7, sem_overview.7, session-keyring.7, shm_overview.7, sigevent.7, signal-safety.7, signal.7, sock_diag.7, socket.7, spufs.7, standards.7, suffixes.7, symlink.7, system_data_types.7, sysvipc.7, tcp.7, termio.7, thread-keyring.7, time.7, time_namespaces.7, udp.7, udplite.7, unicode.7, units.7, unix.7, uri.7, user-keyring.7, user-session-keyring.7, user_namespaces.7, utf-8.7, uts_namespaces.7, vdso.7, vsock.7, x25.7, xattr.7, iconvconfig.8, intro.8, ld.so.8, ldconfig.8, nscd.8, sln.8, tzselect.8: tstamp Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-10-08memfd_create.2, mlock.2, poll.2, select.2, fopen.3, capabilities.7: tfixŠtěpán Němec1-2/+2
Signed-off-by: Štěpán Němec <stepnem@smrk.net> Signed-off-by: Alejandro Colomar <alx@kernel.org>
2022-09-09Revert "src.mk, All pages: Move man* to man/"Alejandro Colomar1-0/+1868
This reverts commit 70ac1c4785fc1e158ab2349a962dba2526bf4fbc. Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Reported-by: Petr Vorel <pvorel@suse.cz> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
2022-09-05src.mk, All pages: Move man* to man/Alejandro Colomar1-1868/+0
The root of the repository is becoming a bit overpopulated and unorganized, due to the recent addition of more mandirs, and more informative and configuration files too. Let's create a specific mandir <man/> that contains the mandirs <man[1-8]*>. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-08-21All pages: Remove the 5th argument to .THAlejandro Colomar1-1/+1
Now that we have the LIBRARY section, and a 4th argument that already tells that it's a page from the Linux man-pages project, the 5th argument isn't telling any information that the default value wouldn't. So let's just remove it. Scripted change: $ find man* -type f \ | xargs sed -Ei '/^.TH /s/(.TH +[^ ]+ +[^ ]+ +[^ ]+ +"[^"]+") .*/\1/' Acked-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.de> Cc: Michael Kerrisk <mtk.manpages@gmail.com>
2022-08-21All pages: Replace the 4th argument to .TH by "Linux man-pages (unreleased)"Alejandro Colomar1-1/+1
On 8/20/22 13:57, Alejandro Colomar wrote: > On 8/20/22 07:43, G. Branden Robinson wrote: >> >> In my opinion it would benefit readers of the Linux man-pages if the >> fourth argument to `TH` were what it is in many other man pages: an >> identifier for the name and version number of the release originating >> them. In every page it would be clear what version of the man-pages was >> being viewed. Little sophistication would be demanded of the user to >> check the Web to determine the relative age of the pages, independently >> of the modification date of the particular page. Such usage would be >> congruent with the argument's purpose in AT&T and BSD Unix, where this >> datum was "7th Edition", "System III", or "4.2 Berkeley Distribution", >> or similar. > > I thought about it in the past... That field was the only thing that > said where a function came from. If we removed GNU (or something else), > how would someone know where does the function or whatever comes from?? > > I guess that's also why the colophon was appended to the pages by > Michael. Since we couldn't use the 4th field for that, we had to have a > COLOPHON section. > > However, the addition of the LIBRARY section seems to fix this issue, > and so now we have an even more precise way to determine where a given > function comes from (including the library file name, and the linker > option). > > This gives me another argument for those who don't like to have a > LIBRARY section for libc stuff (since -lc is unnecessary), and consider > it noise. > >> >> Further, as the libc-related man pages in this project expand coverage >> to other libcs than GNU's, the alternatives to the empty string >> proferred in man-pages(7) seem less and less appropriate. > > Agree. LIBRARY seems much more appropriate for that purpose. > > And this helps remove the COLOPHON section (or at least, we don't need > to autogenerate it, since the version number now comes in .TH, and the > COLOPHON is static; so I can even move it to a smaller REPORTING BUGS > section). Scripted change: $ find man* -type f \ |xargs sed -Ei '/^.TH /s/(.TH +[^ ]+ +[^ ]+ +[^ ]+) +"[^"]*"/\1 "Linux man-pages (unreleased)"/' $ find man* -type f \ |xargs sed -Ei '/^.TH /s/(.TH +[^ ]+ +[^ ]+ +[^ ]+) +[^" ]+/\1 "Linux man-pages (unreleased)"/' $ git restore man5/tzfile.5 $ git restore man8/zdump.8 $ git restore man8/zic.8 $ git restore man7/bpf-helpers.7 Link: <https://lore.kernel.org/linux-man/20220819180323.dbsgxh5qvcjabjm6@jwilk.net/T/#u> Reported-by: Jakub Wilk <jwilk@jwilk.net> Reported-by: "G. Branden Robinson" <g.branden.robinson@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.de> Cc: Michael Kerrisk <mtk.manpages@gmail.com>
2022-07-29Many pages: Use STANDARDS instead of CONFORMING TOAlejandro Colomar1-1/+1
STANDARDS seems to be much more extended than CONFORMING TO. For consistency across the whole manual pages corpus, let's try to unify, by following the most commonly used section name. On 7/27/22 12:49, Ingo Schwarze wrote: > Alejandro Colomar wrote on Tue, Jul 26, 2022 at 02:02:56PM +0200: > > We use CONFORMING TO in Linux. Don't know why; just history, I guess. > > See man-pages(7). > > Weird. > > I failed to find a single instance of "CONFORMING TO" in AT&T UNIX > (including v6, PWB, v7, 32v, v8, v10, System III, SVR1, SVR2) nor in > any version of UCB CSRG BSD. So considering that System V and BSD are > widely considered the two main original branches of the development > of Unix-like operating systems and Linux is often considered to have > drawn inspiration from both, the section name "CONFORMING TO" does > not appear to be a UNIX thing. For example, Aeleen Frisch, "Essential > System Administration", O'Reilly, Cambridge 1995, considers Linux > as slightly more influenced by 4.3BSD than by System V Release 3. > > STANDARDS, on the other hand, is present since 4.3BSD-Reno (June 1990). > > 4.3BSD-Reno predates the first version of the Linux kernel by more than > a year, and the first Linux manual pages probably for longer than that. > > So i have no idea where "CONFORMING TO" may have come from. Scripted change: $ find man* -type f | xargs sed -i 's/CONFORMING TO/STANDARDS/' plus a few manual fixes to the following files: - man2/getrlimit.2 - man3/syslog.3 - scripts/bash_aliases Reported-by: Ingo Schwarze <schwarze@openbsd.org> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-03-20Many pages: Fix style issues reported by `make lint-groff`Alejandro Colomar1-32/+32
Plus some other found in the process. Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-02-25Various pages: [Linux-man-pages-copyleft] Use SPDX-License-IdentifierAlejandro Colomar1-21/+1
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2022-02-07capabilities.7: improve internal referencesKir Kolyshkin1-22/+40
Trying to make this man page easier to navigate. Fix a few cases of "see above/below" without a specific reference to a subsection by quoting the subsection name (making it easier to look it up). Use the same formatting rule as used by some of the other existing references, i.e. italicise it. For uniformity, remove words such as "the subsection" and "under", using "(see|described in) <subsection title> (above|below)" template. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
2021-08-27iconv.1, ldd.1, accept.2, access.2, add_key.2, arch_prctl.2, bpf.2, chmod.2, ↵Michael Kerrisk1-1/+1
chown.2, close_range.2, copy_file_range.2, execve.2, execveat.2, fanotify_mark.2, futex.2, futimesat.2, getpriority.2, intro.2, ioctl_tty.2, keyctl.2, link.2, membarrier.2, mkdir.2, mknod.2, mlock.2, mount.2, mount_setattr.2, open.2, open_by_handle_at.2, perf_event_open.2, pidfd_open.2, readlink.2, readv.2, rename.2, request_key.2, seccomp.2, sigaction.2, stat.2, statx.2, symlink.2, syscalls.2, umount.2, unlink.2, utimensat.2, wait.2, bsearch.3, fflush.3, getaddrinfo.3, getauxval.3, getopt.3, getsubopt.3, mkfifo.3, pthread_mutex_consistent.3, pthread_setname_np.3, pthread_tryjoin_np.3, scandir.3, sem_wait.3, stailq.3, strlen.3, strstr.3, termios.3, tsearch.3, wcslen.3, wcstok.3, wordexp.3, proc.5, capabilities.7, cgroups.7, fanotify.7, mount_namespaces.7, namespaces.7, path_resolution.7, pipe.7, posixoptions.7, user_namespaces.7, vdso.7, iconvconfig.8, ld.so.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-11capabilities.7: Add a reference to user_namespaces(7) for CAP_SETFCAPMichael Kerrisk1-4/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08capabilities.7, user_namespaces.7: Minor tweaks (part 2) to Kir Kolyshkin's ↵Michael Kerrisk1-3/+3
patch Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08capabilities.7: Minor tweaks to Kir's patchAlejandro Colomar1-2/+3
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-08capabilities.7, user_namespaces.7: Describe CAP_SETFCAPKir Kolyshkin1-0/+6
mtk: The kernel commit message is quite enlihtening: commit db2e718a47984b9d71ed890eb2ea36ecf150de18 Author: Serge E. Hallyn <serge@hallyn.com> Date: Tue Apr 20 08:43:34 2021 -0500 Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-08-07capabilities.7: tfixKir Kolyshkin1-1/+1
Add a missing comma. Fixes: 3dcdef9437fafb Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-05-17capabilities.7: CAP_IPC_LOCK also governs memory allocation using huge pagesMichael Kerrisk1-0/+10
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-05-12capabilities.7: ffixAkihiro Motoki1-2/+2
Signed-off-by: Akihiro Motoki <amotoki@gmail.com> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-03-22getent.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, ↵Michael Kerrisk1-1/+1
mtrace.1, _exit.2, _syscall.2, accept.2, access.2, acct.2, add_key.2, adjtimex.2, alloc_hugepages.2, arch_prctl.2, bdflush.2, bind.2, bpf.2, brk.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, close_range.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, fanotify_init.2, fanotify_mark.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpid.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, getxattr.2, idle.2, init_module.2, inotify_add_watch.2, inotify_rm_watch.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_fslabel.2, ioctl_getfsmap.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, mount.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, openat2.2, pause.2, pciconfig_read.2, perf_event_open.2, perfmonctl.2, personality.2, pidfd_getfd.2, pidfd_open.2, pidfd_send_signal.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, remap_file_pages.2, removexattr.2, rename.2, request_key.2, restart_syscall.2, rmdir.2, rt_sigqueueinfo.2, s390_guarded_storage.2, s390_pci_mmio_write.2, s390_runtime_instr.2, s390_sthyi.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, set_thread_area.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, setup.2, setxattr.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, stime.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, time.2, timer_create.2, timer_delete.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vhangup.2, vm86.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, a64l.3, abort.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, atof.3, atoi.3, backtrace.3, basename.3, bcmp.3, bcopy.3, bindresvport.3, bsd_signal.3, bsearch.3, bstring.3, btowc.3, byteorder.3, bzero.3, cabs.3, cacos.3, cacosh.3, canonicalize_file_name.3, carg.3, casin.3, casinh.3, catan.3, catanh.3, catgets.3, catopen.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cexp2.3, cfree.3, cimag.3, circleq.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, closedir.3, cmsg.3, confstr.3, conj.3, copysign.3, cos.3, cosh.3, cpow.3, cproj.3, creal.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctermid.3, ctime.3, daemon.3, des_crypt.3, difftime.3, dirfd.3, div.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, dysize.3, ecvt.3, ecvt_r.3, encrypt.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fclose.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, fgetwc.3, fgetws.3, fileno.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fnmatch.3, fopen.3, fopencookie.3, fpathconf.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, fread.3, frexp.3, fseek.3, fseeko.3, ftime.3, ftok.3, fts.3, ftw.3, futimes.3, fwide.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getloadavg.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getpass.3, getprotoent.3, getprotoent_r.3, getpt.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getumask.3, getusershell.3, getutent.3, getutmp.3, getw.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, group_member.3, gsignal.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, index.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, isalpha.3, isatty.3, isfdtype.3, isgreater.3, iswalnum.3, iswalpha.3, iswblank.3, iswcntrl.3, iswctype.3, iswdigit.3, iswgraph.3, iswlower.3, iswprint.3, iswpunct.3, iswspace.3, iswupper.3, iswxdigit.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, list.3, localeconv.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_hook.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mblen.3, mbrlen.3, mbrtowc.3, mbsinit.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, memfrob.3, memmem.3, memmove.3, mempcpy.3, memset.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, mtrace.3, nan.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, psignal.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setsigmask_np.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_equal.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_mutex_consistent.3, pthread_mutexattr_getpshared.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_setschedprio.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_spin_init.3, pthread_spin_lock.3, pthread_testcancel.3, pthread_tryjoin_np.3, pthread_yield.3, ptsname.3, putenv.3, putgrent.3, putpwent.3, puts.3, putwchar.3, qecvt.3, qsort.3, raise.3, rand.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, readdir_r.3, realpath.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rewinddir.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, rtnetlink.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, seekdir.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setjmp.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, siginterrupt.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sincos.3, sinh.3, sleep.3, slist.3, sockatmark.3, sqrt.3, stailq.3, statvfs.3, stdarg.3, stdio.3, stdio_ext.3, stpcpy.3, stpncpy.3, strcasecmp.3, strcat.3, strchr.3, strcmp.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strpbrk.3, strptime.3, strsep.3, strsignal.3, strspn.3, strstr.3, strtod.3, strtoimax.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, swab.3, sysconf.3, syslog.3, system.3, sysv_signal.3, tailq.3, tan.3, tanh.3, tcgetpgrp.3, tcgetsid.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, toupper.3, towctrans.3, towlower.3, towupper.3, trunc.3, tsearch.3, ttyname.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, ungetwc.3, unlocked_stdio.3, unlockpt.3, updwtmp.3, uselocale.3, usleep.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscasecmp.3, wcscat.3, wcschr.3, wcscmp.3, wcscpy.3, wcscspn.3, wcsdup.3, wcslen.3, wcsncasecmp.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcspbrk.3, wcsrchr.3, wcsrtombs.3, wcsspn.3, wcsstr.3, wcstoimax.3, wcstok.3, wcstombs.3, wcswidth.3, wctob.3, wctomb.3, wctrans.3, wctype.3, wcwidth.3, wmemchr.3, wmemcmp.3, wmemcpy.3, wmemmove.3, wmemset.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console_codes.4, dsp56k.4, hpsa.4, initrd.4, loop.4, lp.4, msr.4, random.4, rtc.4, smartpqi.4, veth.4, wavelan.4, acct.5, core.5, elf.5, hosts.5, locale.5, proc.5, resolv.conf.5, rpc.5, slabinfo.5, sysfs.5, tmpfs.5, utmp.5, address_families.7, aio.7, attributes.7, bootparam.7, capabilities.7, cgroups.7, complex.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, hier.7, inode.7, inotify.7, ip.7, ipv6.7, keyrings.7, locale.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, namespaces.7, netdevice.7, netlink.7, numa.7, packet.7, pkeys.7, pthreads.7, queue.7, raw.7, rtnetlink.7, sched.7, session-keyring.7, shm_overview.7, sigevent.7, signal-safety.7, signal.7, sock_diag.7, socket.7, spufs.7, symlink.7, system_data_types.7, tcp.7, time_namespaces.7, udp.7, udplite.7, unicode.7, unix.7, uri.7, user_namespaces.7, vdso.7, vsock.7, x25.7, iconvconfig.8, ld.so.8, ldconfig.8, sln.8, tzselect.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-01-21Various pages: use real minus signs in pathnamesMichael Kerrisk1-7/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-01-09Various pages: tfix (Oxford comma)Michael Kerrisk1-1/+1
Discovered using: git grep -lE '^[^.].*, [^ ]*[^,] (or|and)\>' Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-10-27capabilities.7: Under CAP_SYS_ADMIN, group "sub-capabilities" togetherMichael Kerrisk1-7/+10
CAP_BPF, CAP_PERFMON, and CAP_CHECKPOINT_RESTORE have all been added to split out the power of CAP_SYS_ADMIN into weaker pieces. Group all of these capabilities together in the list under CAP_SYS_ADMIN, to make it clear that there is a pattern to these capabilities. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-10-27capabilities.7: CAP_SYS_ADMIN implies CAP_CHECKPOINT_RESTOREMichael Kerrisk1-0/+5
But the latter, weaker capability is preferred. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-10-27capabilities.7: tfixMichael Kerrisk1-2/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-10-27capabilities.7: Document the CAP_CHECKPOINT_RESTORE capability added in ↵Michael Kerrisk1-0/+29
Linux 5.9 Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-10-27capabilities.7: Add kernel doc reference for CAP_PERFMONMichael Kerrisk1-0/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-10-27capabilities.7: ffixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-08-22capabilities.7: tfixSteve Hilder1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-08-13intro.1, clock_getres.2, execve.2, fcntl.2, iopl.2, lseek.2, mknod.2, ↵Michael Kerrisk1-1/+1
mmap.2, mount.2, mq_getsetattr.2, pidfd_open.2, prctl.2, setns.2, sgetmask.2, sigaction.2, stat.2, statx.2, sync.2, syscalls.2, syslog.2, timerfd_create.2, umask.2, a64l.3, aio_init.3, atoi.3, dladdr.3, fread.3, getpt.3, isfdtype.3, malloc_stats.3, malloc_trim.3, mkfifo.3, mq_close.3, mq_open.3, mq_receive.3, mq_send.3, mq_unlink.3, posix_memalign.3, posix_openpt.3, pthread_atfork.3, pthread_rwlockattr_setkind_np.3, regex.3, scanf.3, sem_close.3, sem_destroy.3, sem_init.3, sem_open.3, sem_post.3, sem_unlink.3, sigset.3, sigvec.3, strftime.3, termios.3, console_codes.4, dsp56k.4, fd.4, lp.4, mouse.4, pts.4, sk98lin.4, dir_colors.5, proc.5, resolv.conf.5, termcap.5, utmp.5, aio.7, armscii-8.7, arp.7, capabilities.7, cgroups.7, charsets.7, cp1251.7, cp1252.7, environ.7, glob.7, inode.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, keyrings.7, koi8-r.7, koi8-u.7, mailaddr.7, man-pages.7, netdevice.7, operator.7, persistent-keyring.7, process-keyring.7, pthreads.7, pty.7, raw.7, regex.7, session-keyring.7, shm_overview.7, signal.7, socket.7, suffixes.7, thread-keyring.7, unicode.7, units.7, uri.7, user-keyring.7, user-session-keyring.7, iconvconfig.8, ld.so.8, zic.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-07-17capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-07-17capabilities.7: CAP_SYS_RESOURCE: add two more items for POSIX message queuesSaikiran Madugula1-1/+4
CAP_SYS_RESOURCE also allows overriding /proc/sys/fs/mqueue/msg_max and /proc/sys/fs/mqueue/msgsize_max. Signed-off-by: Saikiran Madugula <hummerbliss@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-07-06intro.1, localedef.1, memusage.1, memusagestat.1, bpf.2, execve.2, fork.2, ↵Michael Kerrisk1-1/+1
keyctl.2, request_key.2, sigaction.2, signal.2, socket.2, dlopen.3, getauxval.3, gnu_get_libc_version.3, pthread_atfork.3, sem_post.3, setjmp.3, strftime.3, veth.4, locale.5, nscd.conf.5, resolv.conf.5, address_families.7, armscii-8.7, ascii.7, capabilities.7, cgroups.7, charsets.7, cp1251.7, cp1252.7, iso_8859-1.7, iso_8859-10.7, iso_8859-11.7, iso_8859-13.7, iso_8859-14.7, iso_8859-15.7, iso_8859-16.7, iso_8859-2.7, iso_8859-3.7, iso_8859-4.7, iso_8859-5.7, iso_8859-6.7, iso_8859-7.7, iso_8859-8.7, iso_8859-9.7, keyrings.7, koi8-r.7, koi8-u.7, libc.7, locale.7, man.7, network_namespaces.7, persistent-keyring.7, session-keyring.7, signal.7, unicode.7, uri.7, user-keyring.7, user-session-keyring.7: ffix: replace - with real\- Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-24capabilities.7: Clarify that CAP_SYS_NICE relates to *lowering* the nice valueDan Kenigsberg1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-24capabilities.7: srcfixMichael Kerrisk1-2/+0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-24capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-24capabilities.7: Clarify wording around increasing process nice valueMichael Kerrisk1-1/+1
The fact that a more negative nice value means higher priority is a continuing source of confusion. Reported-by: Dan Kenigsberg <danken@redhat.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-12capabilities.7: Document CAP_BPFMichael Kerrisk1-2/+14
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-12capabilities.7: srcfixMichael Kerrisk1-1/+0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-12capabilities.7: Add CAP_PERFMONMichael Kerrisk1-2/+19
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-06-10capabilities.7: SEE ALSO: add getpcaps(8)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-04-19capabilities.7: tfixMichael Kerrisk1-2/+2
Reported-by: Helge Kreutzmann <debian@helgefjell.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-04-19capabilities.7: tfixMichael Kerrisk1-1/+1
Reported-by: Helge Kreutzmann <debian@helgefjell.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-12-30capabilities.7: Minor clarification of historical behaviorMichael Kerrisk1-1/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-12-30capabilities.7: wfixMichael Kerrisk1-3/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-08-26capabilities.7: tfixMarko Myllynen1-1/+1
Hi Michael, it's been a while but few simple patches today.. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-08-02capabilities.7: CAP_SYS_ADMIN allows modifying autogroup nice valuesMichael Kerrisk1-0/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-08-02pldd.1, bpf.2, chdir.2, clone.2, fanotify_init.2, fanotify_mark.2, intro.2, ↵Michael Kerrisk1-1/+1
ipc.2, mount.2, mprotect.2, msgctl.2, msgget.2, msgop.2, pivot_root.2, pkey_alloc.2, poll.2, prctl.2, semctl.2, semget.2, semop.2, setxattr.2, shmctl.2, shmget.2, shmop.2, tkill.2, dlopen.3, exec.3, ftok.3, getutent.3, on_exit.3, strcat.3, cpuid.4, proc.5, capabilities.7, cgroup_namespaces.7, credentials.7, fanotify.7, mount_namespaces.7, namespaces.7, sched.7, signal.7, socket.7, unix.7, user_namespaces.7, vdso.7, xattr.7, ld.so.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-07-28capabilities.7: Add pivot_root(2) to CAP_SYS_ADMIN listMichael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-07-17capabilities.7: Add a note about using strace on binaries that have capabilitiesMichael Kerrisk1-0/+14
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-07-01capabilities.7: CAP_FOWNER also allows modifying user xattrs on sticky ↵Michael Kerrisk1-0/+4
directories See fs/xattr.c::xattr_permission()" /* * In the user.* namespace, only regular files and directories can have * extended attributes. For sticky directories, only the owner and * privileged users can write attributes. */ if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN)) { if (!S_ISREG(inode->i_mode) && !S_ISDIR(inode->i_mode)) return (mask & MAY_WRITE) ? -EPERM : -ENODATA; if (S_ISDIR(inode->i_mode) && (inode->i_mode & S_ISVTX) && (mask & MAY_WRITE) && !inode_owner_or_capable(inode)) return -EPERM; } Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-03-06getent.1, iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, ↵Michael Kerrisk1-1/+1
pldd.1, sprof.1, time.1, _syscall.2, accept.2, add_key.2, adjtimex.2, bind.2, bpf.2, capget.2, chown.2, chroot.2, clock_getres.2, clone.2, connect.2, copy_file_range.2, epoll_ctl.2, epoll_wait.2, eventfd.2, fanotify_init.2, fanotify_mark.2, fcntl.2, fsync.2, futex.2, getcpu.2, getdents.2, getgid.2, getgroups.2, getpid.2, gettid.2, gettimeofday.2, getuid.2, getxattr.2, inotify_add_watch.2, inotify_init.2, ioctl_fat.2, ioctl_ns.2, ioctl_userfaultfd.2, ioprio_set.2, kcmp.2, kexec_load.2, keyctl.2, listxattr.2, lseek.2, madvise.2, memfd_create.2, migrate_pages.2, mount.2, mprotect.2, mremap.2, msgctl.2, msgop.2, nfsservctl.2, open_by_handle_at.2, perf_event_open.2, pipe.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, readahead.2, readdir.2, readlink.2, reboot.2, recvmmsg.2, removexattr.2, rename.2, request_key.2, s390_guarded_storage.2, s390_runtime_instr.2, s390_sthyi.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, seccomp.2, select.2, select_tut.2, semctl.2, sendmmsg.2, set_thread_area.2, setgid.2, setns.2, setuid.2, setxattr.2, shmctl.2, sigaction.2, signalfd.2, sigsuspend.2, socket.2, socketpair.2, spu_run.2, stat.2, statx.2, subpage_prot.2, syscalls.2, sysctl.2, tee.2, timer_create.2, timerfd_create.2, truncate.2, uname.2, unshare.2, userfaultfd.2, ustat.2, vmsplice.2, write.2, CPU_SET.3, __ppc_get_timebase.3, alloca.3, argz_add.3, asprintf.3, backtrace.3, basename.3, bsd_signal.3, bstring.3, bswap.3, bzero.3, cacos.3, cacosh.3, catan.3, catanh.3, catgets.3, clock_getcpuclockid.3, cmsg.3, confstr.3, ctermid.3, ctime.3, des_crypt.3, dl_iterate_phdr.3, dlinfo.3, dlsym.3, duplocale.3, end.3, endian.3, errno.3, exec.3, exit.3, ferror.3, fgetws.3, fmemopen.3, fnmatch.3, fopencookie.3, fputws.3, frexp.3, ftw.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getdate.3, getgrouplist.3, getifaddrs.3, getline.3, getlogin.3, getmntent.3, getnameinfo.3, getopt.3, getpass.3, getprotoent_r.3, getpwnam.3, getservent_r.3, getsubopt.3, glob.3, gnu_get_libc_version.3, hsearch.3, if_nameindex.3, index.3, inet.3, inet_net_pton.3, inet_pton.3, insque.3, isatty.3, iswblank.3, iswspace.3, lockf.3, makecontext.3, mallinfo.3, malloc.3, malloc_hook.3, malloc_info.3, mallopt.3, matherr.3, mbrtowc.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mbtowc.3, mcheck.3, memchr.3, mq_getattr.3, mq_notify.3, newlocale.3, nl_langinfo.3, offsetof.3, perror.3, posix_spawn.3, printf.3, pthread_attr_init.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_mutexattr_setrobust.3, pthread_rwlockattr_setkind_np.3, pthread_setaffinity_np.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, putenv.3, qsort.3, rand.3, random.3, readdir.3, regex.3, resolver.3, rpmatch.3, rtime.3, scanf.3, sem_wait.3, setaliasent.3, setbuf.3, stpcpy.3, stpncpy.3, strcat.3, strchr.3, strcmp.3, strcpy.3, strdup.3, strerror.3, strfromd.3, strfry.3, strftime.3, string.3, strlen.3, strnlen.3, strsep.3, strstr.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, strxfrm.3, system.3, termios.3, trunc.3, wcpcpy.3, wcpncpy.3, wcrtomb.3, wcscat.3, wcscpy.3, wcslen.3, wcsncat.3, wcsncmp.3, wcsncpy.3, wcsnlen.3, wcsnrtombs.3, wcsrtombs.3, wcsstr.3, wcstok.3, wcstombs.3, wcwidth.3, wprintf.3, xcrypt.3, console_codes.4, dsp56k.4, full.4, initrd.4, lirc.4, loop.4, st.4, tty.4, vcs.4, charmap.5, core.5, host.conf.5, locale.5, proc.5, repertoiremap.5, resolv.conf.5, termcap.5, tmpfs.5, tzfile.5, aio.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, complex.7, epoll.7, fanotify.7, feature_test_macros.7, inotify.7, ip.7, locale.7, man-pages.7, man.7, namespaces.7, pid_namespaces.7, pkeys.7, pthreads.7, rtld-audit.7, sched.7, signal.7, sock_diag.7, socket.7, tcp.7, udp.7, unicode.7, user_namespaces.7, utf-8.7, zdump.8, zic.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: CAP_SYS_CHROOT allows use of setns() to change the mount ↵Michael Kerrisk1-2/+9
namespace Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: srcfixMichael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: Add a subsection on per-user-namespace "set-user-ID-root" ↵Michael Kerrisk1-0/+17
programs Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: Relocate the subsection "Interaction with user namespaces"Michael Kerrisk1-5/+6
This best belongs at the end of the page, after the subsections that already make some mention of user namespaces. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: wfixMichael Kerrisk1-1/+4
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: Substantially rework "Capabilities and execution of programs ↵Michael Kerrisk1-39/+55
by root" Rework for improved clarity, and also to include missing details on the case where (1) the binary that is being executed has capabilities attached and (2) the real user ID of the process is not 0 (root) and (3) the effective user ID of the process is 0 (root). Kernel code analysis and some test code (GPLv3 licensed) below. ====== My analysis of security/commoncaps.c capabilities handling (from Linux 4.20 source): execve() eventually calls __do_execve_file(): __do_execve_file() | +-prepare_bprm_creds(&bprm) | | | +-prepare_exec_creds() | | | | | +-prepare_creds() | | | | | | // Returns copy of existing creds | | | | | +-security_prepare_creds() | | | | | +-cred_prepare() [via hook] | | // Seems to do nothing for commoncaps | | | // Returns creds provided by prepare_creds() | // Places creds returned by prepare_exec_creds() in bprm->creds | | +-prepare_binprm(&bprm) // bprm from prepare_bprm_creds() | +-bprm_fill_uid(&bprm) | | // Places current credentials into bprm | | // Performs set-UID & set-GID transitions if those file bits are set | +-security_bprm_set_creds(&bprm) | +-bprm_set_creds(&bprm) [via hook] | +-cap_bprm_set_creds(&bprm) | // effective = false | +-get_file_caps(&bprm, &effective, &has_fcap) | | | +-get_vfs_caps_from_disk(..., &vcaps) | | | | // Fetches file capabilities from disk and places in vcaps | | | +-bprm_caps_from_vfs_caps(&vcaps, &bprm, &effective, &has_fcap) | | // If file effective bit is set: effective = true | // | // If file has capabilities: has_fcap |= true | // | // Perform execve transformation: | // P'(perm) = F(inh) & P(Inh) | F(Perm) & P(bset) | +-handle_privileged_root(&bprm, has_fcap, &effective, root_uid) | | // If has_fcap && (rUID != root && eUID == root) then | // return without doing anything | // | // If rUID == root || eUID == root then | // P'(perm) = P(inh) | P(bset) | // | // If eUID == root then | // effective = true | // Perform execve() transformation: // // P'(Amb) = (privprog) ? 0 : P(Amb) // P'(Perm) |= P'(Amb) // P'(Eff) = effective ? P'(Perm) : P'(Amb) Summary 1. Perform set-UID/set-GID transformations 2. P'(Amb) = (privprog) ? 0 : P(Amb) 3. If [process has nonzero UIDs] OR ([file has caps] && [rUID != root && eUID == root]), then P'(perm) = F(inh) & P(Inh) | F(Perm) & P(bset) | P'(Amb) else // ~ [process has rUID == root || eUID == root] P'(perm) = P(inh) | P(bset) | P'(Amb) 4. P'(Eff) = (F(eff) || eUID == root) ? P'(Perm) : P'(Amb) ====== $ cat show_creds_and_caps_long.c int main(int argc, char *argv[]) { uid_t ruid, euid, suid; gid_t rgid, egid, sgid; cap_t caps; char *s; if (getresuid(&ruid, &euid, &suid) == -1) { perror("getresuid"); exit(EXIT_FAILURE); } if (getresgid(&rgid, &egid, &sgid) == -1) { perror("getresgid"); exit(EXIT_FAILURE); } printf("UID: %5ld (real), %5ld (effective), %5ld (saved)\n", (long) ruid, (long) euid, (long) suid); printf("GID: %5ld (real), %5ld (effective), %5ld (saved)\n", (long) rgid, (long) egid, (long) sgid); caps = cap_get_proc(); if (caps == NULL) { perror("cap_get_proc"); exit(EXIT_FAILURE); } s = cap_to_text(caps, NULL); if (s == NULL) { perror("cap_to_text"); exit(EXIT_FAILURE); } printf("Capabilities: %s\n", s); cap_free(caps); cap_free(s); exit(EXIT_SUCCESS); } $ cat cred_launcher.c } while (0) do { fprintf(stderr, "Usage: "); \ fprintf(stderr, msg, progName); \ exit(EXIT_FAILURE); } while (0) int main(int argc, char *argv[]) { uid_t r, e, s; if (argc != 5 || strcmp(argv[1], "--help") == 0) usageErr("%s rUID eUID sUID <prog>\n", argv[0]); r = atoi(argv[1]); e = atoi(argv[2]); s = atoi(argv[3]); if (setresuid(r, e, s) == -1) errExit("setresuid"); if (getresuid(&r, &e, &s) == -1) errExit("getresuid"); execv(argv[4], &argv[4]); errExit("execve"); } $ cc -o cred_launcher cred_launcher.c $ cc -o show_creds_and_caps_long show_creds_and_caps_long.c -lcap $ sudo ./cred_launcher 1000 0 1000 ./show_creds_and_caps_long UID: 1000 (real), 0 (effective), 0 (saved) GID: 0 (real), 0 (effective), 0 (saved) Capabilities: =ep $ sudo setcap cap_kill=pe show_creds_and_caps_long $ sudo ./cred_launcher 1000 0 1000 ./show_creds_and_caps_long UID: 1000 (real), 0 (effective), 0 (saved) GID: 0 (real), 0 (effective), 0 (saved) Capabilities: = cap_kill+ep The final program execution above shows the special casing that occurs in handle_privileged_root() for the case where: rUID != root && eUID == root && [file has capabilities] ====== Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: Improve the discussion of when file capabilities are ignoredMichael Kerrisk1-7/+4
The text stated that the execve() capability transitions are not performed for the same reasons that setuid and setgid mode bits may be ignored (as described in execve(2)). But, that's not quite correct: rather, the file capability sets are treated as empty for the purpose of the capability transition calculations. Also merge the new 'no_file_caps' kernel option text into the same paragraph. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-23capabilities.7: Document the 'no_file_caps' kernel command-line optionMichael Kerrisk1-0/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-10capabilities.7: Rework discussion of exec and UID 0, correcting a couple of ↵Michael Kerrisk1-12/+26
details Clarify the "Capabilities and execution of programs by root" section, and correct a couple of details: * If a process with rUID == 0 && eUID != 0 does an exec, the process will nevertheless gain effective capabilities if the file effective bit is set. * Set-UID-root programs only confer a full set of capabilities if the binary does not also have attached capabilities. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2019-02-07capabilities.7: srcfixMichael Kerrisk1-0/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-11-17capabilities.7: Update URL for libcap tarballsMichael Kerrisk1-1/+1
The previous location does not seem to be getting updated. (For example, at the time of this commit, libcap-2.26 had been out for two months, but was not present at http://www.kernel.org/pub/linux/libs/security/linux-privs. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-11-01capabilities.7: Minor fixes to Marcus Gelderie's patchMichael Kerrisk1-2/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-11-01capabilities.7: Mention header for SECBIT constantsMarcus Gelderie1-0/+2
Mention that the named constants (SECBIT_KEEP_CAPS and others) are available only if the linux/securebits.h user-space header is included. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-11-01capabilities.7: Correct the description of SECBIT_KEEP_CAPSMichael Kerrisk1-3/+2
This just adds to the point made by Marcus Gelderie's patch. Note also that SECBIT_KEEP_CAPS provides the same functionality as the prctl() PR_SET_KEEPCAPS flag, and the prctl(2) manual page has the correct description of the semantics (i.e., that the flag affects the treatment of onlt the permitted capability set). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-11-01capabilities.7: Minor tweaks to the text added by Marcus Gelderie's patchMichael Kerrisk1-3/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-11-01capabilities.7: Add details about SECBIT_KEEP_CAPSMarcus Gelderie1-0/+7
The description of SECBIT_KEEP_CAPS is misleading about the effects on the effective capabilities of a process during a switch to nonzero UIDs. The effective set is cleared based on the effective UID switching to a nonzero value, even if SECBIT_KEEP_CAPS is set. However, with this bit set, the effective and permitted sets are not cleared if the real and saved set-user-ID are set to nonzero values. This was tested using the following C code and reading the kernel source at security/commoncap.c: cap_emulate_setxuid. void print_caps(void) { cap_t current = cap_get_proc(); if (!current) { perror("Current caps"); return; } char *text = cap_to_text(current, NULL); if (!text) { perror("Converting caps to text"); goto free_caps; } printf("Capabilities: %s\n", text); cap_free(text); free_caps: cap_free(current); } void print_creds(void) { uid_t ruid, suid, euid; if (getresuid(&ruid, &euid, &suid)) { perror("Error getting UIDs"); return; } printf("real = %d, effective = %d, saved set-user-ID = %d\n", ruid, euid, suid); } void set_caps(int size, const cap_value_t *caps) { cap_t current = cap_init(); if (!current) { perror("Error getting current caps"); return; } if (cap_clear(current)) { perror("Error clearing caps"); } if (cap_set_flag(current, CAP_INHERITABLE, size, caps, CAP_SET)) { perror("setting caps"); goto free_caps; } if (cap_set_flag(current, CAP_EFFECTIVE, size, caps, CAP_SET)) { perror("setting caps"); goto free_caps; } if (cap_set_flag(current, CAP_PERMITTED, size, caps, CAP_SET)) { perror("setting caps"); goto free_caps; } if (cap_set_proc(current)) { perror("Comitting caps"); goto free_caps; } free_caps: cap_free(current); } const cap_value_t caps[] = {CAP_SETUID, CAP_SETPCAP}; const size_t num_caps = sizeof(caps) / sizeof(cap_value_t); int main(int argc, char **argv) { puts("[+] Dropping most capabilities to reduce amount of console output..."); set_caps(num_caps, caps); puts("[+] Dropped capabilities. Starting with these credentials and capabilities:"); print_caps(); print_creds(); if (argc >= 2 && 0 == strncmp(argv[1], "keep", 4)) { puts("[+] Setting SECBIT_KEEP_CAPS bit"); if (prctl(PR_SET_SECUREBITS, SECBIT_KEEP_CAPS, 0, 0, 0)) { perror("Setting secure bits"); return 1; } } puts("[+] Setting effective UID to 1000"); if (seteuid(1000)) { perror("Error setting effective UID"); return 2; } print_caps(); print_creds(); puts("[+] Raising caps again"); set_caps(num_caps, caps); print_caps(); print_creds(); puts("[+] Setting all remaining UIDs to nonzero values"); if (setreuid(1000, 1000)) { perror("Error setting all UIDs to 1000"); return 3; } print_caps(); print_creds(); return 0; } Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-09-29capabilities.7: Update URL for location of POSIX.1e draft standardMichael Kerrisk1-1/+1
Reported-by: Allison Randal <allison@lohutok.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-09-13capabilities.7: Ambient capabilities do not trigger secure-execution modeMichael Kerrisk1-0/+5
Reported-by: Pierre Chifflier <pollux@debian.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-08-03capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-02capabilities.7: Note that v3 security.attributes are transparently ↵Michael Kerrisk1-2/+31
created/retrieved Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01capabilities.7: Fix some imprecisions in discussion of namespaced file ↵Michael Kerrisk1-9/+5
capabilities The file UID does not come into play when creating a v3 security.capability extended attribute. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01capabilities.7: wfixMichael Kerrisk1-3/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01capabilities.7: wfixMichael Kerrisk1-4/+5
Fix some confusion between "mask" and "extended attribute" Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-07-01capabilities.7: srcfix: Removed FIXMEMichael Kerrisk1-3/+0
No credential match of file UID and namespace creator UID is needed to create a v3 security extended attribute. Verified by experiment using my userns_child_exec.c and show_creds.c programs (available on http://man7.org/tlpi/code): $ sudo setcap cap_setuid,cap_dac_override=pe \ ./userns_child_exec $ ./userns_child_exec -U -r setcap cap_kill=pe show_creds $ ./userns_child_exec -U -M '0 1000 10' -G '0 1000 1' \ -s 1 ./show_creds eUID = 1; eGID = 0; capabilities: = cap_kill+ep Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-06-24capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-02capabilities.7: tfixMichael Kerrisk1-1/+1
Reported-by: Jann Horn <jannh@google.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-02capabilities.7: ffixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: ffixMichael Kerrisk1-4/+4
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: Add background details on capability transformations during ↵Michael Kerrisk1-1/+14
execve(2) Add background details on ambient and bounding set when discussing capability transformations during execve(2). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: Minor rewordingMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: Reorder text on capability bounding setMichael Kerrisk1-30/+30
Reverse order of text blocks describing pre- and post-2.6.25 bounding set. No content changes. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: Rework bounding set as per-thread set in transformation rulesMichael Kerrisk1-6/+6
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: Add text introducing bounding set along with other thread ↵Michael Kerrisk1-0/+12
capability sets Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: Clarify which capability sets capset(2) and capget(2) apply toMichael Kerrisk1-1/+2
capset(2) and capget(2) apply operate only on the permitted, effective, and inheritable process capability sets. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-05-01capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-27capabilities.7: tfixJakub Wilk1-1/+1
Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-19capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: srcfix: FIXMEMichael Kerrisk1-0/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: Rework file capability versioning and namespaced file caps textMichael Kerrisk1-31/+54
There was some confused missing of concepts between the two subsections, and some other details that needed fixing up. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: Explain when VFS_CAP_REVISION_3 file capabilities have effectMichael Kerrisk1-0/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: Explain rules that determine version of security.capability ↵Michael Kerrisk1-0/+38
xattr Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: Explain term "namespace root user ID"Michael Kerrisk1-1/+3
Confirmed with Serge Hallyn that: "nsroot" means the UID 0 in the namespace as it would be mapped into the initial userns. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: Document namespaced-file capabilitiesMichael Kerrisk1-1/+47
Cowritten-by: Serge E. Hallyn <serge@hallyn.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-04-13capabilities.7: Describe file capability versioningMichael Kerrisk1-0/+34
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-21capabilities.7: remove redundant mention of PTRACE_SECCOMP_GET_FILTERMichael Kerrisk1-5/+0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-02-02iconv.1, bpf.2, copy_file_range.2, fcntl.2, memfd_create.2, mlock.2, ↵Michael Kerrisk1-1/+1
mount.2, mprotect.2, perf_event_open.2, pkey_alloc.2, prctl.2, read.2, recvmmsg.2, s390_sthyi.2, seccomp.2, sendmmsg.2, syscalls.2, unshare.2, write.2, errno.3, fgetpwent.3, fts.3, pthread_rwlockattr_setkind_np.3, fuse.4, veth.4, capabilities.7, cgroups.7, ip.7, man-pages.7, namespaces.7, network_namespaces.7, sched.7, socket.7, user_namespaces.7, iconvconfig.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2018-01-13capabilities.7: spfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-16capabilities.7: Clarify effect of CAP_SETFCAPMichael Kerrisk1-1/+1
Make it clear that CAP_SETFCAP allows setting arbitrary capabilities on a file. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-05capabilities.7: Rephrase CAP_SETPCAP descriptionMichael Kerrisk1-11/+11
* Mention kernel versions. * Place current kernel behavior first Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-03capabilities.7: SECBIT_KEEP_CAPS is ignored if SECBIT_NO_SETUID_FIXUP is setMichael Kerrisk1-0/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-03capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-03capabilities.7: Note which capability sets are affected by ↵Michael Kerrisk1-1/+2
SECBIT_NO_SETUID_FIXUP Note explicitly that SECBIT_NO_SETUID_FIXUP is relevant for the permitted, effective, and ambient capability sets. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: Deemphasize the ancient prctl(2) PR_SET_KEEPCAPS commandMichael Kerrisk1-3/+0
The modern approach is SECBITS_KEEP_CAPS. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: Minor wording fixMichael Kerrisk1-2/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: Clarify which capability sets are effected by SECBIT_KEEP_CAPSMichael Kerrisk1-2/+4
This flag has relevance only for the process permitted and effective sets. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: wfixMichael Kerrisk1-5/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: Ambient set is also cleared when UIDs are set to nonzero valueMichael Kerrisk1-1/+1
See cap_emulate_setxuid(): kuid_t root_uid = make_kuid(old->user_ns, 0); if ((uid_eq(old->uid, root_uid) || uid_eq(old->euid, root_uid) || uid_eq(old->suid, root_uid)) && (!uid_eq(new->uid, root_uid) && !uid_eq(new->euid, root_uid) && !uid_eq(new->suid, root_uid))) { if (!issecure(SECURE_KEEP_CAPS)) { cap_clear(new->cap_permitted); cap_clear(new->cap_effective); } /* * Pre-ambient programs expect setresuid to nonroot followed * by exec to drop capabilities. We should make sure that * this remains the case. */ cap_clear(new->cap_ambient); } Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-12-02capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-07capabilities.7: srcfix: FIXMEMichael Kerrisk1-0/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-07capabilities.7: srcfix: FIXMEMichael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-07capabilities.7: Add a reference to xattr(7) in the discussion of extended ↵Michael Kerrisk1-1/+3
attributes Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-25capabilities.7: SEE ALSO: add captest(8)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-09-15iconv.1, ldd.1, locale.1, localedef.1, memusage.1, memusagestat.1, mtrace.1, ↵Michael Kerrisk1-1/+1
pldd.1, sprof.1, time.1, _syscall.2, add_key.2, alloc_hugepages.2, arch_prctl.2, bpf.2, cacheflush.2, capget.2, chdir.2, chmod.2, chown.2, chroot.2, clock_getres.2, clock_nanosleep.2, clone.2, close.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_create.2, epoll_ctl.2, epoll_wait.2, eventfd.2, execve.2, execveat.2, fallocate.2, fanotify_init.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, futimesat.2, get_kernel_syms.2, get_mempolicy.2, get_robust_list.2, getcpu.2, getdents.2, getdomainname.2, getgid.2, getgroups.2, gethostname.2, getitimer.2, getpagesize.2, getpeername.2, getpriority.2, getrandom.2, getresuid.2, getrlimit.2, getrusage.2, getsid.2, getsockname.2, getsockopt.2, gettid.2, gettimeofday.2, getuid.2, getunwind.2, init_module.2, inotify_add_watch.2, inotify_init.2, inotify_rm_watch.2, intro.2, io_cancel.2, io_destroy.2, io_getevents.2, io_setup.2, io_submit.2, ioctl_console.2, ioctl_fat.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, ioctl_getfsmap.2, ioctl_iflags.2, ioctl_list.2, ioctl_ns.2, ioctl_tty.2, ioctl_userfaultfd.2, ioperm.2, iopl.2, ioprio_set.2, ipc.2, kcmp.2, kexec_load.2, keyctl.2, kill.2, link.2, listen.2, listxattr.2, llseek.2, lookup_dcookie.2, lseek.2, madvise.2, mbind.2, membarrier.2, memfd_create.2, migrate_pages.2, mincore.2, mkdir.2, mknod.2, mlock.2, mmap.2, mmap2.2, modify_ldt.2, move_pages.2, mprotect.2, mq_getsetattr.2, mremap.2, msgctl.2, msgget.2, msgop.2, msync.2, nanosleep.2, nfsservctl.2, nice.2, open.2, open_by_handle_at.2, outb.2, perf_event_open.2, perfmonctl.2, personality.2, pivot_root.2, pkey_alloc.2, poll.2, posix_fadvise.2, prctl.2, pread.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, read.2, readahead.2, readdir.2, readlink.2, readv.2, reboot.2, recv.2, recvmmsg.2, remap_file_pages.2, rename.2, request_key.2, restart_syscall.2, rt_sigqueueinfo.2, s390_pci_mmio_write.2, s390_runtime_instr.2, sched_get_priority_max.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setparam.2, sched_setscheduler.2, sched_yield.2, seccomp.2, select.2, select_tut.2, semctl.2, semget.2, semop.2, send.2, sendfile.2, sendmmsg.2, set_mempolicy.2, set_thread_area.2, set_tid_address.2, seteuid.2, setfsgid.2, setfsuid.2, setgid.2, setns.2, setpgid.2, setresuid.2, setreuid.2, setsid.2, setuid.2, sgetmask.2, shmctl.2, shmget.2, shmop.2, sigaction.2, sigaltstack.2, signal.2, sigpending.2, sigprocmask.2, sigreturn.2, sigsuspend.2, sigwaitinfo.2, socket.2, socketcall.2, socketpair.2, splice.2, spu_create.2, spu_run.2, stat.2, statfs.2, statx.2, subpage_prot.2, swapon.2, symlink.2, sync.2, sync_file_range.2, syscall.2, syscalls.2, sysctl.2, sysfs.2, sysinfo.2, syslog.2, tee.2, time.2, timer_create.2, timer_getoverrun.2, timer_settime.2, timerfd_create.2, times.2, tkill.2, truncate.2, umask.2, umount.2, uname.2, unimplemented.2, unlink.2, unshare.2, uselib.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vfork.2, vmsplice.2, wait.2, wait4.2, write.2, CPU_SET.3, INFINITY.3, __ppc_get_timebase.3, __ppc_set_ppr_med.3, __ppc_yield.3, __setfpucw.3, acos.3, acosh.3, adjtime.3, aio_fsync.3, aio_init.3, aio_read.3, aio_return.3, aio_suspend.3, aio_write.3, alloca.3, argz_add.3, asin.3, asinh.3, asprintf.3, assert.3, assert_perror.3, atan.3, atan2.3, atanh.3, atexit.3, backtrace.3, basename.3, bindresvport.3, bsd_signal.3, bsearch.3, bswap.3, btree.3, byteorder.3, bzero.3, canonicalize_file_name.3, carg.3, cbrt.3, ccos.3, ccosh.3, ceil.3, cexp.3, cfree.3, clearenv.3, clock.3, clock_getcpuclockid.3, clog.3, clog10.3, clog2.3, cmsg.3, confstr.3, copysign.3, cos.3, cosh.3, crypt.3, csin.3, csinh.3, csqrt.3, ctan.3, ctanh.3, ctime.3, dbopen.3, dl_iterate_phdr.3, dladdr.3, dlerror.3, dlinfo.3, dlopen.3, dlsym.3, drand48.3, drand48_r.3, duplocale.3, encrypt.3, end.3, endian.3, envz_add.3, erf.3, erfc.3, err.3, errno.3, error.3, ether_aton.3, euidaccess.3, exec.3, exit.3, exp.3, exp10.3, exp2.3, expm1.3, fabs.3, fcloseall.3, fdim.3, fenv.3, ferror.3, fexecve.3, fflush.3, ffs.3, fgetc.3, fgetgrent.3, fgetpwent.3, finite.3, floor.3, fma.3, fmax.3, fmemopen.3, fmin.3, fmod.3, fmtmsg.3, fopen.3, fopencookie.3, fpclassify.3, fpurge.3, fputwc.3, fputws.3, frexp.3, fseek.3, fseeko.3, ftime.3, fts.3, ftw.3, futimes.3, gamma.3, gcvt.3, get_nprocs_conf.3, get_phys_pages.3, getaddrinfo.3, getaddrinfo_a.3, getauxval.3, getcontext.3, getcwd.3, getdate.3, getentropy.3, getenv.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getifaddrs.3, getipnodebyname.3, getline.3, getlogin.3, getmntent.3, getnameinfo.3, getnetent.3, getnetent_r.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getrpcent_r.3, getrpcport.3, gets.3, getservent.3, getservent_r.3, getspnam.3, getsubopt.3, getttyent.3, getumask.3, getutent.3, getwchar.3, glob.3, gnu_get_libc_version.3, grantpt.3, gsignal.3, hash.3, hsearch.3, hypot.3, iconv.3, iconv_close.3, iconv_open.3, if_nameindex.3, if_nametoindex.3, ilogb.3, inet.3, inet_net_pton.3, inet_ntop.3, inet_pton.3, initgroups.3, insque.3, intro.3, isalpha.3, isgreater.3, j0.3, key_setsecret.3, killpg.3, ldexp.3, lgamma.3, lio_listio.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, login.3, lrint.3, lround.3, lsearch.3, lseek64.3, makecontext.3, makedev.3, mallinfo.3, malloc.3, malloc_get_state.3, malloc_info.3, malloc_stats.3, malloc_trim.3, malloc_usable_size.3, mallopt.3, matherr.3, mbsnrtowcs.3, mbsrtowcs.3, mbstowcs.3, mcheck.3, memccpy.3, memchr.3, memcmp.3, memcpy.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mpool.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_open.3, mq_receive.3, mq_send.3, mtrace.3, newlocale.3, nextafter.3, nextup.3, nl_langinfo.3, ntp_gettime.3, offsetof.3, on_exit.3, open_memstream.3, opendir.3, openpty.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, pow10.3, printf.3, profil.3, program_invocation_name.3, psignal.3, pthread_atfork.3, pthread_attr_init.3, pthread_attr_setaffinity_np.3, pthread_attr_setdetachstate.3, pthread_attr_setguardsize.3, pthread_attr_setinheritsched.3, pthread_attr_setschedparam.3, pthread_attr_setschedpolicy.3, pthread_attr_setscope.3, pthread_attr_setstack.3, pthread_attr_setstackaddr.3, pthread_attr_setstacksize.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_detach.3, pthread_exit.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_join.3, pthread_kill.3, pthread_kill_other_threads_np.3, pthread_self.3, pthread_setaffinity_np.3, pthread_setcancelstate.3, pthread_setconcurrency.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, pthread_sigqueue.3, pthread_testcancel.3, pthread_tryjoin_np.3, ptsname.3, putgrent.3, putpwent.3, qsort.3, random.3, random_r.3, rcmd.3, re_comp.3, readdir.3, realpath.3, recno.3, regex.3, remainder.3, remove.3, remquo.3, resolver.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, rtime.3, scalb.3, scalbln.3, scandir.3, scanf.3, sched_getcpu.3, sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3, sem_wait.3, setaliasent.3, setbuf.3, setenv.3, setlocale.3, setlogmask.3, setnetgrent.3, shm_open.3, signbit.3, significand.3, sigpause.3, sigqueue.3, sigset.3, sigvec.3, sin.3, sincos.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stdarg.3, stdin.3, strcasecmp.3, strcat.3, strchr.3, strcoll.3, strcpy.3, strdup.3, strerror.3, strfmon.3, strfromd.3, strftime.3, strptime.3, strsignal.3, strstr.3, strtod.3, strtok.3, strtol.3, strtoul.3, strverscmp.3, syslog.3, system.3, sysv_signal.3, tan.3, tanh.3, telldir.3, tempnam.3, termios.3, tgamma.3, timeradd.3, tmpnam.3, toupper.3, towlower.3, towupper.3, trunc.3, ttyslot.3, tzset.3, ualarm.3, ulimit.3, undocumented.3, unlocked_stdio.3, updwtmp.3, uselocale.3, usleep.3, wcrtomb.3, wcsdup.3, wcsnrtombs.3, wcsrtombs.3, wcstombs.3, wctob.3, wcwidth.3, wordexp.3, wprintf.3, xcrypt.3, xdr.3, y0.3, cciss.4, console_codes.4, dsp56k.4, fuse.4, hd.4, hpsa.4, initrd.4, intro.4, loop.4, random.4, rtc.4, sd.4, sk98lin.4, st.4, wavelan.4, acct.5, core.5, elf.5, filesystems.5, host.conf.5, hosts.5, locale.5, nologin.5, proc.5, resolv.conf.5, rpc.5, slabinfo.5, utmp.5, aio.7, arp.7, bootparam.7, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, cpuset.7, ddp.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, futex.7, inode.7, inotify.7, ip.7, ipv6.7, keyrings.7, locale.7, man-pages.7, man.7, math_error.7, mount_namespaces.7, mq_overview.7, namespaces.7, netdevice.7, netlink.7, packet.7, pipe.7, pkeys.7, pthreads.7, pty.7, raw.7, rtld-audit.7, rtnetlink.7, sched.7, session-keyring.7, signal.7, sock_diag.7, socket.7, spufs.7, suffixes.7, tcp.7, udp.7, udplite.7, unicode.7, units.7, unix.7, uri.7, user_namespaces.7, vdso.7, x25.7, xattr.7, iconvconfig.8, ld.so.8, ldconfig.8, sln.8: Update timestamps Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-19execve.2, ioctl_console.2, ioctl_iflags.2, ioctl_ns.2, ioctl_userfaultfd.2, ↵Michael Kerrisk1-4/+4
kcmp.2, kexec_load.2, keyctl.2, link.2, listxattr.2, membarrier.2, memfd_create.2, mmap.2, modify_ldt.2, mprotect.2, msgctl.2, nanosleep.2, open_by_handle_at.2, perf_event_open.2, poll.2, posix_fadvise.2, process_vm_readv.2, ptrace.2, query_module.2, quotactl.2, readdir.2, readv.2, recv.2, recvmmsg.2, request_key.2, sched_rr_get_interval.2, sched_setaffinity.2, sched_setattr.2, sched_setscheduler.2, seccomp.2, select.2, select_tut.2, semctl.2, semop.2, send.2, sendmmsg.2, set_thread_area.2, setns.2, shmctl.2, shmget.2, sigaction.2, sigaltstack.2, signal.2, sigwaitinfo.2, stat.2, statfs.2, statx.2, sync_file_range.2, syscall.2, sysctl.2, sysinfo.2, tee.2, timer_create.2, timer_settime.2, timerfd_create.2, unshare.2, userfaultfd.2, ustat.2, utime.2, utimensat.2, vmsplice.2, wait.2, adjtime.3, aio_init.3, backtrace.3, basename.3, bswap.3, btree.3, clock_getcpuclockid.3, cmsg.3, confstr.3, dbopen.3, dl_iterate_phdr.3, dladdr.3, dlinfo.3, dlopen.3, duplocale.3, encrypt.3, end.3, endian.3, err.3, errno.3, ether_aton.3, fgetgrent.3, fgetpwent.3, fmemopen.3, frexp.3, ftime.3, fts.3, getaddrinfo.3, getaddrinfo_a.3, getdate.3, getfsent.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, getifaddrs.3, getipnodebyname.3, getmntent.3, getnameinfo.3, getnetent.3, getopt.3, getprotoent.3, getprotoent_r.3, getpw.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent.3, getservent.3, getservent_r.3, getspnam.3, getttyent.3, glob.3, gnu_get_libc_version.3, hash.3, hsearch.3, if_nameindex.3, inet.3, inet_net_pton.3, inet_pton.3, insque.3, isalpha.3, makecontext.3, mallinfo.3, malloc_info.3, mallopt.3, matherr.3, mbstowcs.3, mcheck.3, memchr.3, mq_getattr.3, mq_open.3, mq_receive.3, mq_send.3, mtrace.3, newlocale.3, ntp_gettime.3, posix_openpt.3, printf.3, pthread_attr_init.3, pthread_attr_setschedparam.3, pthread_cancel.3, pthread_cleanup_push.3, pthread_cleanup_push_defer_np.3, pthread_create.3, pthread_getattr_default_np.3, pthread_getattr_np.3, pthread_getcpuclockid.3, pthread_setname_np.3, pthread_setschedparam.3, pthread_sigmask.3, pthread_tryjoin_np.3, readdir.3, realpath.3, recno.3, regex.3, rpc.3, scanf.3, sched_getcpu.3, sem_wait.3, setaliasent.3, sigqueue.3, statvfs.3, strcat.3, strcpy.3, strftime.3, strtok.3, strtol.3, strverscmp.3, toupper.3, ttyslot.3, xdr.3, fuse.4, loop.4, rtc.4, st.4, acct.5, core.5, elf.5, slabinfo.5, aio.7, arp.7, capabilities.7, cgroup_namespaces.7, cgroups.7, ddp.7, fanotify.7, feature_test_macros.7, inode.7, inotify.7, ip.7, keyrings.7, locale.7, mount_namespaces.7, namespaces.7, netdevice.7, netlink.7, packet.7, pkeys.7, pthreads.7, sched.7, session-keyring.7, sock_diag.7, socket.7, spufs.7, udplite.7, unix.7, user_namespaces.7, vdso.7, x25.7, ld.so.8: Use consistent markup for code snippets Change .nf/.fi to .EX/.EE Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-12capabilities.7: ffixMichael Kerrisk1-26/+26
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-08-12capabilities.7: srcfix: remove excess .RE tagMichael Kerrisk1-1/+0
Reported-by: Sam Varshavchik <mrsam@courier-mta.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-07-18capabilities.7: Note that a set-UID-root program may have an empty file ↵Michael Kerrisk1-0/+5
capabilite set Reported-by: Dennis Knorr <dennis.knorr@muenchen.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-07-18capabilities.7: Note semantics for a program that is set-UID-root and has ↵Michael Kerrisk1-0/+9
capabilities Note semantics for a program that is both set-user-ID-root and has file capabilities. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-07-13Changes, ldd.1, chown.2, epoll_wait.2, get_mempolicy.2, ioctl_getfsmap.2, ↵Michael Kerrisk1-1/+1
madvise.2, membarrier.2, mount.2, pipe.2, readv.2, seccomp.2, sigaltstack.2, splice.2, tee.2, timer_create.2, vmsplice.2, acosh.3, asinh.3, atanh.3, bsd_signal.3, dl_iterate_phdr.3, dlsym.3, flockfile.3, fpathconf.3, ftw.3, getaddrinfo.3, getcontext.3, getgrent.3, if_nametoindex.3, malloc.3, nl_langinfo.3, posix_madvise.3, ptsname.3, rand.3, resolver.3, sigpause.3, sigwait.3, strtol.3, sysconf.3, ttyslot.3, unlocked_stdio.3, unlockpt.3, capabilities.7, cgroup_namespaces.7, inode.7, man.7, pipe.7, sigevent.7: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-07-05capabilities.7: Fix reversed descriptions of CAP_MAC_OVERRIDE and CAP_MAC_ADMINMichael Kerrisk1-2/+2
Reported-by: David Lewis <davlewi3@cisco.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-05-08capabilities.7: SEE ALSO: add filecap(8), netcap(8), pscap(8)Michael Kerrisk1-0/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-05-04capabilities.7: Clarify the effect on process capabilities when UID 0 does ↵Michael Kerrisk1-6/+14
execve(2) Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-05-04capabilities.7: Note effect on capabilities when a process with UID != 0 ↵Michael Kerrisk1-0/+12
does execve(2) Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-05-04capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-30futex.2, open_by_handle_at.2, seccomp.2, socket.2, console_codes.4, ↵Jakub Wilk1-1/+1
protocols.5, aio.7, capabilities.7, libc.7, netlink.7, raw.7, standards.7, unicode.7, uri.7, vdso.7: tfix Escape hyphens in URLs. Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-26capabilities.7: Further enhance the recommendation against new uses of ↵Michael Kerrisk1-2/+6
CAP_SYS_ADMIN Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-26capabilities.7: Explicitly point from CAP_SYS_ADMIN to "Notes for kernel ↵Michael Kerrisk1-0/+5
developers" Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-25capabilities.7: Improvements after feedback from Casey SchauflerMichael Kerrisk1-7/+13
Reported-by: Casey Schaufler <casey@schaufler-ca.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-25capabilities.7: Add subsection with notes to kernel developersMichael Kerrisk1-0/+42
Provide some notes to kernel developers considering how to choose which capability should govern a new kernel feature. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-25capabilities.7: Adjust references to chattr(1) to point to ioctl_iflags(2)Michael Kerrisk1-3/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-01-25capabilities.7: srcfixMichael Kerrisk1-1/+0
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-16capabilities.7: Document a new use of CAP_SYS_RESOURCEMichael Kerrisk1-0/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-16capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-16capabilities.7: Add another case for CAP_DAC_READ_SEARCHMichael Kerrisk1-1/+6
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-15capabilities.7: Add some more operations governed by CAP_SYS_ADMINMichael Kerrisk1-1/+13
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-15capabilities.7: Add a few more operations covered by CAP_SYS_ADMINMichael Kerrisk1-0/+8
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-15capabilities.7: Refer to execve(2) for the reasons that file capabilities ↵Michael Kerrisk1-8/+7
may be ignored Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-15capabilities.7: ffixMichael Kerrisk1-4/+4
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-12-12bind.2, chmod.2, chown.2, chroot.2, clock_getres.2, clone.2, connect.2, ↵Michael Kerrisk1-1/+1
dup.2, fallocate.2, get_mempolicy.2, getpeername.2, getpriority.2, getsockname.2, getsockopt.2, gettimeofday.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, kill.2, mbind.2, mmap.2, mount.2, mprotect.2, nfsservctl.2, nice.2, open.2, perf_event_open.2, pipe.2, pkey_alloc.2, prctl.2, ptrace.2, quotactl.2, remap_file_pages.2, sched_setscheduler.2, set_mempolicy.2, signal.2, signalfd.2, swapon.2, sync_file_range.2, syscalls.2, timer_create.2, timerfd_create.2, utime.2, utimensat.2, wait.2, atof.3, ctime.3, errno.3, fclose.3, fflush.3, insque.3, malloc_get_state.3, mallopt.3, mbsnrtowcs.3, mq_close.3, mq_open.3, mq_receive.3, mq_send.3, printf.3, pthread_attr_init.3, pthread_create.3, pthread_setaffinity_np.3, ptsname.3, remainder.3, strtod.3, tgamma.3, timegm.3, tmpnam.3, ttyname.3, console_ioctl.4, elf.5, filesystems.5, proc.5, utmp.5, capabilities.7, cgroups.7, credentials.7, ddp.7, feature_test_macros.7, fifo.7, inotify.7, libc.7, mount_namespaces.7, namespaces.7, netlink.7, pid_namespaces.7, pkeys.7, shm_overview.7, standards.7, uri.7, user_namespaces.7: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-09capabilities.7: CAP_SYS_ADMIN allows privileged ioctl() operations on ↵Michael Kerrisk1-0/+7
/dev/random Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-11-08capabilities.7: CAP_SYS_ADMIN governs ptrace(2) PTRACE_SECCOMP_GET_FILTERMichael Kerrisk1-0/+5
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-10-29capabilities.7: srcfix: FIXME tidy-upMichael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-10-19capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-10-18capabilities.7: tfix + wfixMichael Kerrisk1-4/+30
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-10-18capabilities.7: ffixMichael Kerrisk1-2/+2
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-10-07getrusage.2, madvise.2, memfd_create.2, mlock.2, mount.2, getauxval.3, ↵Michael Kerrisk1-3/+3
core.5, capabilities.7, pid_namespaces.7, symlink.7, user_namespaces.7: Consistently use /proc/[pid] (not /proc/PID) Reported-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-09-20capabilities.7: SEE ALSO: add proc(5)Michael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-08-20capabilities.7: Minor tweaks to Matthew Saunders' patchMichael Kerrisk1-5/+7
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-08-20capabilities.7: Add note about nosuid to file capabilities sectionMichael Kerrisk1-0/+7
2016-08-08capabilities.7: Fix order of SEE ALSO entriesMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-07-17ldd.1, localedef.1, add_key.2, chroot.2, clone.2, fork.2, futex.2, ↵Michael Kerrisk1-1/+1
get_mempolicy.2, get_robust_list.2, getitimer.2, getpriority.2, ioctl.2, ioctl_ficlonerange.2, ioctl_fideduperange.2, kcmp.2, kill.2, lookup_dcookie.2, mmap.2, mount.2, open.2, pciconfig_read.2, perf_event_open.2, prctl.2, process_vm_readv.2, ptrace.2, quotactl.2, recv.2, setfsgid.2, setfsuid.2, sysinfo.2, umask.2, umount.2, unshare.2, utimensat.2, wait.2, assert.3, fmax.3, fmin.3, getauxval.3, inet_pton.3, malloc_hook.3, memmem.3, mkdtemp.3, mktemp.3, printf.3, strcasecmp.3, strcat.3, strtoul.3, strxfrm.3, console_codes.4, console_ioctl.4, lirc.4, tty.4, vcs.4, charmap.5, elf.5, locale.5, proc.5, repertoiremap.5, utmp.5, capabilities.7, cgroup_namespaces.7, cgroups.7, charsets.7, cp1251.7, cp1252.7, credentials.7, feature_test_macros.7, iso_8859-1.7, iso_8859-15.7, iso_8859-5.7, koi8-r.7, koi8-u.7, man-pages.7, mount_namespaces.7, namespaces.7, netlink.7, pid_namespaces.7, unix.7, user_namespaces.7, utf-8.7: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-07-07capabilities.7: Note on SECURE_NO_CAP_AMBIENT_RAISE for capabilities-only ↵Michael Kerrisk1-0/+2
environment A few months after applying Andy Lutomirski's patch that documented ambient capabilities, I found myself again asking a question that I'd already once asked of Any. So, best to be more explicit in the man page that setting/locking SECBIT_NO_CAP_AMBIENT_RAISE is not required when using prctl(PR_SET_SECUREBITS) to create a capabilities-only environment. This was the 4 Dec 2015 reply from Andy to my question: > In the capabilities(7) page tehre is the longstanding text: > > An application can use the following call to lock itself, and > all of its descendants, into an environment where the only way > of gaining capabilities is by executing a program with associ‐ > ated file capabilities: > > prctl(PR_SET_SECUREBITS, > SECBIT_KEEP_CAPS_LOCKED | > SECBIT_NO_SETUID_FIXUP | > SECBIT_NO_SETUID_FIXUP_LOCKED | > SECBIT_NOROOT | > SECBIT_NOROOT_LOCKED); > > As far as I can estimate, no changes are needed here to include > SECBIT_NO_CAP_AMBIENT_RAISE and SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED > in the above prctl() call, but could you confirm please? Correct. I'll probably write up a patch to suggest that doing this is a poor idea on a conventional distro, though, and I'll explain why. I suppose than deleting this would be an option, too. Reported-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-07-07capabilities.7: Add a detail on use of securebitsMichael Kerrisk1-0/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-15Removed trailing white space at end of linesMichael Kerrisk1-1/+1
2016-03-15locale.1, localedef.1, _exit.2, accept.2, access.2, acct.2, adjtimex.2, ↵Michael Kerrisk1-1/+1
bdflush.2, bind.2, bpf.2, brk.2, chdir.2, chmod.2, chown.2, chroot.2, clock_nanosleep.2, clone.2, close.2, connect.2, copy_file_range.2, create_module.2, delete_module.2, dup.2, epoll_ctl.2, eventfd.2, execve.2, fallocate.2, fanotify_init.2, fcntl.2, flock.2, fork.2, fsync.2, futex.2, get_kernel_syms.2, getdomainname.2, getgroups.2, gethostname.2, getpagesize.2, getpeername.2, getsid.2, getsockname.2, getsockopt.2, gettimeofday.2, init_module.2, ioctl.2, ioctl_list.2, ioperm.2, iopl.2, kexec_load.2, kill.2, killpg.2, link.2, listen.2, llseek.2, lseek.2, madvise.2, memfd_create.2, mincore.2, mkdir.2, mknod.2, mmap.2, mount.2, nanosleep.2, nice.2, open.2, personality.2, pipe.2, poll.2, posix_fadvise.2, read.2, readahead.2, readlink.2, readv.2, recv.2, recvmmsg.2, rename.2, request_key.2, sched_setaffinity.2, sched_setattr.2, select.2, select_tut.2, semctl.2, semop.2, send.2, sendfile.2, sendmmsg.2, seteuid.2, setns.2, setpgid.2, setreuid.2, shutdown.2, sigaction.2, sigaltstack.2, signal.2, signalfd.2, sigpending.2, sigprocmask.2, sigsuspend.2, socketpair.2, splice.2, stat.2, statfs.2, stime.2, symlink.2, sync.2, syscall.2, syscalls.2, times.2, truncate.2, unlink.2, unshare.2, uselib.2, utimensat.2, vfork.2, vhangup.2, wait.2, wait4.2, write.2, a64l.3, abs.3, acos.3, acosh.3, addseverity.3, adjtime.3, aio_read.3, aio_write.3, asin.3, asinh.3, atan.3, atan2.3, atanh.3, atoi.3, backtrace.3, cbrt.3, ceil.3, cfree.3, clearenv.3, clock_getcpuclockid.3, clog10.3, cmsg.3, copysign.3, cos.3, cosh.3, ctermid.3, ctime.3, daemon.3, dirfd.3, div.3, dl_iterate_phdr.3, drand48.3, drand48_r.3, dysize.3, ecvt.3, ecvt_r.3, endian.3, erf.3, erfc.3, errno.3, exec.3, exp.3, exp2.3, expm1.3, fabs.3, fdim.3, ferror.3, fexecve.3, ffs.3, fgetgrent.3, fgetpwent.3, finite.3, flockfile.3, floor.3, fma.3, fmax.3, fmin.3, fmod.3, fopen.3, fpclassify.3, frexp.3, fseeko.3, fts.3, futimes.3, fwide.3, gamma.3, gcvt.3, getaddrinfo.3, getcwd.3, getdate.3, getdirentries.3, getdtablesize.3, getgrent.3, getgrent_r.3, getgrnam.3, getgrouplist.3, gethostbyname.3, gethostid.3, getline.3, getloadavg.3, getmntent.3, getnameinfo.3, getnetent_r.3, getpass.3, getprotoent_r.3, getpwent.3, getpwent_r.3, getpwnam.3, getrpcent_r.3, getservent_r.3, getspnam.3, getsubopt.3, getusershell.3, getutent.3, getw.3, gsignal.3, hypot.3, ilogb.3, inet.3, initgroups.3, insque.3, isalpha.3, isgreater.3, iswblank.3, j0.3, ldexp.3, lgamma.3, lio_listio.3, lockf.3, log.3, log10.3, log1p.3, log2.3, logb.3, lrint.3, lround.3, makedev.3, matherr.3, mbsnrtowcs.3, mkdtemp.3, mkfifo.3, mkstemp.3, mktemp.3, modf.3, mq_close.3, mq_getattr.3, mq_notify.3, mq_receive.3, mq_send.3, nan.3, nextafter.3, on_exit.3, open_memstream.3, opendir.3, perror.3, popen.3, posix_fallocate.3, posix_madvise.3, posix_memalign.3, posix_openpt.3, posix_spawn.3, pow.3, printf.3, profil.3, psignal.3, pthread_attr_setstack.3, pthread_setaffinity_np.3, putenv.3, putpwent.3, qecvt.3, rand.3, random.3, random_r.3, rcmd.3, readdir.3, realpath.3, remainder.3, remquo.3, rexec.3, rint.3, round.3, rpc.3, rpmatch.3, scalb.3, scalbln.3, scandir.3, scanf.3, seekdir.3, sem_wait.3, setbuf.3, setenv.3, setjmp.3, setnetgrent.3, siginterrupt.3, signbit.3, significand.3, sigset.3, sigsetops.3, sigvec.3, sigwait.3, sin.3, sinh.3, sleep.3, sockatmark.3, sqrt.3, statvfs.3, stpcpy.3, stpncpy.3, strdup.3, strerror.3, strftime.3, strlen.3, strnlen.3, strsep.3, strsignal.3, strtod.3, strtok.3, strtol.3, strtoul.3, syslog.3, system.3, tan.3, tanh.3, telldir.3, tempnam.3, termios.3, tgamma.3, timegm.3, timeradd.3, tmpfile.3, tmpnam.3, toascii.3, trunc.3, ttyslot.3, tzset.3, ualarm.3, unlocked_stdio.3, usleep.3, wcpcpy.3, wcpncpy.3, wcscasecmp.3, wcsdup.3, wcsncasecmp.3, wcsnlen.3, wcsnrtombs.3, wprintf.3, y0.3, pts.4, st.4, tty_ioctl.4, elf.5, gai.conf.5, group.5, locale.5, nsswitch.conf.5, proc.5, utmp.5, aio.7, capabilities.7, credentials.7, environ.7, epoll.7, fanotify.7, feature_test_macros.7, inotify.7, ip.7, mq_overview.7, namespaces.7, pipe.7, signal.7, socket.7, standards.7, svipc.7, symlink.7, time.7, unicode.7, unix.7: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-10capabilities.7: wfixMichael Kerrisk1-1/+1
Reported-by: Krzysztof Adamski <k@japko.eu> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-10capabilities.7: Explain safety check for capability-dumb binariesMichael Kerrisk1-0/+36
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-10capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-03-09capabilities.7: wfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-02-29capabilities.7: spfixJakub Wilk1-1/+1
Fix capitalization in the reference to section "Effect of user ID changes on capabilities". Capitalization of the section name was changed in c634028ab5768a042196fd71a38088499b21de12, but the reference remained unchanged. Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-02-28capabilities.7: tfixJakub Wilk1-1/+1
Signed-off-by: Jakub Wilk <jwilk@jwilk.net> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-02-26capabilities.7: tfixMichael Kerrisk1-1/+1
Reported-by: Marianne CHEVROT <blackmoor@openmailbox.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-02-03membarrier.2, crypt.3, dladdr.3, duplocale.3, fmemopen.3, gethostbyname.3, ↵Michael Kerrisk1-1/+0
mallopt.3, newlocale.3, resolver.3, sigsetops.3, strfmon.3, tzset.3, console_ioctl.4, lirc.4, loop.4, vcs.4, dir_colors.5, locale.5, proc.5, tzfile.5, attributes.7, bootparam.7, capabilities.7, feature_test_macros.7, icmp.7, man-pages.7, netlink.7, path_resolution.7, pipe.7, socket.7, unix.7, vdso.7: ffix Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-05mremap.2, open.2, perf_event_open.2, prctl.2, ptrace.2, reboot.2, seccomp.2, ↵Michael Kerrisk1-1/+1
signalfd.2, syscalls.2, __ppc_set_ppr_med.3, daemon.3, dirfd.3, fgetgrent.3, fgetpwent.3, getauxval.3, getspnam.3, mallinfo.3, mallopt.3, posix_fallocate.3, termios.3, tty_ioctl.4, core.5, nsswitch.conf.5, proc.5, aio.7, capabilities.7, path_resolution.7, pipe.7, rtld-audit.7, signal.7, tcp.7: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04capabilities.7: Various additions and reworkings for ambient capability textMichael Kerrisk1-11/+20
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04capabilities.7: srcfixMichael Kerrisk1-8/+10
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-04capabilities.7: Document ambient capabilitiesAndy Lutomirski1-6/+34
Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-07-23capabilities.7: CAP_SYS_ADMIN allows calling bpf(2)Michael Kerrisk1-0/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-05-07add_key.2, chown.2, epoll_ctl.2, epoll_wait.2, execve.2, fcntl.2, ↵Michael Kerrisk1-1/+1
get_mempolicy.2, getxattr.2, ioctl.2, keyctl.2, listxattr.2, mkdir.2, mknod.2, mmap.2, msync.2, nfsservctl.2, open.2, prctl.2, removexattr.2, request_key.2, sendfile.2, set_mempolicy.2, setxattr.2, shmget.2, shutdown.2, sigaction.2, syslog.2, truncate.2, umask.2, CPU_SET.3, atexit.3, bsearch.3, cmsg.3, err.3, gethostid.3, getmntent.3, getopt.3, iconv_close.3, inet_ntop.3, longjmp.3, lsearch.3, mcheck.3, on_exit.3, putpwent.3, regex.3, resolver.3, setbuf.3, setjmp.3, setlocale.3, setlogmask.3, sleep.3, strsignal.3, sysconf.3, undocumented.3, tty_ioctl.4, proc.5, resolv.conf.5, tzfile.5, aio.7, bootparam.7, capabilities.7, fanotify.7, inotify.7, ip.7, packet.7, pthreads.7, raw.7, signal.7, socket.7, unix.7, ld.so.8, nscd.8: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-04-22getxattr.2, listxattr.2, removexattr.2, setxattr.2, capabilities.7: Adjust ↵Michael Kerrisk1-1/+1
"attr(5)" references to "xattr(7)" Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-04-21chown.2, execve.2, prctl.2, truncate.2, proc.5, capabilities.7, ld.so.8: ↵Michael Kerrisk1-1/+1
Tighter wording: 'mode bit' rather than 'permission bit' For sticky, set-UID, and set-GID mode bits (as used in POSIX). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-03-22capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-03-22capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-03-22capabilities.7: tfixMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-02-21capabilities.7: Mention SECBIT_KEEP_CAPS as an alternative to prctl() ↵Michael Kerrisk1-1/+3
PR_SET_KEEPCAPS Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-02-21capabilities.7: srcfixMichael Kerrisk1-1/+3
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-02-21capabilities.7: Minor tweaksMichael Kerrisk1-1/+4
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-02-21capabilities.7: NOTES: add last kernel versions for obsolete optionsChris Mayo1-2/+2
The CONFIG_SECURITY_CAPABILITIES option was removed by commit 5915eb53861c5776cfec33ca4fcc1fd20d66dd27 The CONFIG_SECURITY_FILE_CAPABILITIES option removed in Linux 2.6.33 as already mentioned in DESCRIPTION. Signed-off-by: Chris Mayo <aklhfex@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-02-01kexec_load.2, personality.2, prctl.2, reboot.2, socket.2, fflush.3, ↵Michael Kerrisk1-1/+1
getopt.3, random.3, termios.3, random.4, passwd.5, capabilities.7, signal.7: tstamp Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-02-01capabilities.7: SEE ALSO: add setpriv(1)Michael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-01-16capabilities.7: Minor improvement of detailMichael Kerrisk1-1/+1
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-01-16capabilities.7: tfixMichael Kerrisk1-1/+1
Reported-by: Christian Seiler <christian@iwakd.de> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>