admin update-kernel: Ensure initramfs has correct owner/mode

It was 0600, and owned by the creating process (in the fuse case,
non-root!).  We want it 0644/root/root.
This commit is contained in:
Colin Walters 2013-01-06 06:43:49 -05:00
parent 9795f4a67e
commit 6b868d84d8
2 changed files with 17 additions and 1 deletions

@ -1 +1 @@
Subproject commit b4e8a2ae8684fab55efe74a7fd4b872c934475fd
Subproject commit fe898ee93bdc8a625c460876c8b49428c8977219

View File

@ -256,8 +256,24 @@ update_initramfs (OtAdminUpdateKernel *self,
goto out;
}
if (!gs_file_chmod (initramfs_tmp_file, 0644, cancellable, error))
{
g_prefix_error (error, "Failed to chmod initramfs: ");
goto out;
}
if (!gs_file_linkcopy_sync_data (initramfs_tmp_file, initramfs_file, cancellable, error))
goto out;
/* In the fuse case, we need to chown after copying */
if (getuid () != 0)
{
if (!gs_file_chown (initramfs_file, 0, 0, cancellable, error))
{
g_prefix_error (error, "Failed to chown initramfs: ");
goto out;
}
}
g_print ("Created: %s\n", gs_file_get_path_cached (initramfs_file));