Exemple #1
0
    def _get_metadata_proxy_user_group_watchlog(cls, conf):
        user = conf.metadata_proxy_user or str(os.geteuid())
        group = conf.metadata_proxy_group or str(os.getegid())

        watch_log = conf.metadata_proxy_watch_log
        if watch_log is None:
            # NOTE(cbrandily): Commonly, log watching can be enabled only
            # when metadata proxy user is agent effective user (id/name).
            watch_log = utils.is_effective_user(user)

        return user, group, watch_log
Exemple #2
0
    def _get_metadata_proxy_user_group_watchlog(cls, conf):
        user = conf.metadata_proxy_user or str(os.geteuid())
        group = conf.metadata_proxy_group or str(os.getegid())

        watch_log = conf.metadata_proxy_watch_log
        if watch_log is None:
            # NOTE(cbrandily): Commonly, log watching can be enabled only
            # when metadata proxy user is agent effective user (id/name).
            watch_log = utils.is_effective_user(user)

        return user, group, watch_log
Exemple #3
0
 def _get_socket_mode(self):
     mode = self.conf.metadata_proxy_socket_mode
     if mode == config.DEDUCE_MODE:
         user = self.conf.metadata_proxy_user
         if not user or user == "0" or user == "root" or agent_utils.is_effective_user(user):
             # user is agent effective user or root => USER_MODE
             mode = config.USER_MODE
         else:
             group = self.conf.metadata_proxy_group
             if not group or agent_utils.is_effective_group(group):
                 # group is agent effective group => GROUP_MODE
                 mode = config.GROUP_MODE
             else:
                 # otherwise => ALL_MODE
                 mode = config.ALL_MODE
     return MODE_MAP[mode]
Exemple #4
0
 def _get_socket_mode(self):
     mode = self.conf.metadata_proxy_socket_mode
     if mode == config.DEDUCE_MODE:
         user = self.conf.metadata_proxy_user
         if (not user or user == '0' or user == 'root'
                 or agent_utils.is_effective_user(user)):
             # user is agent effective user or root => USER_MODE
             mode = config.USER_MODE
         else:
             group = self.conf.metadata_proxy_group
             if not group or agent_utils.is_effective_group(group):
                 # group is agent effective group => GROUP_MODE
                 mode = config.GROUP_MODE
             else:
                 # otherwise => ALL_MODE
                 mode = config.ALL_MODE
     return MODE_MAP[mode]
Exemple #5
0
 def test_is_not_effective_user(self, getpwuid, geteuid):
     self.assertFalse(utils.is_effective_user('wrong'))
     geteuid.assert_called_once_with()
     getpwuid.assert_called_once_with(self.EUID)
Exemple #6
0
 def test_is_effective_user_name(self, getpwuid, geteuid):
     self.assertTrue(utils.is_effective_user(self.EUNAME))
     geteuid.assert_called_once_with()
     getpwuid.assert_called_once_with(self.EUID)
Exemple #7
0
 def test_is_effective_user_str_id(self, getpwuid, geteuid):
     self.assertTrue(utils.is_effective_user(str(self.EUID)))
     geteuid.assert_called_once_with()
     self.assertFalse(getpwuid.called)