diff --git a/src/authm/AuthManager.cc b/src/authm/AuthManager.cc index 46d079a89f..99d8667825 100644 --- a/src/authm/AuthManager.cc +++ b/src/authm/AuthManager.cc @@ -96,7 +96,10 @@ void AuthRequest::add_auth(Object ob, // User can show and MANAGE (change passwd) their own information ( uid == ob_id_int && ob == USER && ( op == INFO || op == MANAGE ) - ) + ) || + + // Users can show their group information + ( ob == GROUP && gid == ob_id_int && op == INFO ) ) { auth = true; diff --git a/src/cli/onegroup b/src/cli/onegroup index 3e00268846..f7e5a7efbf 100755 --- a/src/cli/onegroup +++ b/src/cli/onegroup @@ -92,8 +92,9 @@ cmd=CommandParser::CmdParser.new(ARGV) do Shows information for the given Group EOT - command :show, show_desc, :groupid, :options=>OpenNebulaHelper::XML do - helper.show_resource(args[0],options) + command :show, show_desc,[:groupid, nil], :options=>OpenNebulaHelper::XML do + group = args[0] || OpenNebula::Group::SELF + helper.show_resource(group,options) end end diff --git a/src/oca/ruby/OpenNebula/Group.rb b/src/oca/ruby/OpenNebula/Group.rb index aa6ff79291..64c751dc67 100644 --- a/src/oca/ruby/OpenNebula/Group.rb +++ b/src/oca/ruby/OpenNebula/Group.rb @@ -27,6 +27,9 @@ module OpenNebula :delete => "group.delete" } + # Flag for requesting connected user's group info + SELF = -1 + # Creates a Group description with just its identifier # this method should be used to create plain Group objects. # +id+ the id of the user