Можно ли где-нибудь записать файлы конфигурации из моей программы без root-доступа?

Как упоминалось в toeдокументации (man 1 toe), в нем будут перечислены записи terminfo в

toe(1)                      General Commands Manual                     toe(1)

NAME
       toe - table of (terminfo) entries

SYNOPSIS
       toe [-v[n]] [-ahsuUV] file...

DESCRIPTION
       With no options, toe lists all available terminal types by primary name
       with descriptions.   File  arguments  specify  the  directories  to  be
       scanned;  if  no such arguments are given, your default terminfo direc‐

Например, записи terminfo в моей системе хранятся в/usr/share/terminfo:

$ toe /usr/share/terminfo/ |head -n 10
jaixterm-m  IBM Kanji AIXterm Monochrome Terminal Emulator
jaixterm    IBM Kanji Aixterm Terminal Eemulator
microb      micro bee series
mime        microterm mime1
megatek     pegasus workstation terminal emulator
m2-nam      France Telecom Minitel 2 mode te'le'informatique
mlterm+pcfkeys  fragment for PC-style fkeys
mgterm      MGL/MGL2 MobileGear Graphic Library
ms-vt100    MS telnet imitating dec vt100
mime2a-s    microterm mime2a (emulating an enhanced soroc iq120)

Я ограничил вывод... Теперь, чтобы узнать, что такое terminfo, просто взгляните наman 5 terminfo:

terminfo(5)                      File Formats                      terminfo(5)

NAME
       terminfo - terminal capability data base

SYNOPSIS
       /etc/terminfo/*/*

DESCRIPTION
       Terminfo  is  a data base describing terminals, used by screen-oriented
       programs   such   as   nvi(1),   rogue(1)   and   libraries   such   as
       ncurses(3NCURSES).  Terminfo describes terminals by giving a set of ca‐
       pabilities which they have, by specifying how to perform screen  opera‐
       tions,  and  by  specifying padding requirements and initialization se‐
       quences.  This describes ncurses version 6.1 (patch 20181013).
1
15.08.2020, 12:10
2 ответа

Вы должны использовать подкаталог, возможно, скрытый, специфичный для вашего приложения, например .myApp. Он также может содержать журналы версий и установки. Это значительно упрощает очистку и т. д.

Если конфигурация является общей для нескольких пользователей, вы можете выполнить один -sudo mkdir в «общем пространстве» и предоставить соответствующие разрешения в этом каталоге. Не имеет значения, что уровни выше не доступны для записи.

Если ваша конфигурация предназначена для каждого пользователя, ваше приложение создает .myAppпод именем пользователя /home/username при установке или первом использовании.

Существует официальный стандарт иерархии файловых систем для Linux.

0
18.03.2021, 23:12

Если вы хотите сделать все правильно, программа и ее файлы конфигурации не должны быть доступны для редактирования пользователем, иначе это нарушит стандартную модель безопасности.

Либо он принадлежит пользователю и, следовательно, его конфигурация хранится в домашнем каталоге пользователя, либо он установлен в любом месте системы (, например. /usr/bin, /usr/local/bin, /opt/appname), а затем его конфигурация снова сохраняется в некоторых местах системы (, например. /etc, /usr/local/etcили /opt/appname/etc).

2
18.03.2021, 23:12

Теги

Похожие вопросы