(core) updates from grist-core

This commit is contained in:
Paul Fitzpatrick 2024-07-17 12:18:13 -04:00
commit d23b492f0d
3 changed files with 25 additions and 10 deletions

View File

@ -16,12 +16,20 @@ if [[ $current_user_id == 0 ]]; then
# Make sure the target user owns everything that Grist needs write access to. # Make sure the target user owns everything that Grist needs write access to.
find $write_dir ! -user "$target_user" -exec chown "$target_user" "{}" + find $write_dir ! -user "$target_user" -exec chown "$target_user" "{}" +
# Make a home directory for the target user, in case anything needs to access it.
export HOME="/grist_user_homes/${target_user}"
mkdir -p "$HOME"
chown -R "$target_user":"$target_group" "$HOME"
# Restart as the target user, replacing the current process (replacement is needed for security). # Restart as the target user, replacing the current process (replacement is needed for security).
# Alternative tools to setpriv are: chroot, gosu. # Alternative tools to setpriv are: chroot, gosu.
# Need to use `exec` to close the parent shell, to avoid vulnerabilities: https://github.com/tianon/gosu/issues/37 # Need to use `exec` to close the parent shell, to avoid vulnerabilities: https://github.com/tianon/gosu/issues/37
exec setpriv --reuid "$target_user" --regid "$target_group" --init-groups /usr/bin/env bash "$0" "$@" exec setpriv --reuid "$target_user" --regid "$target_group" --init-groups /usr/bin/env bash "$0" "$@"
fi fi
# Printing the user helps with setting volume permissions.
echo "Running Grist as user $(id -u) with primary group $(id -g)"
# Validate that this user has access to the top level of each important directory. # Validate that this user has access to the top level of each important directory.
# There might be a benefit to testing individual files, but this is simpler as the dir may start empty. # There might be a benefit to testing individual files, but this is simpler as the dir may start empty.
for dir in "${important_read_dirs[@]}"; do for dir in "${important_read_dirs[@]}"; do

View File

@ -1,22 +1,22 @@
{ {
"AccessRules": { "AccessRules": {
"Add Column Rule": "Přidej Sloupcové Pravidlo", "Add Column Rule": "Přidat pravidlo pro sloupec",
"Lookup Column": "Vyhledávací Sloupec", "Lookup Column": "Vyhledávací Sloupec",
"Enter Condition": "Napiš Podmínku", "Enter Condition": "Napiš Podmínku",
"Everyone Else": "Všichni Ostatní", "Everyone Else": "Všichni Ostatní",
"Allow everyone to view Access Rules.": "Umožni všem zobrazit Přístupové Práva.", "Allow everyone to view Access Rules.": "Umožnit všem zobrazit přístupová práva.",
"Lookup Table": "Vyhledávací Tabulka", "Lookup Table": "Vyhledávací Tabulka",
"Add Table Rules": "Přidej Tabulkové Pravidlo", "Add Table Rules": "Přidat pravidlo pro tabulku",
"Invalid": "Neplatné", "Invalid": "Neplatné",
"Condition": "Podmínka", "Condition": "Podmínka",
"Delete Table Rules": "Vymaž Tabulkové Pravidla", "Delete Table Rules": "Vymaž Tabulkové Pravidla",
"Default Rules": "Základní Práva", "Default Rules": "Základní Práva",
"Attribute name": "Jméno Atributu", "Attribute name": "Jméno atributu",
"Add User Attributes": "Přidej Uživatelské Atributy", "Add User Attributes": "Přidat atribut pro uživatele",
"Attribute to Look Up": "Atribut k Vyhledání", "Attribute to Look Up": "Atribut k vyhledání",
"Everyone": "Všichni", "Everyone": "Všichni",
"Allow everyone to copy the entire document, or view it in full in fiddle mode.\nUseful for examples and templates, but not for sensitive data.": "Umožni všem kopírovat celý dokument, nebo zobrazit plně v \"fiddle\" režimu.\nUžiitečné pro ukázky a šablony, ale ne pro citlivá data.", "Allow everyone to copy the entire document, or view it in full in fiddle mode.\nUseful for examples and templates, but not for sensitive data.": "Umožni všem kopírovat celý dokument, nebo zobrazit plně v \"fiddle\" režimu.\nUžiitečné pro ukázky a šablony, ale ne pro citlivá data.",
"Add Default Rule": "Přidej Základní Pravidlo", "Add Default Rule": "Přidat výchozí pravidlo",
"Checking...": "Kontroluji…", "Checking...": "Kontroluji…",
"Permissions": "Povolení", "Permissions": "Povolení",
"Permission to view Access Rules": "Povolení na zobrazení Přistupových Pravidel", "Permission to view Access Rules": "Povolení na zobrazení Přistupových Pravidel",
@ -37,7 +37,7 @@
"Special Rules": "Speciální Pravidla" "Special Rules": "Speciální Pravidla"
}, },
"ACUserManager": { "ACUserManager": {
"Invite new member": "Pozvi nového uživatele", "Invite new member": "Pozvat nového uživatele",
"We'll email an invite to {{email}}": "Zašleme pozvánku emailem na {{email}}", "We'll email an invite to {{email}}": "Zašleme pozvánku emailem na {{email}}",
"Enter email address": "Napiš e-mailovou adresu" "Enter email address": "Napiš e-mailovou adresu"
}, },

View File

@ -459,7 +459,10 @@
"Python": "Python", "Python": "Python",
"Python version used": "Python используемая версия", "Python version used": "Python используемая версия",
"Time Zone": "Часовой пояс", "Time Zone": "Часовой пояс",
"Try API calls from the browser": "Попробуйте вызовы API из браузера" "Try API calls from the browser": "Попробуйте вызовы API из браузера",
"Formula times": "Время вычисления формулы",
"Only available to document editors": "Доступно только редакторам документов",
"Only available to document owners": "Доступно только владельцам документа"
}, },
"DocPageModel": { "DocPageModel": {
"Add Widget to Page": "Добавить виджет на страницу", "Add Widget to Page": "Добавить виджет на страницу",
@ -1550,7 +1553,11 @@
"Grist allows different types of authentication to be configured, including SAML and OIDC. We recommend enabling one of these if Grist is accessible over the network or being made available to multiple people.": "Grist позволяет настраивать различные типы аутентификации, включая SAML и OIDC. Мы рекомендуем включить один из них, если Grist доступен по сети или доступен нескольким пользователям.", "Grist allows different types of authentication to be configured, including SAML and OIDC. We recommend enabling one of these if Grist is accessible over the network or being made available to multiple people.": "Grist позволяет настраивать различные типы аутентификации, включая SAML и OIDC. Мы рекомендуем включить один из них, если Grist доступен по сети или доступен нескольким пользователям.",
"Or, as a fallback, you can set: {{bootKey}} in the environment and visit: {{url}}": "Или, в качестве запасного варианта, вы можете установить: {{bootKey}} в окружающей среде и посетить: {{url}}", "Or, as a fallback, you can set: {{bootKey}} in the environment and visit: {{url}}": "Или, в качестве запасного варианта, вы можете установить: {{bootKey}} в окружающей среде и посетить: {{url}}",
"Grist allows different types of authentication to be configured, including SAML and OIDC. We recommend enabling one of these if Grist is accessible over the network or being made available to multiple people.": "Grist позволяет настраивать различные типы аутентификации, включая SAML и OIDC. Мы рекомендуем включить один из них, если Grist доступен по сети или доступен нескольким пользователям.", "Grist allows different types of authentication to be configured, including SAML and OIDC. We recommend enabling one of these if Grist is accessible over the network or being made available to multiple people.": "Grist позволяет настраивать различные типы аутентификации, включая SAML и OIDC. Мы рекомендуем включить один из них, если Grist доступен по сети или доступен нескольким пользователям.",
"You do not have access to the administrator panel.\nPlease log in as an administrator.": "У вас нет доступа к панели администратора.\nПожалуйста, войдите в систему как администратор." "You do not have access to the administrator panel.\nPlease log in as an administrator.": "У вас нет доступа к панели администратора.\nПожалуйста, войдите в систему как администратор.",
"Key to sign sessions with": "Ключ для подписи сеансов с",
"Session Secret": "Session Secret",
"Grist signs user session cookies with a secret key. Please set this key via the environment variable GRIST_SESSION_SECRET. Grist falls back to a hard-coded default when it is not set. We may remove this notice in the future since session IDs have been updated to be inherently cryptographically secure.": "Grist подписывает файлы cookie сеанса пользователя секретным ключом. Установите этот ключ через переменную среды GRIST_SESSION_SECRET. Grist возвращается к жестко запрограммированному значению по умолчанию, если оно не установлено. Мы можем удалить это уведомление в будущем, поскольку идентификаторы сеансов, созданные начиная с версии 1.1.16, по своей сути криптографически безопасны.",
"Grist signs user session cookies with a secret key. Please set this key via the environment variable GRIST_SESSION_SECRET. Grist falls back to a hard-coded default when it is not set. We may remove this notice in the future as session IDs generated since v1.1.16 are inherently cryptographically secure.": "Grist подписывает файлы cookie сеанса пользователя секретным ключом. Установите этот ключ через переменную среды GRIST_SESSION_SECRET. Grist возвращается к жестко запрограммированному значению по умолчанию, если оно не установлено. Мы можем удалить это уведомление в будущем, поскольку идентификаторы сеансов, созданные начиная с версии 1.1.16, по своей сути криптографически безопасны."
}, },
"CreateTeamModal": { "CreateTeamModal": {
"Billing is not supported in grist-core": "Выставление счетов в grist-core не поддерживается", "Billing is not supported in grist-core": "Выставление счетов в grist-core не поддерживается",