Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/documentation/booksarch-handbookjail_index/it_IT/units/?format=api
https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/units/?format=api&page=2", "previous": null, "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Chapter 4. The Jail Subsystem" ], "previous_source": "", "target": [ "" ], "id_hash": -3250775974277800280, "content_hash": -3250775974277800280, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:1", "context": "", "note": "type: YAML Front Matter: title", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1127610/?format=api", "priority": 100, "id": 1127886, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=52e2ec7988cc1ea8", "url": "https://translate-dev.freebsd.org/api/units/1127886/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:13.986729Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "The Jail Subsystem" ], "previous_source": "", "target": [ "" ], "id_hash": 6463077580901437616, "content_hash": 6463077580901437616, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:1, documentation/content/en/books/arch-handbook/jail/_index.adoc:13", "context": "", "note": "type: Title =", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1127612/?format=api", "priority": 100, "id": 1127887, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=d9b176d1256bd0b0", "url": "https://translate-dev.freebsd.org/api/units/1127887/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:13.993536Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "On most UNIX(R) systems, `root` has omnipotent power. This promotes insecurity. If an attacker gained `root` on a system, he would have every function at his fingertips. In FreeBSD there are sysctls which dilute the power of `root`, in order to minimize the damage caused by an attacker. Specifically, one of these functions is called `secure levels`. Similarly, another function which is present from FreeBSD 4.0 and onward, is a utility called man:jail[8]. Jail chroots an environment and sets certain restrictions on processes which are forked within the jail. For example, a jailed process cannot affect processes outside the jail, utilize certain system calls, or inflict any damage on the host environment." ], "previous_source": "", "target": [ "" ], "id_hash": -3090259247672452580, "content_hash": -3090259247672452580, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:51", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 3, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 112, "source_unit": "https://translate-dev.freebsd.org/api/units/1127614/?format=api", "priority": 100, "id": 1127888, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=551d31964e9e1a1c", "url": "https://translate-dev.freebsd.org/api/units/1127888/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.000026Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Architecture" ], "previous_source": "", "target": [ "" ], "id_hash": -3937639386123481026, "content_hash": -3937639386123481026, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:55", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 5, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1127618/?format=api", "priority": 100, "id": 1127890, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=495ab1d74085d03e", "url": "https://translate-dev.freebsd.org/api/units/1127890/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.078892Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Jail consists of two realms: the userland program, man:jail[8], and the code implemented within the kernel: the man:jail[2] system call and associated restrictions. I will be discussing the userland program and then how jail is implemented within the kernel." ], "previous_source": "", "target": [ "" ], "id_hash": -2409291593802527476, "content_hash": -2409291593802527476, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:58", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 6, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 39, "source_unit": "https://translate-dev.freebsd.org/api/units/1127620/?format=api", "priority": 100, "id": 1127891, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=5e907a0f7710cd0c", "url": "https://translate-dev.freebsd.org/api/units/1127891/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.085554Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Userland Code" ], "previous_source": "", "target": [ "" ], "id_hash": -3407155355412333946, "content_hash": -3407155355412333946, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:59", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 7, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1127622/?format=api", "priority": 100, "id": 1127892, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=50b75a419213fa86", "url": "https://translate-dev.freebsd.org/api/units/1127892/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.091751Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "The source for the userland jail is located in [.filename]#/usr/src/usr.sbin/jail#, consisting of one file, [.filename]#jail.c#. The program takes these arguments: the path of the jail, hostname, IP address, and the command to be executed." ], "previous_source": "", "target": [ "" ], "id_hash": -6487354178446795079, "content_hash": -6487354178446795079, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:62", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 8, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 34, "source_unit": "https://translate-dev.freebsd.org/api/units/1127624/?format=api", "priority": 100, "id": 1127893, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=25f849bf05885eb9", "url": "https://translate-dev.freebsd.org/api/units/1127893/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.098309Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Data Structures" ], "previous_source": "", "target": [ "" ], "id_hash": 8778769654741155345, "content_hash": 8778769654741155345, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:63", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 9, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1127626/?format=api", "priority": 100, "id": 1127894, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=f9d4747d33d33e11", "url": "https://translate-dev.freebsd.org/api/units/1127894/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.177006Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "In [.filename]#jail.c#, the first thing I would note is the declaration of an important structure `struct jail j;` which was included from [.filename]#/usr/include/sys/jail.h#." ], "previous_source": "", "target": [ "" ], "id_hash": 7106865839802019613, "content_hash": 7106865839802019613, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:66", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 10, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 23, "source_unit": "https://translate-dev.freebsd.org/api/units/1127628/?format=api", "priority": 100, "id": 1127895, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=e2a0a8d3d7c1ef1d", "url": "https://translate-dev.freebsd.org/api/units/1127895/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.183865Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "The definition of the `jail` structure is:" ], "previous_source": "", "target": [ "" ], "id_hash": 2547334454532694562, "content_hash": 2547334454532694562, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:68", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 11, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/1127630/?format=api", "priority": 100, "id": 1127896, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=a359f330a688e222", "url": "https://translate-dev.freebsd.org/api/units/1127896/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.195196Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/include/sys/jail.h:\n" ], "previous_source": "", "target": [ "" ], "id_hash": -5623322682502080988, "content_hash": -5623322682502080988, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:72", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 12, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1127632/?format=api", "priority": 100, "id": 1127897, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=31f5f1d05c111624", "url": "https://translate-dev.freebsd.org/api/units/1127897/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.204046Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "struct jail {\n u_int32_t version;\n char *path;\n char *hostname;\n u_int32_t ip_number;\n};\n" ], "previous_source": "", "target": [ "" ], "id_hash": 7516986899559650965, "content_hash": 7516986899559650965, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:79", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 13, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 12, "source_unit": "https://translate-dev.freebsd.org/api/units/1127634/?format=api", "priority": 100, "id": 1127898, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=e851b3c229849695", "url": "https://translate-dev.freebsd.org/api/units/1127898/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.212237Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "As you can see, there is an entry for each of the arguments passed to the man:jail[8] program, and indeed, they are set during its execution." ], "previous_source": "", "target": [ "" ], "id_hash": 1635401472362919889, "content_hash": 1635401472362919889, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:82", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 14, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://translate-dev.freebsd.org/api/units/1127636/?format=api", "priority": 100, "id": 1127899, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=96b21cf97157b7d1", "url": "https://translate-dev.freebsd.org/api/units/1127899/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.284802Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/usr.sbin/jail/jail.c\nchar path[PATH_MAX];\n...\nif (realpath(argv[0], path) == NULL)\n err(1, \"realpath: %s\", argv[0]);\nif (chdir(path) != 0)\n err(1, \"chdir: %s\", path);\nmemset(&j, 0, sizeof(j));\nj.version = 0;\nj.path = path;\nj.hostname = argv[1];\n" ], "previous_source": "", "target": [ "" ], "id_hash": 2225248786196371510, "content_hash": 2225248786196371510, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:96", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 15, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 33, "source_unit": "https://translate-dev.freebsd.org/api/units/1127638/?format=api", "priority": 100, "id": 1127900, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=9ee1abfb2e1a9836", "url": "https://translate-dev.freebsd.org/api/units/1127900/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.299604Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Networking" ], "previous_source": "", "target": [ "" ], "id_hash": 5971631064820480690, "content_hash": 5971631064820480690, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:98", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 16, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1127640/?format=api", "priority": 100, "id": 1127901, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=d2df7ed07c4ffab2", "url": "https://translate-dev.freebsd.org/api/units/1127901/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.313232Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "One of the arguments passed to the man:jail[8] program is an IP address with which the jail can be accessed over the network. man:jail[8] translates the IP address given into host byte order and then stores it in `j` (the `jail` structure)." ], "previous_source": "", "target": [ "" ], "id_hash": 110489864242767489, "content_hash": 110489864242767489, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:101", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 17, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 42, "source_unit": "https://translate-dev.freebsd.org/api/units/1127642/?format=api", "priority": 100, "id": 1127902, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=818889f23578a681", "url": "https://translate-dev.freebsd.org/api/units/1127902/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.375432Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/usr.sbin/jail/jail.c:\nstruct in_addr in;\n...\nif (inet_aton(argv[2], &in) == 0)\n errx(1, \"Could not make sense of ip-number: %s\", argv[2]);\nj.ip_number = ntohl(in.s_addr);\n" ], "previous_source": "", "target": [ "" ], "id_hash": -549596674364967959, "content_hash": -549596674364967959, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:110", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 18, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 22, "source_unit": "https://translate-dev.freebsd.org/api/units/1127644/?format=api", "priority": 100, "id": 1127903, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=785f70bc8ebd73e9", "url": "https://translate-dev.freebsd.org/api/units/1127903/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.383060Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "The man:inet_aton[3] function \"interprets the specified character string as an Internet address, placing the address into the structure provided.\" The `ip_number` member in the `jail` structure is set only when the IP address placed onto the `in` structure by man:inet_aton[3] is translated into host byte order by man:ntohl[3]." ], "previous_source": "", "target": [ "" ], "id_hash": 8660002705204191520, "content_hash": 8660002705204191520, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:113", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 19, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 48, "source_unit": "https://translate-dev.freebsd.org/api/units/1127646/?format=api", "priority": 100, "id": 1127904, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=f82e8293e59e2120", "url": "https://translate-dev.freebsd.org/api/units/1127904/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.390491Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Jailing the Process" ], "previous_source": "", "target": [ "" ], "id_hash": -808379272149399813, "content_hash": -808379272149399813, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:114", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 20, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1127648/?format=api", "priority": 100, "id": 1127905, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=74c80f55bfbf06fb", "url": "https://translate-dev.freebsd.org/api/units/1127905/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.397355Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Finally, the userland program jails the process. Jail now becomes an imprisoned process itself and then executes the command given using man:execv[3]." ], "previous_source": "", "target": [ "" ], "id_hash": -8400553832468691540, "content_hash": -8400553832468691540, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:117", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 21, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 22, "source_unit": "https://translate-dev.freebsd.org/api/units/1127650/?format=api", "priority": 100, "id": 1127906, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=0b6b3ccc232845ac", "url": "https://translate-dev.freebsd.org/api/units/1127906/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.404501Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/usr.sbin/jail/jail.c\ni = jail(&j);\n...\nif (execv(argv[3], argv + 3) != 0)\n err(1, \"execv: %s\", argv[3]);\n" ], "previous_source": "", "target": [ "" ], "id_hash": 3634903989889763660, "content_hash": 3634903989889763660, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:125", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 22, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://translate-dev.freebsd.org/api/units/1127652/?format=api", "priority": 100, "id": 1127907, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=b271c5eb9607894c", "url": "https://translate-dev.freebsd.org/api/units/1127907/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.490235Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "As you can see, the `jail()` function is called, and its argument is the `jail` structure which has been filled with the arguments given to the program. Finally, the program you specify is executed. I will now discuss how jail is implemented within the kernel." ], "previous_source": "", "target": [ "" ], "id_hash": 496121809003613180, "content_hash": 496121809003613180, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:128", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 23, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 45, "source_unit": "https://translate-dev.freebsd.org/api/units/1127654/?format=api", "priority": 100, "id": 1127908, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=86e294281efc0bfc", "url": "https://translate-dev.freebsd.org/api/units/1127908/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.504765Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Kernel Space" ], "previous_source": "", "target": [ "" ], "id_hash": 7376364836595692782, "content_hash": 7376364836595692782, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:129", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 24, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1127656/?format=api", "priority": 100, "id": 1127909, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=e65e1cbcbaf7f4ee", "url": "https://translate-dev.freebsd.org/api/units/1127909/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.578947Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "We will now be looking at the file [.filename]#/usr/src/sys/kern/kern_jail.c#. This is the file where the man:jail[2] system call, appropriate sysctls, and networking functions are defined." ], "previous_source": "", "target": [ "" ], "id_hash": -1649060115857407283, "content_hash": -1649060115857407283, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:132", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 25, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 25, "source_unit": "https://translate-dev.freebsd.org/api/units/1127658/?format=api", "priority": 100, "id": 1127910, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=691d5c8fcd0e02cd", "url": "https://translate-dev.freebsd.org/api/units/1127910/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.587910Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Sysctls" ], "previous_source": "", "target": [ "" ], "id_hash": -367458239449168958, "content_hash": -367458239449168958, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:133", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 26, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1127660/?format=api", "priority": 100, "id": 1127911, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=7ae686ad97d783c2", "url": "https://translate-dev.freebsd.org/api/units/1127911/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.608927Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "In [.filename]#kern_jail.c#, the following sysctls are defined:" ], "previous_source": "", "target": [ "" ], "id_hash": 2985997180239267152, "content_hash": 2985997180239267152, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:136", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 27, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/1127662/?format=api", "priority": 100, "id": 1127912, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=a970649d6c7ac550", "url": "https://translate-dev.freebsd.org/api/units/1127912/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.687980Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/sys/kern/kern_jail.c:\nint jail_set_hostname_allowed = 1;\nSYSCTL_INT(_security_jail, OID_AUTO, set_hostname_allowed, CTLFLAG_RW,\n &jail_set_hostname_allowed, 0,\n \"Processes in jail can set their hostnames\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": -6894746641274081629, "content_hash": -6894746641274081629, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:144", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 28, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 18, "source_unit": "https://translate-dev.freebsd.org/api/units/1127664/?format=api", "priority": 100, "id": 1127913, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=2050f075ae8a6ea3", "url": "https://translate-dev.freebsd.org/api/units/1127913/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.697694Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "int jail_socket_unixiproute_only = 1;\nSYSCTL_INT(_security_jail, OID_AUTO, socket_unixiproute_only, CTLFLAG_RW,\n &jail_socket_unixiproute_only, 0,\n \"Processes in jail are limited to creating UNIX/IPv4/route sockets only\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": 1643145899104961345, "content_hash": 1643145899104961345, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:149", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 29, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1127666/?format=api", "priority": 100, "id": 1127914, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=96cda07d4e4a8341", "url": "https://translate-dev.freebsd.org/api/units/1127914/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.706658Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "int jail_sysvipc_allowed = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, sysvipc_allowed, CTLFLAG_RW,\n &jail_sysvipc_allowed, 0,\n \"Processes in jail can use System V IPC primitives\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": 8263414253409649936, "content_hash": 8263414253409649936, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:154", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 30, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://translate-dev.freebsd.org/api/units/1127668/?format=api", "priority": 100, "id": 1127915, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=f2ad8b7b6661c510", "url": "https://translate-dev.freebsd.org/api/units/1127915/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.778227Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "static int jail_enforce_statfs = 2;\nSYSCTL_INT(_security_jail, OID_AUTO, enforce_statfs, CTLFLAG_RW,\n &jail_enforce_statfs, 0,\n \"Processes in jail cannot see all mounted file systems\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": 7086444911031229209, "content_hash": 7086444911031229209, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:159", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 31, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1127670/?format=api", "priority": 100, "id": 1127916, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=e2581c19da641b19", "url": "https://translate-dev.freebsd.org/api/units/1127916/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.784938Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "int jail_allow_raw_sockets = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, allow_raw_sockets, CTLFLAG_RW,\n &jail_allow_raw_sockets, 0,\n \"Prison root can create raw sockets\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": 4210172442749308375, "content_hash": 4210172442749308375, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:164", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 32, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 16, "source_unit": "https://translate-dev.freebsd.org/api/units/1127672/?format=api", "priority": 100, "id": 1127917, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=ba6d8987bd360dd7", "url": "https://translate-dev.freebsd.org/api/units/1127917/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.791861Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "int jail_chflags_allowed = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, chflags_allowed, CTLFLAG_RW,\n &jail_chflags_allowed, 0,\n \"Processes in jail can alter system file flags\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": 8623351500801224630, "content_hash": 8623351500801224630, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:169", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 33, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 18, "source_unit": "https://translate-dev.freebsd.org/api/units/1127674/?format=api", "priority": 100, "id": 1127918, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=f7ac4c806296afb6", "url": "https://translate-dev.freebsd.org/api/units/1127918/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.798281Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "int jail_mount_allowed = 0;\nSYSCTL_INT(_security_jail, OID_AUTO, mount_allowed, CTLFLAG_RW,\n &jail_mount_allowed, 0,\n \"Processes in jail can mount/unmount jail-friendly file systems\");\n" ], "previous_source": "", "target": [ "" ], "id_hash": -4455306845297956315, "content_hash": -4455306845297956315, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:174", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 34, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 18, "source_unit": "https://translate-dev.freebsd.org/api/units/1127676/?format=api", "priority": 100, "id": 1127919, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=422b920788a62a25", "url": "https://translate-dev.freebsd.org/api/units/1127919/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.805752Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Each of these sysctls can be accessed by the user through the man:sysctl[8] program. Throughout the kernel, these specific sysctls are recognized by their name. For example, the name of the first sysctl is `security.jail.set_hostname_allowed`." ], "previous_source": "", "target": [ "" ], "id_hash": -4797247478760127929, "content_hash": -4797247478760127929, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:177", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 35, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 35, "source_unit": "https://translate-dev.freebsd.org/api/units/1127678/?format=api", "priority": 100, "id": 1127920, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=3d6cc0d5c0dd4247", "url": "https://translate-dev.freebsd.org/api/units/1127920/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.884832Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "man:jail[2] System Call" ], "previous_source": "", "target": [ "" ], "id_hash": -967542894849609191, "content_hash": -967542894849609191, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:178", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 36, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1127680/?format=api", "priority": 100, "id": 1127921, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=729298dd07893219", "url": "https://translate-dev.freebsd.org/api/units/1127921/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.891802Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Like all system calls, the man:jail[2] system call takes two arguments, `struct thread *td` and `struct jail_args *uap`. `td` is a pointer to the `thread` structure which describes the calling thread. In this context, `uap` is a pointer to the structure in which a pointer to the `jail` structure passed by the userland [.filename]#jail.c# is contained. When I described the userland program before, you saw that the man:jail[2] system call was given a `jail` structure as its own argument." ], "previous_source": "", "target": [ "" ], "id_hash": 9013346056197970445, "content_hash": 9013346056197970445, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:181", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 37, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 79, "source_unit": "https://translate-dev.freebsd.org/api/units/1127682/?format=api", "priority": 100, "id": 1127922, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=fd15d67bbd591a0d", "url": "https://translate-dev.freebsd.org/api/units/1127922/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.897828Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/sys/kern/kern_jail.c:\n/*\n * struct jail_args {\n * struct jail *jail;\n * };\n */\nint\njail(struct thread *td, struct jail_args *uap)\n" ], "previous_source": "", "target": [ "" ], "id_hash": -1243308460338656409, "content_hash": -1243308460338656409, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:192", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 38, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1127684/?format=api", "priority": 100, "id": 1127923, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=6ebee18aeb46cb67", "url": "https://translate-dev.freebsd.org/api/units/1127923/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.903491Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Therefore, `uap->jail` can be used to access the `jail` structure which was passed to the system call. Next, the system call copies the `jail` structure into kernel space using the man:copyin[9] function. man:copyin[9] takes three arguments: the address of the data which is to be copied into kernel space, `uap->jail`, where to store it, `j` and the size of the storage. The `jail` structure pointed by `uap->jail` is copied into kernel space and is stored in another `jail` structure, `j`." ], "previous_source": "", "target": [ "" ], "id_hash": -2301170070801123202, "content_hash": -2301170070801123202, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:195", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 39, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 80, "source_unit": "https://translate-dev.freebsd.org/api/units/1127686/?format=api", "priority": 100, "id": 1127924, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=60109a034223787e", "url": "https://translate-dev.freebsd.org/api/units/1127924/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.909257Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/sys/kern/kern_jail.c:\nerror = copyin(uap->jail, &j, sizeof(j));\n" ], "previous_source": "", "target": [ "" ], "id_hash": 6264453319605962226, "content_hash": 6264453319605962226, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:200", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 40, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 6, "source_unit": "https://translate-dev.freebsd.org/api/units/1127688/?format=api", "priority": 100, "id": 1127925, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=d6efcf1a8b2145f2", "url": "https://translate-dev.freebsd.org/api/units/1127925/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.979292Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "There is another important structure defined in [.filename]#jail.h#. It is the `prison` structure. The `prison` structure is used exclusively within kernel space. Here is the definition of the `prison` structure." ], "previous_source": "", "target": [ "" ], "id_hash": 6972112472407591249, "content_hash": 6972112472407591249, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:203", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 41, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 30, "source_unit": "https://translate-dev.freebsd.org/api/units/1127690/?format=api", "priority": 100, "id": 1127926, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=e0c1eb5a93ecc951", "url": "https://translate-dev.freebsd.org/api/units/1127926/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.988174Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/include/sys/jail.h:\nstruct prison {\n LIST_ENTRY(prison) pr_list; /* (a) all prisons */\n int pr_id; /* (c) prison id */\n int pr_ref; /* (p) refcount */\n char pr_path[MAXPATHLEN]; /* (c) chroot path */\n struct vnode *pr_root; /* (c) vnode to rdir */\n char pr_host[MAXHOSTNAMELEN]; /* (p) jail hostname */\n u_int32_t pr_ip; /* (c) ip addr host */\n void *pr_linux; /* (p) linux abi */\n int pr_securelevel; /* (p) securelevel */\n struct task pr_task; /* (d) destroy task */\n struct mtx pr_mtx;\n void **pr_slots; /* (p) additional data */\n};\n" ], "previous_source": "", "target": [ "" ], "id_hash": 4727944564179966863, "content_hash": 4727944564179966863, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:221", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 42, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 87, "source_unit": "https://translate-dev.freebsd.org/api/units/1127692/?format=api", "priority": 100, "id": 1127927, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=c19d088809af9b8f", "url": "https://translate-dev.freebsd.org/api/units/1127927/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:14.994366Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "The man:jail[2] system call then allocates memory for a `prison` structure and copies data between the `jail` and `prison` structure." ], "previous_source": "", "target": [ "" ], "id_hash": 1362813537788451818, "content_hash": 1362813537788451818, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:224", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 43, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1127694/?format=api", "priority": 100, "id": 1127928, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=92e9afb12ef95bea", "url": "https://translate-dev.freebsd.org/api/units/1127928/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.000352Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/sys/kern/kern_jail.c:\nMALLOC(pr, struct prison *, sizeof(*pr), M_PRISON, M_WAITOK | M_ZERO);\n...\nerror = copyinstr(j.path, &pr->pr_path, sizeof(pr->pr_path), 0);\nif (error)\n goto e_killmtx;\n...\nerror = copyinstr(j.hostname, &pr->pr_host, sizeof(pr->pr_host), 0);\nif (error)\n goto e_dropvnref;\npr->pr_ip = j.ip_number;\n" ], "previous_source": "", "target": [ "" ], "id_hash": 5849979940733045296, "content_hash": 5849979940733045296, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:238", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 44, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 35, "source_unit": "https://translate-dev.freebsd.org/api/units/1127696/?format=api", "priority": 100, "id": 1127929, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=d12f4dc2f68dca30", "url": "https://translate-dev.freebsd.org/api/units/1127929/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.076433Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "Next, we will discuss another important system call man:jail_attach[2], which implements the function to put a process into the jail." ], "previous_source": "", "target": [ "" ], "id_hash": 2821496895528284922, "content_hash": 2821496895528284922, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:241", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 45, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1127698/?format=api", "priority": 100, "id": 1127930, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=a727f87a40d4b2fa", "url": "https://translate-dev.freebsd.org/api/units/1127930/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.082897Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/sys/kern/kern_jail.c:\n/*\n * struct jail_attach_args {\n * int jid;\n * };\n */\nint\njail_attach(struct thread *td, struct jail_attach_args *uap)\n" ], "previous_source": "", "target": [ "" ], "id_hash": 9197118896977923279, "content_hash": 9197118896977923279, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:252", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 46, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 19, "source_unit": "https://translate-dev.freebsd.org/api/units/1127700/?format=api", "priority": 100, "id": 1127931, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=ffa2bae88b66cccf", "url": "https://translate-dev.freebsd.org/api/units/1127931/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.089308Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "This system call makes the changes that can distinguish a jailed process from those unjailed ones. To understand what man:jail_attach[2] does for us, certain background information is needed." ], "previous_source": "", "target": [ "" ], "id_hash": 5165204134795130532, "content_hash": 5165204134795130532, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:255", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 47, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 28, "source_unit": "https://translate-dev.freebsd.org/api/units/1127702/?format=api", "priority": 100, "id": 1127932, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=c7ae7dcb4ed7b6a4", "url": "https://translate-dev.freebsd.org/api/units/1127932/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.094743Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "On FreeBSD, each kernel visible thread is identified by its `thread` structure, while the processes are described by their `proc` structures. You can find the definitions of the `thread` and `proc` structure in [.filename]#/usr/include/sys/proc.h#. For example, the `td` argument in any system call is actually a pointer to the calling thread's `thread` structure, as stated before. The `td_proc` member in the `thread` structure pointed by `td` is a pointer to the `proc` structure which represents the process that contains the thread represented by `td`. The `proc` structure contains members which can describe the owner's identity(`p_ucred`), the process resource limits(`p_limit`), and so on. In the `ucred` structure pointed by `p_ucred` member in the `proc` structure, there is a pointer to the `prison` structure(`cr_prison`)." ], "previous_source": "", "target": [ "" ], "id_hash": 4995226892358564251, "content_hash": 4995226892358564251, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:257", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 48, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 122, "source_unit": "https://translate-dev.freebsd.org/api/units/1127704/?format=api", "priority": 100, "id": 1127933, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=c5529c648b82b99b", "url": "https://translate-dev.freebsd.org/api/units/1127933/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.100884Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/include/sys/proc.h:\nstruct thread {\n ...\n struct proc *td_proc;\n ...\n};\nstruct proc {\n ...\n struct ucred *p_ucred;\n ...\n};\n/usr/include/sys/ucred.h\nstruct ucred {\n ...\n struct prison *cr_prison;\n ...\n};\n" ], "previous_source": "", "target": [ "" ], "id_hash": -423689365307653301, "content_hash": -423689365307653301, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:277", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 49, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 29, "source_unit": "https://translate-dev.freebsd.org/api/units/1127706/?format=api", "priority": 100, "id": 1127934, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=7a1ec0c45dba034b", "url": "https://translate-dev.freebsd.org/api/units/1127934/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.176567Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "In [.filename]#kern_jail.c#, the function `jail()` then calls function `jail_attach()` with a given `jid`. And `jail_attach()` calls function `change_root()` to change the root directory of the calling process. The `jail_attach()` then creates a new `ucred` structure, and attaches the newly created `ucred` structure to the calling process after it has successfully attached the `prison` structure to the `ucred` structure. From then on, the calling process is recognized as jailed. When the kernel routine `jailed()` is called in the kernel with the newly created `ucred` structure as its argument, it returns 1 to tell that the credential is connected with a jail. The public ancestor process of all the process forked within the jail, is the process which runs man:jail[8], as it calls the man:jail[2] system call. When a program is executed through man:execve[2], it inherits the jailed property of its parent's `ucred` structure, therefore it has a jailed `ucred` structure." ], "previous_source": "", "target": [ "" ], "id_hash": -5312930558792477038, "content_hash": -5312930558792477038, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:280", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 50, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 149, "source_unit": "https://translate-dev.freebsd.org/api/units/1127708/?format=api", "priority": 100, "id": 1127935, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=3644adce4edb5692", "url": "https://translate-dev.freebsd.org/api/units/1127935/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.182976Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksarch-handbookjail_index/it_IT/?format=api", "source": [ "/usr/src/sys/kern/kern_jail.c\nint\njail(struct thread *td, struct jail_args *uap)\n{\n...\n struct jail_attach_args jaa;\n...\n error = jail_attach(td, &jaa);\n if (error)\n goto e_dropprref;\n...\n}\n" ], "previous_source": "", "target": [ "" ], "id_hash": 5998018216358103867, "content_hash": 5998018216358103867, "location": "documentation/content/en/books/arch-handbook/jail/_index.adoc:295", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 51, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 24, "source_unit": "https://translate-dev.freebsd.org/api/units/1127710/?format=api", "priority": 100, "id": 1127936, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksarch-handbookjail_index/it_IT/?checksum=d33d3dc9f658cb3b", "url": "https://translate-dev.freebsd.org/api/units/1127936/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T13:14:15.189882Z" } ] }{ "count": 92, "next": "