Relatório sobre intervalos individuais de expiração de senha em Sybase ASE 12.5
-
18-09-2019 - |
Pergunta
Quero executar um relatório para garantir que a senha de cada usuário esteja definida para expirar a cada 30 dias, mas o intervalo de expiração não parece estar armazenado em syslogins?
Solução
Você pode receber relatório com o seguinte proc:
use sybsystemprocs
go
----------------------------------------------------------------------------
print 'sp__helpexpire'
----------------------------------------------------------------------------
if exists (select 1 from sysobjects where type = "P" and name = "sp__helpexpire")
drop proc sp__helpexpire
go
create procedure sp__helpexpire
as
begin
set nocount on
declare @swexpire int
select @swexpire=value from master.dbo.sysconfigures
where name = 'systemwide password expiration'
print "Serverwide password expire: %1!" ,@swexpire
print ""
print "Logins:"
print "=============================================================="
select l.name login , case a.int_value
when null then @swexpire
else a.int_value end "expire in days"
from master.dbo.syslogins l , master.dbo.sysattributes a
where l.suid *= a.object
and a.object_type='PS'
and a.attribute=0
and object_cinfo='login'
print ""
print "Roles:"
print "=============================================================="
select r.name "role name", case a.int_value
when null then @swexpire
else a.int_value end "expire in days"
from master.dbo.syssrvroles r , master.dbo.sysattributes a
where r.srid *= a.object
and a.object_type='PS'
and a.attribute=0
and object_cinfo='role'
end
go
É sempre uma boa idéia verificar o código -fonte desses procedimentos do sistema (armazenado no banco de dados SybSystemProcs) que manipulam com os registros que você está procurando (neste caso, é sp_addlogin, sp_modifyLogin)
Outras dicas
Você pode usar o sp_configure para definir a data de expiração de senha de todos os usuários
sp_configure "systemwide password expiration", 30
go
Definirá todas as senhas dos usuários para expirar após 30 dias. Não tenho certeza se esse valor pode ser lido para um relatório. O padrão é 0.
tentar
EXEC SP_DISPLAYLOGIN
Para obter as perms para as configurações de um usuário individual, conectado como usuário.