(self, user=None)
| 75 | return kb.data.currentUser |
| 76 | |
| 77 | def isDba(self, user=None): |
| 78 | infoMsg = "testing if current user is DBA" |
| 79 | logger.info(infoMsg) |
| 80 | |
| 81 | query = None |
| 82 | |
| 83 | if Backend.isDbms(DBMS.MYSQL): |
| 84 | self.getCurrentUser() |
| 85 | if Backend.isDbms(DBMS.MYSQL) and Backend.isFork(FORK.DRIZZLE): |
| 86 | kb.data.isDba = "root" in (kb.data.currentUser or "") |
| 87 | elif kb.data.currentUser: |
| 88 | query = queries[Backend.getIdentifiedDbms()].is_dba.query % kb.data.currentUser.split("@")[0] |
| 89 | elif Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.SYBASE) and user is not None: |
| 90 | query = queries[Backend.getIdentifiedDbms()].is_dba.query2 % user |
| 91 | else: |
| 92 | query = queries[Backend.getIdentifiedDbms()].is_dba.query |
| 93 | |
| 94 | if query: |
| 95 | query = agent.forgeCaseStatement(query) |
| 96 | kb.data.isDba = inject.checkBooleanExpression(query) or False |
| 97 | |
| 98 | return kb.data.isDba |
| 99 | |
| 100 | def getUsers(self): |
| 101 | infoMsg = "fetching database users" |
no test coverage detected