diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /templates/man2/execve.2.pot | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'templates/man2/execve.2.pot')
-rw-r--r-- | templates/man2/execve.2.pot | 1637 |
1 files changed, 1637 insertions, 0 deletions
diff --git a/templates/man2/execve.2.pot b/templates/man2/execve.2.pot new file mode 100644 index 00000000..997813e9 --- /dev/null +++ b/templates/man2/execve.2.pot @@ -0,0 +1,1637 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 16:55+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "execve" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-11-01" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "execve - execute program" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>unistd.hE<gt>>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"B<int execve(const char *>I<pathname>B<, char *const _Nullable >I<argv>B<[],>\n" +"B< char *const _Nullable >I<envp>B<[]);>\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<execve>() executes the program referred to by I<pathname>. This causes " +"the program that is currently being run by the calling process to be " +"replaced with a new program, with newly initialized stack, heap, and " +"(initialized and uninitialized) data segments." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> must be either a binary executable, or a script starting with a " +"line of the form:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#!>I<interpreter >[optional-arg]\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "For details of the latter case, see \"Interpreter scripts\" below." +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"I<argv> is an array of pointers to strings passed to the new program as its " +"command-line arguments. By convention, the first of these strings (i.e., " +"I<argv[0]>) should contain the filename associated with the file being " +"executed. The I<argv> array must be terminated by a null pointer. (Thus, " +"in the new program, I<argv[argc]> will be a null pointer.)" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"I<envp> is an array of pointers to strings, conventionally of the form " +"B<key=value>, which are passed as the environment of the new program. The " +"I<envp> array must be terminated by a null pointer." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This manual page describes the Linux system call in detail; for an overview " +"of the nomenclature and the many, often preferable, standardised variants of " +"this function provided by libc, including ones that search the B<PATH> " +"environment variable, see B<exec>(3)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The argument vector and environment can be accessed by the new program's " +"main function, when it is defined as:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "int main(int argc, char *argv[], char *envp[])\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note, however, that the use of a third argument to the main function is not " +"specified in POSIX.1; according to POSIX.1, the environment should be " +"accessed via the external variable B<environ>(7)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<execve>() does not return on success, and the text, initialized data, " +"uninitialized data (bss), and stack of the calling process are overwritten " +"according to the contents of the newly loaded program." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the current program is being ptraced, a B<SIGTRAP> signal is sent to it " +"after a successful B<execve>()." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the set-user-ID bit is set on the program file referred to by " +"I<pathname>, then the effective user ID of the calling process is changed to " +"that of the owner of the program file. Similarly, if the set-group-ID bit " +"is set on the program file, then the effective group ID of the calling " +"process is set to the group of the program file." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The aforementioned transformations of the effective IDs are I<not> performed " +"(i.e., the set-user-ID and set-group-ID bits are ignored) if any of the " +"following is true:" +msgstr "" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the I<no_new_privs> attribute is set for the calling thread (see " +"B<prctl>(2));" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the underlying filesystem is mounted I<nosuid> (the B<MS_NOSUID> flag for " +"B<mount>(2)); or" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "the calling process is being ptraced." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The capabilities of the program file (see B<capabilities>(7)) are also " +"ignored if any of the above are true." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The effective user ID of the process is copied to the saved set-user-ID; " +"similarly, the effective group ID is copied to the saved set-group-ID. This " +"copying takes place after any effective ID changes that occur because of the " +"set-user-ID and set-group-ID mode bits." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process's real UID and real GID, as well as its supplementary group IDs, " +"are unchanged by a call to B<execve>()." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the executable is an a.out dynamically linked binary executable " +"containing shared-library stubs, the Linux dynamic linker B<ld.so>(8) is " +"called at the start of execution to bring needed shared objects into memory " +"and link the executable with them." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the executable is a dynamically linked ELF executable, the interpreter " +"named in the PT_INTERP segment is used to load the needed shared objects. " +"This interpreter is typically I</lib/ld-linux.so.2> for binaries linked with " +"glibc (see B<ld-linux.so>(8))." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Effect on process attributes" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All process attributes are preserved during an B<execve>(), except the " +"following:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The dispositions of any signals that are being caught are reset to the " +"default (B<signal>(7))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Any alternate signal stack is not preserved (B<sigaltstack>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Memory mappings are not preserved (B<mmap>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Attached System\\ V shared memory segments are detached (B<shmat>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX shared memory regions are unmapped (B<shm_open>(3))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Open POSIX message queue descriptors are closed (B<mq_overview>(7))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Any open POSIX named semaphores are closed (B<sem_overview>(7))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX timers are not preserved (B<timer_create>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Any open directory streams are closed (B<opendir>(3))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Memory locks are not preserved (B<mlock>(2), B<mlockall>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Exit handlers are not preserved (B<atexit>(3), B<on_exit>(3))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The floating-point environment is reset to the default (see B<fenv>(3))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process attributes in the preceding list are all specified in POSIX.1. " +"The following Linux-specific process attributes are also not preserved " +"during an B<execve>():" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process's \"dumpable\" attribute is set to the value 1, unless a set-" +"user-ID program, a set-group-ID program, or a program with capabilities is " +"being executed, in which case the dumpable flag may instead be reset to the " +"value in I</proc/sys/fs/suid_dumpable>, in the circumstances described under " +"B<PR_SET_DUMPABLE> in B<prctl>(2). Note that changes to the \"dumpable\" " +"attribute may cause ownership of files in the process's I</proc/>pid " +"directory to change to I<root:root>, as described in B<proc>(5)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The B<prctl>(2) B<PR_SET_KEEPCAPS> flag is cleared." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(Since Linux 2.4.36 / 2.6.23) If a set-user-ID or set-group-ID program is " +"being executed, then the parent death signal set by B<prctl>(2) " +"B<PR_SET_PDEATHSIG> flag is cleared." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process name, as set by B<prctl>(2) B<PR_SET_NAME> (and displayed by " +"I<ps\\ -o comm>), is reset to the name of the new executable file." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<SECBIT_KEEP_CAPS> I<securebits> flag is cleared. See " +"B<capabilities>(7)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The termination signal is reset to B<SIGCHLD> (see B<clone>(2))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file descriptor table is unshared, undoing the effect of the " +"B<CLONE_FILES> flag of B<clone>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Note the following further points:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"All threads other than the calling thread are destroyed during an " +"B<execve>(). Mutexes, condition variables, and other pthreads objects are " +"not preserved." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The equivalent of I<setlocale(LC_ALL, \"C\")> is executed at program start-" +"up." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1 specifies that the dispositions of any signals that are ignored or " +"set to the default are left unchanged. POSIX.1 specifies one exception: if " +"B<SIGCHLD> is being ignored, then an implementation may leave the " +"disposition unchanged or reset it to the default; Linux does the former." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Any outstanding asynchronous I/O operations are canceled (B<aio_read>(3), " +"B<aio_write>(3))." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For the handling of capabilities during B<execve>(), see B<capabilities>(7)." +msgstr "" + +#. On Linux it appears that these file descriptors are +#. always open after an execve(), and it looks like +#. Solaris 8 and FreeBSD 6.1 are the same. -- mtk, 30 Apr 2007 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"By default, file descriptors remain open across an B<execve>(). File " +"descriptors that are marked close-on-exec are closed; see the description of " +"B<FD_CLOEXEC> in B<fcntl>(2). (If a file descriptor is closed, this will " +"cause the release of all record locks obtained on the underlying file by " +"this process. See B<fcntl>(2) for details.) POSIX.1 says that if file " +"descriptors 0, 1, and 2 would otherwise be closed after a successful " +"B<execve>(), and the process would gain privilege because the set-user-ID or " +"set-group-ID mode bit was set on the executed file, then the system may open " +"an unspecified file for each of these file descriptors. As a general " +"principle, no portable program, whether privileged or not, can assume that " +"these three file descriptors will remain closed across an B<execve>()." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Interpreter scripts" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An interpreter script is a text file that has execute permission enabled and " +"whose first line is of the form:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<interpreter> must be a valid pathname for an executable file." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the I<pathname> argument of B<execve>() specifies an interpreter script, " +"then I<interpreter> will be invoked with the following arguments:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "I<interpreter> [optional-arg] I<pathname> arg...\n" +msgstr "" + +#. See the P - preserve-argv[0] option. +#. Documentation/admin-guide/binfmt-misc.rst +#. https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"where I<pathname> is the pathname of the file specified as the first " +"argument of B<execve>(), and I<arg...> is the series of words pointed to by " +"the I<argv> argument of B<execve>(), starting at I<argv[1]>. Note that " +"there is no way to get the I<argv[0]> that was passed to the B<execve>() " +"call." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For portable use, I<optional-arg> should either be absent, or be specified " +"as a single word (i.e., it should not contain white space); see NOTES below." +msgstr "" + +#. commit bf2a9a39639b8b51377905397a5005f444e9a892 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 2.6.28, the kernel permits the interpreter of a script to itself " +"be a script. This permission is recursive, up to a limit of four " +"recursions, so that the interpreter may be a script which is interpreted by " +"a script, and so on." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Limits on size of arguments and environment" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Most UNIX implementations impose some limit on the total size of the command-" +"line argument (I<argv>) and environment (I<envp>) strings that may be " +"passed to a new program. POSIX.1 allows an implementation to advertise this " +"limit using the B<ARG_MAX> constant (either defined in I<E<lt>limits.hE<gt>> " +"or available at run time using the call I<sysconf(_SC_ARG_MAX)>)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 2.6.23, the memory used to store the environment and argument " +"strings was limited to 32 pages (defined by the kernel constant " +"B<MAX_ARG_PAGES>). On architectures with a 4-kB page size, this yields a " +"maximum size of 128\\ kB." +msgstr "" + +#. For some background on the changes to ARG_MAX in Linux 2.6.23 and +#. Linux 2.6.25, see: +#. http://sourceware.org/bugzilla/show_bug.cgi?id=5786 +#. http://bugzilla.kernel.org/show_bug.cgi?id=10095 +#. http://thread.gmane.org/gmane.linux.kernel/646709/focus=648101, +#. checked into Linux 2.6.25 as commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2. +#. Ollie: That doesn't include the lists of pointers, though, +#. so the actual usage is a bit higher (1 pointer per argument). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux 2.6.23 and later, most architectures support a size limit derived " +"from the soft B<RLIMIT_STACK> resource limit (see B<getrlimit>(2)) that is " +"in force at the time of the B<execve>() call. (Architectures with no " +"memory management unit are excepted: they maintain the limit that was in " +"effect before Linux 2.6.23.) This change allows programs to have a much " +"larger argument and/or environment list. For these architectures, the total " +"size is limited to 1/4 of the allowed stack size. (Imposing the 1/4-limit " +"ensures that the new program always has some stack space.) Additionally, " +"the total size is limited to 3/4 of the value of the kernel constant " +"B<_STK_LIM> (8 MiB). Since Linux 2.6.25, the kernel also places a floor of " +"32 pages on this size limit, so that, even when B<RLIMIT_STACK> is set very " +"low, applications are guaranteed to have at least as much argument and " +"environment space as was provided by Linux 2.6.22 and earlier. (This " +"guarantee was not provided in Linux 2.6.23 and 2.6.24.) Additionally, the " +"limit per string is 32 pages (the kernel constant B<MAX_ARG_STRLEN>), and " +"the maximum number of strings is 0x7FFFFFFF." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On success, B<execve>() does not return, on error -1 is returned, and " +"I<errno> is set to indicate the error." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<E2BIG>" +msgstr "" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +msgid "" +"The total number of bytes in the environment (I<envp>) and argument list " +"(I<argv>) is too large, an argument or environment string is too long, or " +"the full I<pathname> of the executable is too long. The terminating null " +"byte is counted as part of the string length." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EACCES>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Search permission is denied on a component of the path prefix of I<pathname> " +"or the name of a script interpreter. (See also B<path_resolution>(7).)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The file or a script interpreter is not a regular file." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Execute permission is denied for the file or a script or ELF interpreter." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The filesystem is mounted I<noexec>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EAGAIN> (since Linux 3.1)" +msgstr "" + +#. commit 72fa59970f8698023045ab0713d66f3f4f96945c +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Having changed its real UID using one of the B<set*uid>() calls, the caller " +"was\\[em]and is now still\\[em]above its B<RLIMIT_NPROC> resource limit (see " +"B<setrlimit>(2)). For a more detailed explanation of this error, see NOTES." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFAULT>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> or one of the pointers in the vectors I<argv> or I<envp> points " +"outside your accessible address space." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An ELF executable had more than one PT_INTERP segment (i.e., tried to name " +"more than one interpreter)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EIO>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An I/O error occurred." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EISDIR>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An ELF interpreter was a directory." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ELIBBAD>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An ELF interpreter was not in a recognized format." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ELOOP>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Too many symbolic links were encountered in resolving I<pathname> or the " +"name of a script or ELF interpreter." +msgstr "" + +#. commit d740269867021faf4ce38a449353d2b986c34a67 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The maximum recursion limit was reached during recursive script " +"interpretation (see \"Interpreter scripts\", above). Before Linux 3.8, the " +"error produced for this case was B<ENOEXEC>." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EMFILE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The per-process limit on the number of open file descriptors has been " +"reached." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENAMETOOLONG>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<pathname> is too long." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENFILE>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The system-wide limit on the total number of open files has been reached." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOENT>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The file I<pathname> or a script or ELF interpreter does not exist." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOEXEC>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An executable is not in a recognized format, is for the wrong architecture, " +"or has some other format error that means it cannot be executed." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Insufficient kernel memory was available." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOTDIR>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A component of the path prefix of I<pathname> or a script or ELF interpreter " +"is not a directory." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The filesystem is mounted I<nosuid>, the user is not the superuser, and the " +"file has the set-user-ID or set-group-ID bit set." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The process is being traced, the user is not the superuser and the file has " +"the set-user-ID or set-group-ID bit set." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A \"capability-dumb\" applications would not obtain the full set of " +"permitted capabilities granted by the executable file. See " +"B<capabilities>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ETXTBSY>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The specified executable was open for writing by one or more processes." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX does not document the #! behavior, but it exists (with some " +"variations) on other UNIX systems." +msgstr "" + +#. e.g., EFAULT on Solaris 8 and FreeBSD 6.1; but +#. HP-UX 11 is like Linux -- mtk, Apr 2007 +#. Bug filed 30 Apr 2007: http://bugzilla.kernel.org/show_bug.cgi?id=8408 +#. Bug rejected (because fix would constitute an ABI change). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux, I<argv> and I<envp> can be specified as NULL. In both cases, this " +"has the same effect as specifying the argument as a pointer to a list " +"containing a single null pointer. B<Do not take advantage of this " +"nonstandard and nonportable misfeature!> On many other UNIX systems, " +"specifying I<argv> as NULL will result in an error (B<EFAULT>). I<Some> " +"other UNIX systems treat the I<envp==NULL> case the same as Linux." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"POSIX.1 says that values returned by B<sysconf>(3) should be invariant over " +"the lifetime of a process. However, since Linux 2.6.23, if the " +"B<RLIMIT_STACK> resource limit changes, then the value reported by " +"B<_SC_ARG_MAX> will also change, to reflect the fact that the limit on space " +"for holding command-line arguments and environment variables has changed." +msgstr "" + +#. commit 6eb3c3d0a52dca337e327ae8868ca1f44a712e02 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The kernel imposes a maximum length on the text that follows the \"#!\" " +"characters at the start of a script; characters beyond the limit are " +"ignored. Before Linux 5.1, the limit is 127 characters. Since Linux 5.1, " +"the limit is 255 characters." +msgstr "" + +#. e.g., Solaris 8 +#. e.g., FreeBSD before 6.0, but not FreeBSD 6.0 onward +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The semantics of the I<optional-arg> argument of an interpreter script vary " +"across implementations. On Linux, the entire string following the " +"I<interpreter> name is passed as a single argument to the interpreter, and " +"this string can include white space. However, behavior differs on some " +"other systems. Some systems use the first white space to terminate " +"I<optional-arg>. On some systems, an interpreter script can have multiple " +"arguments, and white spaces in I<optional-arg> are used to delimit the " +"arguments." +msgstr "" + +# #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +#. #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Linux (like most other modern UNIX systems) ignores the set-user-ID and set-" +"group-ID bits on scripts." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "" + +#. SVr4 documents additional error +#. conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not +#. document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL, +#. EISDIR or ELIBBAD error conditions. +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2001, SVr4, 4.3BSD." +msgstr "" + +# #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +#. #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"With UNIX\\ V6, the argument list of an B<exec>() call was ended by 0, " +"while the argument list of I<main> was ended by -1. Thus, this argument " +"list was not directly usable in a further B<exec>() call. Since UNIX\\ V7, " +"both are NULL." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One sometimes sees B<execve>() (and the related functions described in " +"B<exec>(3)) described as \"executing a I<new> process\" (or similar). This " +"is a highly misleading description: there is no new process; many attributes " +"of the calling process remain unchanged (in particular, its PID). All that " +"B<execve>() does is arrange for an existing process (the calling process) " +"to execute a new program." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Set-user-ID and set-group-ID processes can not be B<ptrace>(2)d." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The result of mounting a filesystem I<nosuid> varies across Linux kernel " +"versions: some will refuse execution of set-user-ID and set-group-ID " +"executables when this would give the user powers they did not have already " +"(and return B<EPERM>), some will just ignore the set-user-ID and set-group-" +"ID bits and B<exec>() successfully." +msgstr "" + +#. commit 19d860a140beac48a1377f179e693abe86a9dac9 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In most cases where B<execve>() fails, control returns to the original " +"executable image, and the caller of B<execve>() can then handle the error. " +"However, in (rare) cases (typically caused by resource exhaustion), failure " +"may occur past the point of no return: the original executable image has " +"been torn down, but the new image could not be completely built. In such " +"cases, the kernel kills the process with a B<SIGSEGV> (B<SIGKILL> until " +"Linux 3.17) signal." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "execve() and EAGAIN" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A more detailed explanation of the B<EAGAIN> error that can occur (since " +"Linux 3.1) when calling B<execve>() is as follows." +msgstr "" + +#. commit 909cc4ae86f3380152a18e2a3c44523893ee11c4 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<EAGAIN> error can occur when a I<preceding> call to B<setuid>(2), " +"B<setreuid>(2), or B<setresuid>(2) caused the real user ID of the process " +"to change, and that change caused the process to exceed its B<RLIMIT_NPROC> " +"resource limit (i.e., the number of processes belonging to the new real UID " +"exceeds the resource limit). From Linux 2.6.0 to Linux 3.0, this caused the " +"B<set*uid>() call to fail. (Before Linux 2.6, the resource limit was not " +"imposed on processes that changed their user IDs.)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 3.1, the scenario just described no longer causes the " +"B<set*uid>() call to fail, because it too often led to security holes where " +"buggy applications didn't check the return status and assumed that\\[em]if " +"the caller had root privileges\\[em]the call would always succeed. Instead, " +"the B<set*uid>() calls now successfully change the real UID, but the kernel " +"sets an internal flag, named B<PF_NPROC_EXCEEDED>, to note that the " +"B<RLIMIT_NPROC> resource limit has been exceeded. If the " +"B<PF_NPROC_EXCEEDED> flag is set and the resource limit is still exceeded at " +"the time of a subsequent B<execve>() call, that call fails with the error " +"B<EAGAIN>. This kernel logic ensures that the B<RLIMIT_NPROC> resource " +"limit is still enforced for the common privileged daemon " +"workflow\\[em]namely, B<fork>(2) + B<set*uid>() + B<execve>()." +msgstr "" + +# #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +# #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +# +#. #-#-#-#-# archlinux: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# debian-bookworm: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. type: Plain text +#. #-#-#-#-# debian-unstable: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# fedora-40: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# fedora-rawhide: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# mageia-cauldron: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# opensuse-leap-15-6: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#. #-#-#-#-# opensuse-tumbleweed: execve.2.pot (PACKAGE VERSION) #-#-#-#-# +#. .SH BUGS +#. Some Linux versions have failed to check permissions on ELF +#. interpreters. This is a security hole, because it allows users to +#. open any file, such as a rewinding tape device, for reading. Some +#. Linux versions have also had other security holes in +#. .BR execve () +#. that could be exploited for denial of service by a suitably crafted +#. ELF binary. There are no known problems with Linux 2.0.34 or Linux 2.2.15. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the resource limit was not still exceeded at the time of the B<execve>() " +"call (because other processes belonging to this real UID terminated between " +"the B<set*uid>() call and the B<execve>() call), then the B<execve>() " +"call succeeds and the kernel clears the B<PF_NPROC_EXCEEDED> process flag. " +"The flag is also cleared if a subsequent call to B<fork>(2) by this process " +"succeeds." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following program is designed to be execed by the second program below. " +"It just echoes its command-line arguments, one per line." +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"/* myecho.c */\n" +"\\&\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" for (size_t j = 0; j E<lt> argc; j++)\n" +" printf(\"argv[%zu]: %s\\en\", j, argv[j]);\n" +"\\&\n" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This program can be used to exec the program named in its command-line " +"argument:" +msgstr "" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"/* execve.c */\n" +"\\&\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" static char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n" +" static char *newenviron[] = { NULL };\n" +"\\&\n" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +"\\&\n" +" newargv[0] = argv[1];\n" +"\\&\n" +" execve(argv[1], newargv, newenviron);\n" +" perror(\"execve\"); /* execve() returns only on error */\n" +" exit(EXIT_FAILURE);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "We can use the second program to exec the first as follows:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< cc myecho.c -o myecho>\n" +"$B< cc execve.c -o execve>\n" +"$B< ./execve ./myecho>\n" +"argv[0]: ./myecho\n" +"argv[1]: hello\n" +"argv[2]: world\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"We can also use these programs to demonstrate the use of a script " +"interpreter. To do this we create a script whose \"interpreter\" is our " +"I<myecho> program:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< cat E<gt> script>\n" +"B<#!./myecho script-arg>\n" +"B<\\[ha]D>\n" +"$B< chmod +x script>\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "We can then use our program to exec the script:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"$B< ./execve ./script>\n" +"argv[0]: ./myecho\n" +"argv[1]: script-arg\n" +"argv[2]: ./script\n" +"argv[3]: hello\n" +"argv[4]: world\n" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<chmod>(2), B<execveat>(2), B<fork>(2), B<get_robust_list>(2), " +"B<ptrace>(2), B<exec>(3), B<fexecve>(3), B<getauxval>(3), B<getopt>(3), " +"B<system>(3), B<capabilities>(7), B<credentials>(7), B<environ>(7), " +"B<path_resolution>(7), B<ld.so>(8)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<argv> is an array of pointers to strings passed to the new program as its " +"command-line arguments. By convention, the first of these strings (i.e., " +"I<argv[0]>) should contain the filename associated with the file being " +"executed. The I<argv> array must be terminated by a NULL pointer. (Thus, " +"in the new program, I<argv[argc]> will be NULL.)" +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<envp> is an array of pointers to strings, conventionally of the form " +"B<key=value>, which are passed as the environment of the new program. The " +"I<envp> array must be terminated by a NULL pointer." +msgstr "" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The total number of bytes in the environment (I<envp>) and argument list " +"(I<argv>) is too large." +msgstr "" + +#. SVr4 documents additional error +#. conditions EAGAIN, EINTR, ELIBACC, ENOLINK, EMULTIHOP; POSIX does not +#. document ETXTBSY, EPERM, EFAULT, ELOOP, EIO, ENFILE, EMFILE, EINVAL, +#. EISDIR or ELIBBAD error conditions. +#. type: Plain text +#: debian-bookworm +msgid "" +"POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. POSIX does not document the #! " +"behavior, but it exists (with some variations) on other UNIX systems." +msgstr "" + +#. type: SS +#: debian-bookworm +#, no-wrap +msgid "Historical" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* myecho.c */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" for (size_t j = 0; j E<lt> argc; j++)\n" +" printf(\"argv[%zu]: %s\\en\", j, argv[j]);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* execve.c */\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" static char *newargv[] = { NULL, \"hello\", \"world\", NULL };\n" +" static char *newenviron[] = { NULL };\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (argc != 2) {\n" +" fprintf(stderr, \"Usage: %s E<lt>file-to-execE<gt>\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " newargv[0] = argv[1];\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" execve(argv[1], newargv, newenviron);\n" +" perror(\"execve\"); /* execve() returns only on error */\n" +" exit(EXIT_FAILURE);\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-03" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |