Доступ к хранилищу паролей Ubuntu с использованием C ++

Исторически (за годы до Linux) первый раз был /proc и содержал один файл для каждого процесса. Каждый (псевдо) -файл обеспечивал доступ к памяти процесса, например, чтение байтового номера 0x1234 из файла дало вам содержимое адреса 0x1234 в виртуальной памяти процесса. Этот интерфейс использовался командами, такими как ps (исходный просмотр информации о процессе) и отладчиками.

Последующие варианты Unix копировали принцип, но не детали. Например, в Linux существует один каталог для каждого процесса, содержащий различную информацию в читаемой форме. Например, /proc/1/cwd является символической ссылкой на текущий рабочий каталог процесса 1, а /proc/1/cmdline является файлом, содержащим аргументы командной строки.

Поскольку он был там, Linux также использовал /proc для предоставлять информацию о системе, например /proc/cpuinfo, содержащую информацию о процессоре (микропроцессоре) и /proc/bus/usb/, содержащем информацию об устройствах USB. Документация /proc содержится в документации ядра в filesystems/proc.txt.

Позже /sys (файловая система sysfs) предоставила информацию о ядре. Например, в разделе /sys/modules есть информация о USB-устройствах под /sys/bus/usb (в другом формате от /proc/bus/usb) и информация о модулях ядра (а также интерфейсы для управления некоторыми модулями).

[d5 ] Обратите внимание, что /proc/sys - это не то же самое, что /sys. /proc/sys показывает определенный набор параметров ядра, настраиваемых по времени, filesystems/proc.txt .

В Википедии вы найдете более историческую и текущую информацию о /proc. [!d7 ]

¹ или, точнее, файловая система proc, которую можно установить в других местах (но не имея ее в /proc, приведет к разрыву множества программ).

5
задан 15 June 2011 в 21:00

8 ответов

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

apt-get source libubuntuone

Затем следуют

sudo apt-get build-dep libubuntuone

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c, строка 229.

static void get_credentials (U1MusicStore *music_store, gchar **oauth_consumer_token, gchar **oauth_consumer_secret, gchar **oauth_token, gchar **oauth_token_secret) { SyncdaemonCredentials *credentials; *oauth_consumer_token = *oauth_consumer_secret = *oauth_token = *oauth_token_secret = NULL; /* Get the OAuth token from the keyring */ if ((credentials = syncdaemon_authentication_find_credentials ( syncdaemon_daemon_get_authentication (music_store->priv->syncdaemon)))) { *oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (credentials)); *oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (credentials)); *oauth_token = g_strdup (syncdaemon_credentials_get_token (credentials)); *oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (credentials)); } }

Библиотека, которую вы ищете, - libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 25 July 2018 в 21:44

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

apt-get source libubuntuone

Затем следуют

sudo apt-get build-dep libubuntuone

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c, строка 229.

static void get_credentials (U1MusicStore *music_store, gchar **oauth_consumer_token, gchar **oauth_consumer_secret, gchar **oauth_token, gchar **oauth_token_secret) { SyncdaemonCredentials *credentials; *oauth_consumer_token = *oauth_consumer_secret = *oauth_token = *oauth_token_secret = NULL; /* Get the OAuth token from the keyring */ if ((credentials = syncdaemon_authentication_find_credentials ( syncdaemon_daemon_get_authentication (music_store->priv->syncdaemon)))) { *oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (credentials)); *oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (credentials)); *oauth_token = g_strdup (syncdaemon_credentials_get_token (credentials)); *oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (credentials)); } }

Библиотека, которую вы ищете, - libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 31 July 2018 в 12:35

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

apt-get source libubuntuone

Затем следуют

sudo apt-get build-dep libubuntuone

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c, строка 229.

static void get_credentials (U1MusicStore *music_store, gchar **oauth_consumer_token, gchar **oauth_consumer_secret, gchar **oauth_token, gchar **oauth_token_secret) { SyncdaemonCredentials *credentials; *oauth_consumer_token = *oauth_consumer_secret = *oauth_token = *oauth_token_secret = NULL; /* Get the OAuth token from the keyring */ if ((credentials = syncdaemon_authentication_find_credentials ( syncdaemon_daemon_get_authentication (music_store->priv->syncdaemon)))) { *oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (credentials)); *oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (credentials)); *oauth_token = g_strdup (syncdaemon_credentials_get_token (credentials)); *oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (credentials)); } }

Библиотека, которую вы ищете, - libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 2 August 2018 в 03:20

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

apt-get source libubuntuone

Затем следуют

sudo apt-get build-dep libubuntuone

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c, строка 229.

static void get_credentials (U1MusicStore *music_store, gchar **oauth_consumer_token, gchar **oauth_consumer_secret, gchar **oauth_token, gchar **oauth_token_secret) { SyncdaemonCredentials *credentials; *oauth_consumer_token = *oauth_consumer_secret = *oauth_token = *oauth_token_secret = NULL; /* Get the OAuth token from the keyring */ if ((credentials = syncdaemon_authentication_find_credentials ( syncdaemon_daemon_get_authentication (music_store->priv->syncdaemon)))) { *oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (credentials)); *oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (credentials)); *oauth_token = g_strdup (syncdaemon_credentials_get_token (credentials)); *oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (credentials)); } }

Библиотека, которую вы ищете, - libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 4 August 2018 в 19:18

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

apt-get source libubuntuone

Затем следуют

sudo apt-get build-dep libubuntuone

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c, строка 229.

static void get_credentials (U1MusicStore *music_store, gchar **oauth_consumer_token, gchar **oauth_consumer_secret, gchar **oauth_token, gchar **oauth_token_secret) { SyncdaemonCredentials *credentials; *oauth_consumer_token = *oauth_consumer_secret = *oauth_token = *oauth_token_secret = NULL; /* Get the OAuth token from the keyring */ if ((credentials = syncdaemon_authentication_find_credentials ( syncdaemon_daemon_get_authentication (music_store->priv->syncdaemon)))) { *oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (credentials)); *oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (credentials)); *oauth_token = g_strdup (syncdaemon_credentials_get_token (credentials)); *oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (credentials)); } }

Библиотека, которую вы ищете, - libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 6 August 2018 в 03:31

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

apt-get source libubuntuone

Затем следуют

sudo apt-get build-dep libubuntuone

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c, строка 229.

static void get_credentials (U1MusicStore *music_store, gchar **oauth_consumer_token, gchar **oauth_consumer_secret, gchar **oauth_token, gchar **oauth_token_secret) { SyncdaemonCredentials *credentials; *oauth_consumer_token = *oauth_consumer_secret = *oauth_token = *oauth_token_secret = NULL; /* Get the OAuth token from the keyring */ if ((credentials = syncdaemon_authentication_find_credentials ( syncdaemon_daemon_get_authentication (music_store->priv->syncdaemon)))) { *oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (credentials)); *oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (credentials)); *oauth_token = g_strdup (syncdaemon_credentials_get_token (credentials)); *oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (credentials)); } }

Библиотека, которую вы ищете, - libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 7 August 2018 в 21:18

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

  apt-get source libubuntuone  

Далее следуют

  sudo apt-get build-dep libubuntuone  

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c , строка 229.

  static void get_credentials (U1MusicStore * music_store, gchar ** oauth_consumer_token, gchar ** oauth_consumer_secret, gchar **  oauth_token, gchar ** oauth_token_secret) {SyncdaemonCredentials * учетные данные;  * oauth_consumer_token = * oauth_consumer_secret = * oauth_token = * oauth_token_secret = NULL;  / * Получить токен OAuth из keyring * / if ((credentials = syncdaemon_authentication_find_credentials (syncdaemon_daemon_get_authentication (music_store- & gt; priv- & gt; syncdaemon)))) {* oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (учетные данные));  * oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (учетные данные));  * oauth_token = g_strdup (syncdaemon_credentials_get_token (учетные данные));  * oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (учетные данные));  }}  

Библиотека, которую вы ищете, это libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 10 August 2018 в 09:36

Документация не может быть. Но есть источники и примеры. Есть несколько программ на C, которые используют ubuntu, которые вы можете использовать в качестве путеводителей.

Вы можете попробовать запустить следующее (если ваши репозитории включают источники, конечно):

  apt-get source libubuntuone  

Далее следуют

  sudo apt-get build-dep libubuntuone  

и проверьте источники. Я считаю, что это может представлять интерес. На u1-music-store.c , строка 229.

  static void get_credentials (U1MusicStore * music_store, gchar ** oauth_consumer_token, gchar ** oauth_consumer_secret, gchar **  oauth_token, gchar ** oauth_token_secret) {SyncdaemonCredentials * учетные данные;  * oauth_consumer_token = * oauth_consumer_secret = * oauth_token = * oauth_token_secret = NULL;  / * Получить токен OAuth из keyring * / if ((credentials = syncdaemon_authentication_find_credentials (syncdaemon_daemon_get_authentication (music_store- & gt; priv- & gt; syncdaemon)))) {* oauth_consumer_token = g_strdup (syncdaemon_credentials_get_consumer_key (учетные данные));  * oauth_consumer_secret = g_strdup (syncdaemon_credentials_get_consumer_secret (учетные данные));  * oauth_token = g_strdup (syncdaemon_credentials_get_token (учетные данные));  * oauth_token_secret = g_strdup (syncdaemon_credentials_get_token_secret (учетные данные));  }}  

Библиотека, которую вы ищете, это libsyncdaemon-1.0-dev. По крайней мере, 10.10. Насколько я могу судить, вам не нужен API-интерфейс keyring от gnome.

4
ответ дан 13 August 2018 в 15:47

Другие вопросы по тегам:

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