bin/admin: Check for booted sysroot for root-required commands
Drops a use of `ostree_sysroot_get_path()`, prep for `ostree_sysroot_new_at()`. Closes: #1123 Approved by: jlebon
This commit is contained in:
parent
4bd63dd919
commit
0fb8686ccc
|
|
@ -403,10 +403,12 @@ ostree_admin_option_context_parse (GOptionContext *context,
|
||||||
|
|
||||||
if (flags & OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER)
|
if (flags & OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER)
|
||||||
{
|
{
|
||||||
GFile *path = ostree_sysroot_get_path (sysroot);
|
OstreeDeployment *booted = ostree_sysroot_get_booted_deployment (sysroot);
|
||||||
|
|
||||||
/* If sysroot path is "/" then user must be root. */
|
/* Only require root if we're manipulating a booted sysroot. (Mostly
|
||||||
if (!g_file_has_parent (path, NULL) && getuid () != 0)
|
* useful for the test suite)
|
||||||
|
*/
|
||||||
|
if (booted && getuid () != 0)
|
||||||
{
|
{
|
||||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
|
g_set_error (error, G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
|
||||||
"You must be root to perform this command");
|
"You must be root to perform this command");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue