readme
authorRobert Swiecki <robert@swiecki.net>
Tue, 12 Jun 2018 13:47:32 +0000 (15:47 +0200)
committerRobert Swiecki <robert@swiecki.net>
Tue, 12 Jun 2018 13:47:32 +0000 (15:47 +0200)
README.md

index e4daf19..1a4568c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -341,21 +341,21 @@ Options:
  --help|-h 
        Help plz..
  --mode|-M VALUE
-       Execution mode (default: o [MODE_STANDALONE_ONCE]):
+       Execution mode (default: 'o' [MODE_STANDALONE_ONCE]):
        l: Wait for connections on a TCP port (specified with --port) [MODE_LISTEN_TCP]
-       o: Immediately launch a single process on the console using clone/execve [MODE_STANDALONE_ONCE]
-       e: Immediately launch a single process on the console using execve [MODE_STANDALONE_EXECVE]
-       r: Immediately launch a single process on the console, keep doing it forever [MODE_STANDALONE_RERUN]
+       o: Launch a single process on the console using clone/execve [MODE_STANDALONE_ONCE]
+       e: Launch a single process on the console using execve [MODE_STANDALONE_EXECVE]
+       r: Launch a single process on the console with clone/execve, keep doing it forever [MODE_STANDALONE_RERUN]
  --config|-C VALUE
-       Configuration file in the config.proto ProtoBuf format
+       Configuration file in the config.proto ProtoBuf format (see configs/ directory for examples)
  --exec_file|-x VALUE
        File to exec (default: argv[0])
- --execute_fd
+ --execute_fd 
        Use execveat() to execute a file-descriptor instead of executing the binary path. In such case argv[0]/exec_file denotes a file path before mount namespacing
  --chroot|-c VALUE
        Directory containing / of the jail (default: none)
  --rw 
-       Mount / and /proc as RW (default: RO)
+       Mount chroot dir (/) R/W (default: R/O)
  --user|-u VALUE
        Username/uid of processess inside the jail (default: your current uid). You can also use inside_ns_uid:outside_ns_uid:count convention here. Can be specified multiple times
  --group|-g VALUE
@@ -367,7 +367,7 @@ Options:
  --port|-p VALUE
        TCP port to bind to (enables MODE_LISTEN_TCP) (default: 0)
  --bindhost VALUE
-       IP address port to bind to (only in [MODE_LISTEN_TCP]), '::ffff:127.0.0.1' for locahost (default: '::')
+       IP address to bind the port to (only in [MODE_LISTEN_TCP]), (default: '::')
  --max_conns_per_ip|-i VALUE
        Maximum number of connections per one IP (only in [MODE_LISTEN_TCP]), (default: 0 (unlimited))
  --log|-l VALUE
@@ -383,37 +383,39 @@ Options:
  --verbose|-v 
        Verbose output
  --quiet|-q 
-       Only output warning and more important messages
+       Log warning and more important messages only
+ --really_quiet|-Q 
+       Log fatal messages only
  --keep_env|-e 
-       Should all environment variables be passed to the child?
+       Pass all environment variables to the child process (default: all envvars are cleared)
  --env|-E VALUE
-       Environment variable (can be used multiple times)
+       Additional environment variable (can be used multiple times)
  --keep_caps 
-       Don't drop capabilities (DANGEROUS)
+       Don't drop any capabilities
  --cap VALUE
-       Retain this capability in local namespace (e.g. CAP_PTRACE). Can be specified multiple times.
+       Retain this capability, e.g. CAP_PTRACE (can be specified multiple times)
  --silent 
-       Redirect child's fd:0/1/2 to /dev/null
+       Redirect child process' fd:0/1/2 to /dev/null
  --skip_setsid 
-       Don't call setsid(), allows for terminal signal handling in the sandboxed process
+       Don't call setsid(), allows for terminal signal handling in the sandboxed process. Dangerous
  --pass_fd VALUE
-       Don't close this FD before executing child (can be specified multiple times), by default: 0/1/2 are kept open
+       Don't close this FD before executing the child process (can be specified multiple times), by default: 0/1/2 are kept open
  --disable_no_new_privs 
        Don't set the prctl(NO_NEW_PRIVS, 1) (DANGEROUS)
  --rlimit_as VALUE
-       RLIMIT_AS in MB, 'max' for RLIM_INFINITY, 'def' for the current value (default: 512)
+       RLIMIT_AS in MB, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 512)
  --rlimit_core VALUE
-       RLIMIT_CORE in MB, 'max' for RLIM_INFINITY, 'def' for the current value (default: 0)
+       RLIMIT_CORE in MB, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 0)
  --rlimit_cpu VALUE
-       RLIMIT_CPU, 'max' for RLIM_INFINITY, 'def' for the current value (default: 600)
+       RLIMIT_CPU, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 600)
  --rlimit_fsize VALUE
-       RLIMIT_FSIZE in MB, 'max' for RLIM_INFINITY, 'def' for the current value (default: 1)
+       RLIMIT_FSIZE in MB, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 1)
  --rlimit_nofile VALUE
-       RLIMIT_NOFILE, 'max' for RLIM_INFINITY, 'def' for the current value (default: 32)
+       RLIMIT_NOFILE, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 32)
  --rlimit_nproc VALUE
-       RLIMIT_NPROC, 'max' for RLIM_INFINITY, 'def' for the current value (default: 'def')
+       RLIMIT_NPROC, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 'soft')
  --rlimit_stack VALUE
-       RLIMIT_STACK in MB, 'max' for RLIM_INFINITY, 'def' for the current value (default: 'def')
+       RLIMIT_STACK in MB, 'max' or 'hard' for the current hard limit, 'def' or 'soft' for the current soft limit, 'inf' for RLIM64_INFINITY (default: 'soft')
  --persona_addr_compat_layout 
        personality(ADDR_COMPAT_LAYOUT)
  --persona_mmap_page_zero 
@@ -425,7 +427,7 @@ Options:
  --persona_addr_no_randomize 
        personality(ADDR_NO_RANDOMIZE)
  --disable_clone_newnet|-N 
-       Don't use CLONE_NEWNET. Enable networking inside the jail
+       Don't use CLONE_NEWNET. Enable global networking inside the jail
  --disable_clone_newuser 
        Don't use CLONE_NEWUSER. Requires euid==0
  --disable_clone_newns 
@@ -439,31 +441,31 @@ Options:
  --disable_clone_newcgroup 
        Don't use CLONE_NEWCGROUP. Might be required for kernel versions < 4.6
  --uid_mapping|-U VALUE
-       Add a custom uid mapping of the form inside_uid:outside_uid:count. Setting this requires newuidmap to be present
+       Add a custom uid mapping of the form inside_uid:outside_uid:count. Setting this requires newuidmap (set-uid) to be present
  --gid_mapping|-G VALUE
-       Add a custom gid mapping of the form inside_gid:outside_gid:count. Setting this requires newgidmap to be present
+       Add a custom gid mapping of the form inside_gid:outside_gid:count. Setting this requires newgidmap (set-uid) to be present
  --bindmount_ro|-R VALUE
        List of mountpoints to be mounted --bind (ro) inside the container. Can be specified multiple times. Supports 'source' syntax, or 'source:dest'
  --bindmount|-B VALUE
        List of mountpoints to be mounted --bind (rw) inside the container. Can be specified multiple times. Supports 'source' syntax, or 'source:dest'
  --tmpfsmount|-T VALUE
-       List of mountpoints to be mounted as RW/tmpfs inside the container. Can be specified multiple times. Supports 'dest' syntax
- --tmpfs_size VALUE
-       Number of bytes to allocate for tmpfsmounts (default: 4194304)
+       List of mountpoints to be mounted as tmpfs (R/W) inside the container. Can be specified multiple times. Supports 'dest' syntax. Alternatively, use '-m none:dest:tmpfs:size=8388608'
  --mount|-m VALUE
        Arbitrary mount, format src:dst:fs_type:options
+ --symlink|-s VALUE
+       Symlink, format src:dst
  --disable_proc 
-       Disable mounting /proc in the jail
+       Disable mounting procfs in the jail
  --proc_path VALUE
        Path used to mount procfs (default: '/proc')
- --proc_rw
-       Is procfs mount as R/W (default: R/O)
+ --proc_rw 
+       Is procfs mounted as R/W (default: R/O)
  --seccomp_policy|-P VALUE
        Path to file containing seccomp-bpf policy (see kafel/)
  --seccomp_string VALUE
        String with kafel seccomp-bpf policy (see kafel/)
- --seccomp_log
-       Use SECCOMP_FILTER_FLAG_LOG. Log all actions except SECCOMP_RET_ALLOW. Supported since kernel version 4.14
+ --seccomp_log 
+       Use SECCOMP_FILTER_FLAG_LOG. Log all actions except SECCOMP_RET_ALLOW). Supported since kernel version 4.14
  --cgroup_mem_max VALUE
        Maximum number of bytes to use in the group (default: '0' - disabled)
  --cgroup_mem_mount VALUE
@@ -484,12 +486,12 @@ Options:
        Which pre-existing net_cls cgroup to use as a parent (default: 'NSJAIL')
  --cgroup_cpu_ms_per_sec VALUE
        Number of us that the process group can use per second (default: '0' - disabled)
- --cpu_mount VALUE
+ --cgroup_cpu_mount VALUE
        Location of cpu cgroup FS (default: '/sys/fs/cgroup/net_cls')
- --cpu_parent VALUE
+ --cgroup_cpu_parent VALUE
        Which pre-existing cpu cgroup to use as a parent (default: 'NSJAIL')
  --iface_no_lo 
-       Don't bring up the 'lo' interface
+       Don't bring the 'lo' interface up
  --iface_own VALUE
        Move this existing network interface into the new NET namespace. Can be specified multiple times
  --macvlan_iface|-I VALUE