diff options
Diffstat (limited to 'src/firejail/main.c')
-rw-r--r-- | src/firejail/main.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/firejail/main.c b/src/firejail/main.c index 3e2cc3a17..7ac88f5a5 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c | |||
@@ -92,6 +92,7 @@ int arg_private_srv = 0; // private srv directory | |||
92 | int arg_private_bin = 0; // private bin directory | 92 | int arg_private_bin = 0; // private bin directory |
93 | int arg_private_tmp = 0; // private tmp directory | 93 | int arg_private_tmp = 0; // private tmp directory |
94 | int arg_private_lib = 0; // private lib directory | 94 | int arg_private_lib = 0; // private lib directory |
95 | int arg_private_cwd = 0; // private working directory | ||
95 | int arg_scan = 0; // arp-scan all interfaces | 96 | int arg_scan = 0; // arp-scan all interfaces |
96 | int arg_whitelist = 0; // whitelist command | 97 | int arg_whitelist = 0; // whitelist command |
97 | int arg_nosound = 0; // disable sound | 98 | int arg_nosound = 0; // disable sound |
@@ -1774,6 +1775,20 @@ int main(int argc, char **argv) { | |||
1774 | else | 1775 | else |
1775 | exit_err_feature("private-cache"); | 1776 | exit_err_feature("private-cache"); |
1776 | } | 1777 | } |
1778 | else if (strcmp(argv[i], "--private-cwd") == 0) { | ||
1779 | cfg.cwd = NULL; | ||
1780 | arg_private_cwd = 1; | ||
1781 | } | ||
1782 | else if (strncmp(argv[i], "--private-cwd=", 14) == 0) { | ||
1783 | cfg.cwd = argv[i] + 14; | ||
1784 | if (*cfg.cwd == '\0') { | ||
1785 | fprintf(stderr, "Error: invalid private-cwd option\n"); | ||
1786 | exit(1); | ||
1787 | } | ||
1788 | |||
1789 | fs_check_private_cwd(); | ||
1790 | arg_private_cwd = 1; | ||
1791 | } | ||
1777 | 1792 | ||
1778 | //************************************* | 1793 | //************************************* |
1779 | // hostname, etc | 1794 | // hostname, etc |