Manejo de logines y usuarios

16/12/2003 - 20:53 por Hernán Rado | Informe spam
Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta logines y usuarios en
las bases de datos, que puedan darles permisos a objetos y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role fijo de servidor
securityadmin y dentro de cada base de usuario agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me de una mano

Saludos

Hernán

Preguntas similare

Leer las respuestas

#1 ulises
17/12/2003 - 00:20 | Informe spam
Vas a necesitar que los usuarios que manejen los logins
tengan permisos de securityadmin y db_owner en la base de
datos que puedan modificar.

Por ejemplo, si creas una base de datos test y en ella
ejecutas lo siguiente :

USE test
exec sp_addlogin usuario1, 'password1'
go
exec sp_addlogin usuario2, 'password2'
go
exec sp_grantdbaccess usuario1, usuario1
go
exec sp_grantdbaccess usuario2, usuario2
go
exec sp_addsrvrolemember usuario1, 'securityadmin'
go
exec sp_addrolemember 'db_owner', usuario1
go

tendrás dos usuarios : usuario1 que tiene los permisos
indicados y usuario2 que será un usuario común, luego de
ello si te conectas con usuario1 puedes modificar los
parámetros de usuario2 de la siguiente manera :

sp_password NULL, 'otropass', usuario2
go
sp_addrolemember 'db_datareader',usuario2
go
sp_defaultdb usuario2, 'pubs'
go
Password changed.
'usuario2' added to role 'db_datareader'.
Default database changed.

Saludos,
Ulises

Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta


logines y usuarios en
las bases de datos, que puedan darles permisos a objetos


y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role


fijo de servidor
securityadmin y dentro de cada base de usuario


agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal


como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS


LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR


DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo


agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me


de una mano

Saludos

Hernán


.

Respuesta Responder a este mensaje
#2 Hernán Rado
17/12/2003 - 15:22 | Informe spam
Gracias Ulises !!!
Yo quería lograr esto sin tener que agregar al usuario al rol db_owner de la
base, ya que no quiero que pueda hacer ciertas cosas que este role permite,
pero veo que no hay otro camino, no ??

Agradezco tu respuesta

"ulises" escribió en el mensaje
news:1541701c3c42b$36f80e90$
Vas a necesitar que los usuarios que manejen los logins
tengan permisos de securityadmin y db_owner en la base de
datos que puedan modificar.

Por ejemplo, si creas una base de datos test y en ella
ejecutas lo siguiente :

USE test
exec sp_addlogin usuario1, 'password1'
go
exec sp_addlogin usuario2, 'password2'
go
exec sp_grantdbaccess usuario1, usuario1
go
exec sp_grantdbaccess usuario2, usuario2
go
exec sp_addsrvrolemember usuario1, 'securityadmin'
go
exec sp_addrolemember 'db_owner', usuario1
go

tendrás dos usuarios : usuario1 que tiene los permisos
indicados y usuario2 que será un usuario común, luego de
ello si te conectas con usuario1 puedes modificar los
parámetros de usuario2 de la siguiente manera :

sp_password NULL, 'otropass', usuario2
go
sp_addrolemember 'db_datareader',usuario2
go
sp_defaultdb usuario2, 'pubs'
go
Password changed.
'usuario2' added to role 'db_datareader'.
Default database changed.

Saludos,
Ulises

Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta


logines y usuarios en
las bases de datos, que puedan darles permisos a objetos


y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role


fijo de servidor
securityadmin y dentro de cada base de usuario


agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal


como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS


LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR


DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo


agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me


de una mano

Saludos

Hernán


.

Respuesta Responder a este mensaje
#3 Javier Loria
17/12/2003 - 18:05 | Informe spam
Hola Hernan:
No se si entendi, pero si un Login pertenece al Rol de Servidor
SecurityAdmin SI PUEDE:
- Cambiar la Contrasena de los Logines SIN SABER LA CONTRASENA VIEJA
- Puede CAMBIAR LA BASE DE DATOS POR DEFECTO de un usuario.
Si adicionalmente el Login esta asociado con un Usuario en la BD que
pertence a los roles de db_AccessAdmin y db_SecurityAdmin podra agregar
usuarios a la BD y agregarlo a Roles de la BD, lo UNICO que no puede hacer
es agregarlo a los Roles FIJOS de la BD (db_reader, db_writer, etc.)
Esto puede facilmente sobrepasarse si creas tus propios roles de BD
(Ejemplo: Lector, LectorEscritor) y estos roles puede el Administrador o DBO
hacerlos miembros de los roles fijos de BD. De esta manera automaticamente
con hacerlos miembros de tus roles adquieren los permisos de los roles
fijos.
Algo que NO pueden hacer estos roles es administrar a los DBO o
SYSADMIN. Si necesitas un paso a paso en T-SQL, con gusto lo escribo.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Hernán Rado escribio:
Gracias Ulises !!!
Yo quería lograr esto sin tener que agregar al usuario al rol
db_owner de la base, ya que no quiero que pueda hacer ciertas cosas
que este role permite, pero veo que no hay otro camino, no ??

Agradezco tu respuesta

"ulises" escribió en el mensaje
news:1541701c3c42b$36f80e90$
Vas a necesitar que los usuarios que manejen los logins
tengan permisos de securityadmin y db_owner en la base de
datos que puedan modificar.

Por ejemplo, si creas una base de datos test y en ella
ejecutas lo siguiente :

USE test
exec sp_addlogin usuario1, 'password1'
go
exec sp_addlogin usuario2, 'password2'
go
exec sp_grantdbaccess usuario1, usuario1
go
exec sp_grantdbaccess usuario2, usuario2
go
exec sp_addsrvrolemember usuario1, 'securityadmin'
go
exec sp_addrolemember 'db_owner', usuario1
go

tendrás dos usuarios : usuario1 que tiene los permisos
indicados y usuario2 que será un usuario común, luego de
ello si te conectas con usuario1 puedes modificar los
parámetros de usuario2 de la siguiente manera :

sp_password NULL, 'otropass', usuario2
go
sp_addrolemember 'db_datareader',usuario2
go
sp_defaultdb usuario2, 'pubs'
go
Password changed.
'usuario2' added to role 'db_datareader'.
Default database changed.

Saludos,
Ulises

Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta


logines y usuarios en
las bases de datos, que puedan darles permisos a objetos


y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role


fijo de servidor
securityadmin y dentro de cada base de usuario


agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal


como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS


LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR


DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo


agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me


de una mano

Saludos

Hernán


.
Respuesta Responder a este mensaje
#4 Hernán Rado
18/12/2003 - 17:12 | Informe spam
Ulises, estuve probando tu ejemplo y no puedo lograr cambiar la contraseña
ni agregar al usuario de la DB a los roles fijos de la base de tatos, acá te
paso el error:

Server: Msg 15210, Level 16, State 1, Procedure sp_password, Line 15
Only members of the sysadmin role can use the loginame option. The password
was not changed.
Server: Msg 15000, Level 16, State 1, Procedure sp_addrolemember, Line 41
Only members of the sysadmin role or the database owner can execute this
stored procedure.
Default database changed.

(si pude cambiar la base por defecto)

Se te ocurre algo ?


"ulises" escribió en el mensaje
news:1541701c3c42b$36f80e90$
Vas a necesitar que los usuarios que manejen los logins
tengan permisos de securityadmin y db_owner en la base de
datos que puedan modificar.

Por ejemplo, si creas una base de datos test y en ella
ejecutas lo siguiente :

USE test
exec sp_addlogin usuario1, 'password1'
go
exec sp_addlogin usuario2, 'password2'
go
exec sp_grantdbaccess usuario1, usuario1
go
exec sp_grantdbaccess usuario2, usuario2
go
exec sp_addsrvrolemember usuario1, 'securityadmin'
go
exec sp_addrolemember 'db_owner', usuario1
go

tendrás dos usuarios : usuario1 que tiene los permisos
indicados y usuario2 que será un usuario común, luego de
ello si te conectas con usuario1 puedes modificar los
parámetros de usuario2 de la siguiente manera :

sp_password NULL, 'otropass', usuario2
go
sp_addrolemember 'db_datareader',usuario2
go
sp_defaultdb usuario2, 'pubs'
go
Password changed.
'usuario2' added to role 'db_datareader'.
Default database changed.

Saludos,
Ulises

Que tal Gente !

Necesito que un grupo de usuarios puedan dar de alta


logines y usuarios en
las bases de datos, que puedan darles permisos a objetos


y agregarlos a los
roles y cambiar contraseñas.

Esto resulta sencillo si agregamos al usuario/s al role


fijo de servidor
securityadmin y dentro de cada base de usuario


agregarlo/s al los roles
fijos de base db_securityadmin y al db_accessadmin (tal


como lo recomiendan
los manuales)

Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS


LOGINES (ya que
pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR


DEFECTO NI AGREGAR A
UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo


agregar a un
usuario al rol db_datareader)

¿Alguién pudo lograr esto?

Desde ya muchas gracias y espero que alguno de ustes me


de una mano

Saludos

Hernán


.

Respuesta Responder a este mensaje
#5 Hernán Rado
18/12/2003 - 17:18 | Informe spam
Que tal Javier, gracias por contestar, pero te comento que no puedo lograr
que un usuario que pertenezca al role de servidor SecurityAdmin no puede
cambiar contraseñas, sin saber la contraseña vieja. (la base por defecto SI
la puede cambiar, ya lo probe)

Por otro lado, como vos decís, puedo solventar el no poder agregar a los
usuarios a los roles fijos de la base, creando roles de usuario y
asignándolos a los roles fijos.

En concreto lo único que me faltaría para se una persona feliz, es poder
cambiar la contraseña de los usuarios perteneciendo al SecurityAdmin sin
saber la contraseña vieja. ¿vos lo probaste, pudiste?

Nuevamente agradezco tu respuesta




"Javier Loria" escribió en el mensaje
news:
Hola Hernan:
No se si entendi, pero si un Login pertenece al Rol de Servidor
SecurityAdmin SI PUEDE:
- Cambiar la Contrasena de los Logines SIN SABER LA CONTRASENA


VIEJA
- Puede CAMBIAR LA BASE DE DATOS POR DEFECTO de un usuario.
Si adicionalmente el Login esta asociado con un Usuario en la BD que
pertence a los roles de db_AccessAdmin y db_SecurityAdmin podra agregar
usuarios a la BD y agregarlo a Roles de la BD, lo UNICO que no puede hacer
es agregarlo a los Roles FIJOS de la BD (db_reader, db_writer, etc.)
Esto puede facilmente sobrepasarse si creas tus propios roles de BD
(Ejemplo: Lector, LectorEscritor) y estos roles puede el Administrador o


DBO
hacerlos miembros de los roles fijos de BD. De esta manera automaticamente
con hacerlos miembros de tus roles adquieren los permisos de los roles
fijos.
Algo que NO pueden hacer estos roles es administrar a los DBO o
SYSADMIN. Si necesitas un paso a paso en T-SQL, con gusto lo escribo.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.

Hernán Rado escribio:
> Gracias Ulises !!!
> Yo quería lograr esto sin tener que agregar al usuario al rol
> db_owner de la base, ya que no quiero que pueda hacer ciertas cosas
> que este role permite, pero veo que no hay otro camino, no ??
>
> Agradezco tu respuesta
>
> "ulises" escribió en el mensaje
> news:1541701c3c42b$36f80e90$
> Vas a necesitar que los usuarios que manejen los logins
> tengan permisos de securityadmin y db_owner en la base de
> datos que puedan modificar.
>
> Por ejemplo, si creas una base de datos test y en ella
> ejecutas lo siguiente :
>
> USE test
> exec sp_addlogin usuario1, 'password1'
> go
> exec sp_addlogin usuario2, 'password2'
> go
> exec sp_grantdbaccess usuario1, usuario1
> go
> exec sp_grantdbaccess usuario2, usuario2
> go
> exec sp_addsrvrolemember usuario1, 'securityadmin'
> go
> exec sp_addrolemember 'db_owner', usuario1
> go
>
> tendrás dos usuarios : usuario1 que tiene los permisos
> indicados y usuario2 que será un usuario común, luego de
> ello si te conectas con usuario1 puedes modificar los
> parámetros de usuario2 de la siguiente manera :
>
> sp_password NULL, 'otropass', usuario2
> go
> sp_addrolemember 'db_datareader',usuario2
> go
> sp_defaultdb usuario2, 'pubs'
> go
> Password changed.
> 'usuario2' added to role 'db_datareader'.
> Default database changed.
>
> Saludos,
> Ulises
>
>> Que tal Gente !
>>
>> Necesito que un grupo de usuarios puedan dar de alta
> logines y usuarios en
>> las bases de datos, que puedan darles permisos a objetos
> y agregarlos a los
>> roles y cambiar contraseñas.
>>
>> Esto resulta sencillo si agregamos al usuario/s al role
> fijo de servidor
>> securityadmin y dentro de cada base de usuario
> agregarlo/s al los roles
>> fijos de base db_securityadmin y al db_accessadmin (tal
> como lo recomiendan
>> los manuales)
>>
>> Pero de esta forma NO PUEDO CAMBIAR LA CONTRASEÑA DE LOS
> LOGINES (ya que
>> pide la contraseña vieja), NO PUEDO CAMBIAR LA BASE POR
> DEFECTO NI AGREGAR A
>> UN USUARIO A UN ROL FIJO DE BASE DE DATOS. (Ej: no puedo
> agregar a un
>> usuario al rol db_datareader)
>>
>> ¿Alguién pudo lograr esto?
>>
>> Desde ya muchas gracias y espero que alguno de ustes me
> de una mano
>>
>> Saludos
>>
>> Hernán
>>
>>
>> .


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida