Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Projets publics
Ravada-Mirror
Commits
bae90be1
Commit
bae90be1
authored
May 11, 2017
by
Francesc Guasch
Browse files
[#222] Add a daemon user that can't grant permissions
parent
f4fac0fa
Changes
1
Hide whitespace changes
Inline
Side-by-side
lib/Ravada.pm
View file @
bae90be1
...
...
@@ -56,6 +56,9 @@ $DIR_SQL = "/usr/share/doc/ravada/sql/mysql" if ! -e $DIR_SQL;
our
%HUGE_COMMAND
=
map
{
$_
=>
1
}
qw(download)
;
our
%LONG_COMMAND
=
map
{
$_
=>
1
}
(
qw(prepare_base remove_base screenshot )
,
keys
%HUGE_COMMAND
);
our
$USER_DAEMON
;
our
$USER_DAEMON_NAME
=
'
daemon
';
has
'
vm
'
=>
(
is
=>
'
ro
'
,
isa
=>
'
ArrayRef
'
...
...
@@ -100,11 +103,27 @@ sub BUILD {
$self
->
connector
(
$CONNECTOR
);
}
Ravada::Auth::
init
(
$CONFIG
);
$self
->
_init_user_daemon
();
$self
->
_create_tables
();
$self
->
_upgrade_tables
();
$self
->
_update_data
();
}
sub
_init_user_daemon
{
my
$self
=
shift
;
return
if
$USER_DAEMON
;
$USER_DAEMON
=
Ravada::Auth::
SQL
->
new
(
name
=>
$USER_DAEMON_NAME
);
if
(
!
$USER_DAEMON
->
id
)
{
$USER_DAEMON
=
Ravada::Auth::SQL::
add_user
(
name
=>
$USER_DAEMON_NAME
,
is_admin
=>
1
);
$USER_DAEMON
=
Ravada::Auth::
SQL
->
new
(
name
=>
$USER_DAEMON_NAME
);
}
}
sub
_update_user_grants
{
my
$self
=
shift
;
my
$sth
=
$CONNECTOR
->
dbh
->
prepare
("
SELECT id FROM users
");
...
...
@@ -113,6 +132,9 @@ sub _update_user_grants {
$sth
->
execute
;
while
(
$sth
->
fetch
)
{
my
$user
=
Ravada::Auth::
SQL
->
search_by_id
(
$id
);
warn
$user
->
name
;
$USER_DAEMON
->
grant_user_permissions
(
$user
);
$USER_DAEMON
->
grant_admin_permissions
(
$user
)
if
$user
->
is_admin
;
}
$sth
->
finish
;
}
...
...
@@ -172,6 +194,7 @@ sub _update_isos {
sub
_update_data
{
my
$self
=
shift
;
$self
->
_update_isos
();
$self
->
_update_user_grants
();
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment