Я пытаюсь монтировать фс с ecryptfs в программе на C. Но мне не удается дать часть ядра ключакрепление ecryptfs с системным вызовом на языке C
int mount_crypt(char* source)
{
int r = -1;
char opt[1024] = "ecryptfs_sig=f83de0de4ecccbb1,ecryptfs_cipher=aes,ecryptfs_key_bytes=16";
r = mount(source, source, "ecryptfs", MS_MGC_VAL, opt);
if (r != 0)
{
perror("EErrr mount cry");
printf("Error mount cry: %d\n", r);
}
return (r);
}
В/варе/Журнал/сообщения:
process_request_key_err: No key
One or more global auth toks could not properly register; rc = [-2]
Я стараюсь с этим в строке отказа:
key=passphrase:passphrase_passwd=MYPASSS
, но он не работает
с:
int icloud_mount_crypt(char* source)
{
int r = -1;
char opt[1024] = "key=passphrase:passphrase_passwd=XXXXXX,ecryptfs_sig=f83de0de4ecccbb1,ecryptfs_cipher=aes,ecryptfs_key_bytes=16";
r = mount(source, source, "ecryptfs", MS_MGC_VAL, opt);
if (r != 0)
{
perror("EErrr mount cry");
printf("Error mount cry: %d\n", r);
}
return (r);
}
Здесь журнала:
Feb 15 11:15:41 nightmare kernel: [2847133.493005] ecryptfs_parse_options: eCryptfs: unrecognized option [key=passphrase:passphrase_passwd=XXXXXX]
Feb 15 11:15:41 nightmare kernel: [2847133.493022] Could not find key with description: [f83de0de4ecccbb1]
Feb 15 11:15:41 nightmare kernel: [2847133.493028] process_request_key_err: No key
Feb 15 11:15:41 nightmare kernel: [2847133.493032] Could not find valid key in user session keyring for sig specified in mount option: [f83de0de4ecccbb1]
Feb 15 11:15:41 nightmare kernel: [2847133.493035] One or more global auth toks could not properly register; rc = [-2]
Feb 15 11:15:41 nightmare kernel: [2847133.493039] Error parsing options; rc = [-2]
Спасибо за помощь
Спасибо. Но чтение кода, я не вижу, как передать ключ, как: крепление -t ecryptfs/TMP/disk1/TMP/disk1 -o RW, passphrase_passwd = XXXXXX, ecryptfs_sig = f83de0de4ecccbb1, ecryptfs_cipher = АЕС, в сборе syscall Прошу прощения, но я не вижу, как правильно построить строку выбора opt – flav
См. Строку 612: https://bazaar.launchpad.net/~ecryptfs/ecryptfs/trunk/view/head: /src/utils/mount.ecryptfs_private.c#L612 –