| OLD | NEW |
| 1 # Linux `SUID` Sandbox | 1 # Linux `SUID` Sandbox |
| 2 | 2 |
| 3 With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its | 3 With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its |
| 4 renderers using a `SUID` helper binary. This is one of | 4 renderers using a `SUID` helper binary. This is one of |
| 5 [our layer-1 sandboxing solutions](linux_sandboxing.md). | 5 [our layer-1 sandboxing solutions](linux_sandboxing.md). |
| 6 | 6 |
| 7 ## `SUID` helper executable | 7 ## `SUID` helper executable |
| 8 | 8 |
| 9 The `SUID` helper binary is called `chrome_sandbox` and you must build it | 9 The `SUID` helper binary is called `chrome_sandbox` and you must build it |
| 10 separately from the main 'chrome' target. To use this sandbox, you have to | 10 separately from the main 'chrome' target. To use this sandbox, you have to |
| 11 specify its path in the `linux_sandbox_path` GYP variable. When spawning the | 11 specify its path in the `linux_sandbox_path` GYP variable. When spawning the |
| 12 [zygote process](linux_zygote/md), if the `SUID` sandbox is enabled, Chromium | 12 [zygote process](linux_zygote.md), if the `SUID` sandbox is enabled, Chromium |
| 13 will check for the sandbox binary at the location specified by | 13 will check for the sandbox binary at the location specified by |
| 14 `linux_sandbox_path`. For Google Chrome, this is set to | 14 `linux_sandbox_path`. For Google Chrome, this is set to |
| 15 `/opt/google/chrome/chrome-sandbox`, and early version had this value hard coded | 15 `/opt/google/chrome/chrome-sandbox`, and early version had this value hard coded |
| 16 in `chrome/browser/zygote_host_linux.cc`. | 16 in `chrome/browser/zygote_host_linux.cc`. |
| 17 | 17 |
| 18 | 18 |
| 19 In order for the sandbox to be used, the following conditions must be met: | 19 In order for the sandbox to be used, the following conditions must be met: |
| 20 | 20 |
| 21 * The sandbox binary must be executable by the Chromium process. | 21 * The sandbox binary must be executable by the Chromium process. |
| 22 * It must be `SUID` and executable by other. | 22 * It must be `SUID` and executable by other. |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 `/opt/google/chrome/chrome`. This string is hard coded | 121 `/opt/google/chrome/chrome`. This string is hard coded |
| 122 (`sandbox/linux/suid/sandbox.cc`). If your package is going to place the | 122 (`sandbox/linux/suid/sandbox.cc`). If your package is going to place the |
| 123 Chromium binary somewhere else you need to modify this string. | 123 Chromium binary somewhere else you need to modify this string. |
| 124 | 124 |
| 125 ## See also | 125 ## See also |
| 126 | 126 |
| 127 * [LinuxSUIDSandboxDevelopment](linux_suid_sandbox_development.md) | 127 * [LinuxSUIDSandboxDevelopment](linux_suid_sandbox_development.md) |
| 128 * [LinuxSandboxing](linux_sandboxing.md) | 128 * [LinuxSandboxing](linux_sandboxing.md) |
| 129 * General information on Chromium sandboxing: | 129 * General information on Chromium sandboxing: |
| 130 http://dev.chromium.org/developers/design-documents/sandbox | 130 http://dev.chromium.org/developers/design-documents/sandbox |
| OLD | NEW |