You are on page 1of 27

Administración de Base de Datos

Unidad Tema Catedrático


Ricardo Muro

Wihtout Authenticacion - Start MongoDB without access control


➢ (Shell mongo)
➢ (servidor mongod)

1) check your currently selected database


> db
test

2) cambia a admin
> use admin
switched to db admin

3) check your currently selected database


> db
admin

4) Muestra los usuarios


Recuerda que este usuario lo creaste sin estar autenticado.
> show users
{
"_id" : "admin.root",
"userId" : UUID("b8c7ea83-3b78-46ad-bb7c-fd784f0baaf0"),
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

Configura el control de acceso

1) Detén el servidor mongod y cierra el Shell mongo.


• Shut down the mongod instance. (detén el servidor)
• Exit the mongo shell. (cierra todas las conexiones)

2) Configura el archivo mongod.cfg

# mongod.conf # mongod.conf

# for documentation of all options, see: # for documentation of all options, see:
# #
http://docs.mongodb.org/manual/reference/configuratio http://docs.mongodb.org/manual/reference/configuratio
n-options/ n-options/

# Where and how to store data. # Where and how to store data.
storage: storage:
dbPath: %MONGO_DATA_PATH% dbPath: c:\data\db
journal: journal:
enabled: true enabled: true
# engine: # engine:
# mmapv1: # mmapv1:
# wiredTiger: # wiredTiger:

# where to write logging data. # where to write logging data.


systemLog: systemLog:
destination: file destination: file
logAppend: true logAppend: true
path: %MONGO_LOG_PATH%\mongod.log path: c:\data\log\mongod.log <-Investigar para que es

# network interfaces # network interfaces


net: net:
port: 27017 port: 27017
bindIp: 127.0.0.1 bindIp: 127.0.0.1

#processManagement: #processManagement:

#security: security:
authorization: enabled
authorization: enabled
#operationProfiling:
#operationProfiling:
#replication:
#replication:
#sharding:
#sharding:
## Enterprise-Only Options:
## Enterprise-Only Options:
#auditLog:
#auditLog:
#snmp:
#snmp:

3) Verifica que le archivo este correctamente configurado. (usa el símbolo del sistema)
C:\Users\Usuario>cd C:\Program Files\MongoDB\Server\4.4\bin

bin>mongod --config "C:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg" --install

{"t":{"$date":"2022-02-25T17:41:01.162Z"},"s":"F", "c":"CONTROL", "id":20574, "ctx":"main","msg":"Error during


global initialization","attr":{"error":{"code":38,"codeName":"FileNotOpen","errmsg":"Failed to open
c:\\data\\log\\mongod.log"}}}
4) Start the mongod with access control enabled. (usa el mismo símbolo del sistema)

bin>mongod --auth --port 27017 --dbpath /data/db

With access control enabled

1) Connect and authenticate as the user administrator. (usa otro símbolo del sistema)

bin>mongo --port 27017 -u "root" –p "123456" --authenticationDatabase "admin"


bin>mongo --port 27017 --authenticationDatabase "admin" -u "root" –p "123456"

2) check your currently selected database


> db
test

3) muestra todas la bases de datos


show dbs
BD_Escuela1 0.000GB
BD_Prueba1 0.000GB
Patito1 0.000GB
admin 0.000GB
config 0.000GB
local 0.000GB

4) cambia a admin
> use admin
switched to db admin

5) check your currently selected database


> db
admin

6) Muestra los usuarios


show users
{
"_id" : "admin.root",
"userId" : UUID("8f0546e9-ca93-4e1c-a27e-92fb0dbe1bff"),
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
},
{
"role" : "readWriteAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

7) cambia a BD_Prueba1
> use BD_Prueba1
switched to db BD_Prueba1

8) check your currently selected database


> db
BD_Prueba1

9) Muestra los usuarios


show users
{
"_id" : "BD_Prueba1.usuario1",
"userId" : UUID("357bc30f-e251-47c5-bde7-cd6de5e755f7"),
"user" : "usuario1",
"db" : "BD_Prueba1",
"roles" : [
{
"role" : "read",
"db" : "BD_Prueba1"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

10) Mostrar las colecciones de la base de datos en uso


> show collections
Persona

11) Muestras los documentos de la colección


> db.Persona.find().pretty()
{
"_id" : ObjectId("6047faac0cfe5b0a76e6dcf7"),
"cvePer" : "A",
"nomPer" : "Hugo"
}
{
"_id" : ObjectId("60480529fa70264dbd11fee7"),
"cvePer" : "B",
"nomPer" : "Luis"
}

12) Inserta otro documento (registro) en la colección


> db.Persona.insert({"cvePer":"C","nomPer":"Ana"})
WriteResult({ "nInserted" : 1 })

13) Muestras los documentos de la colección


db.Persona.find().pretty()
{
"_id" : ObjectId("6047faac0cfe5b0a76e6dcf7"),
"cvePer" : "A",
"nomPer" : "Hugo"
}
{
"_id" : ObjectId("60480529fa70264dbd11fee7"),
"cvePer" : "B",
"nomPer" : "Luis"
}
{
"_id" : ObjectId("60493f0eae4144807d7f984b"),
"cvePer" : "C",
"nomPer" : "Ana"
}

14) Sal de mongo


> exit
bye

15) Connect and authenticate as the user usuario1. (usa el símbolo del sistema)

bin>mongo --port 27017 -u "usuario1" –p "ppp111" --authenticationDatabase "BD_Prueba1"

16) check your currently selected database


> db
test

17) muestra todas la bases de datos


> show dbs
BD_Prueba1 0.000GB

18) cambia a admin


> use admin
switched to db admin

16) muestra la base de datos actual


> db
admin

17) muestra los usuarios


> show users
uncaught exception: Error: not authorized on admin to execute command { usersInfo: 1.0, lsid: { id: UUID("af6e4973-
2608-4a87-957a-7419d7461a38") }, $db: "admin" } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1639:15
shellHelper.show@src/mongo/shell/utils.js:914:9
shellHelper@src/mongo/shell/utils.js:819:15
@(shellhelp2):1:1

18) cambia a BD_Prueba1


> use BD_Prueba1
switched to db BD_Prueba1

19) muestra la base de datos actual


> db
BD_Prueba1

20) muestra los usuarios


> show users
uncaught exception: Error: not authorized on BD_Prueba1 to execute command { usersInfo: 1.0, lsid: { id:
UUID("af6e4973-2608-4a87-957a-7419d7461a38") }, $db: "BD_Prueba1" } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1639:15
shellHelper.show@src/mongo/shell/utils.js:914:9
shellHelper@src/mongo/shell/utils.js:819:15
@(shellhelp2):1:1

21) muestra las colecciones


> show collections
Persona

22) muestra el contenido de la colección


db.Persona.find().pretty()
{
"_id" : ObjectId("6047faac0cfe5b0a76e6dcf7"),
"cvePer" : "A",
"nomPer" : "Hugo"
}
{
"_id" : ObjectId("60480529fa70264dbd11fee7"),
"cvePer" : "B",
"nomPer" : "Luis"
}
{
"_id" : ObjectId("604950985e7f7b55b056cbcf"),
"cvePer" : "C",
"nomPer" : "Ana"
}

23) Inserta otro documento (registro) en la colección


> db.Persona.insert({"cvePer":"D","nomPer":"Maria"})
WriteCommandError({
"ok" : 0,
"errmsg" : "not authorized on BD_Prueba1 to execute command { insert: \"Persona\", ordered: true, lsid: { id:
UUID(\"af6e4973-2608-4a87-957a-7419d7461a38\") }, $db: \"BD_Prueba1\" }",
"code" : 13,
"codeName" : "Unauthorized"
})

24) muestra el contenido de la colección


db.Persona.find().pretty()
{
"_id" : ObjectId("6047faac0cfe5b0a76e6dcf7"),
"cvePer" : "A",
"nomPer" : "Hugo"
}
{
"_id" : ObjectId("60480529fa70264dbd11fee7"),
"cvePer" : "B",
"nomPer" : "Luis"
}
{
"_id" : ObjectId("604950985e7f7b55b056cbcf"),
"cvePer" : "C",
"nomPer" : "Ana"
}

25) Sal de mongo


> exit
bye

Bitácora de entendimiento

Entendí todo Entendí casi todo Entendí muy poco

Pregunta para el instructor (Opcional)


¿?
Ejercicios

1) Connect and authenticate as the user administrator (root) – Con control de acceso habilitado

Código o imagen

C:\Program Files\MongoDB\Server\4.4\bin>
mongo --port 27017 -u "root" -p "123456" --authenticationDatabase "admin"
MongoDB shell version v4.4.2
connecting to:
mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=
mongodb
Implicit session: session { "id" : UUID("4b81f5dc-7bf1-41b4-ab28-aacc0de33276") }
MongoDB server version: 4.4.2

2) Crea la base de datos BD_UTNG


a) Crea las 3 colecciones (Grupo-Prepa-Alumno)
b) Solo inserta los Grupos y las Prepas

Diagrama Entidad Relación


Diagrama Relacional

--Establece en uso la base de datos master


use master
go

--Crea la base de datos


Create DataBase BD_UTNG
go

--Establece en uso la base de datos


use BD_UTNG
go

--Crea la tabla
Create Table Grupo
(
cveGru char(1) not null, --pk
nomGru varchar(50) not null,

constraint pk_cveGru Primary Key(cveGru)


)
go

--Crea la tabla
Create Table Prepa
(
cvePre smallint not null, --pk
nomPre varchar(50) not null

Constraint pk_cvePre Primary Key(cvePre)


)
go

--Crea la tabla
Create Table Alumno
(
cveAlu int not null, --pk
apePatAlu varchar(50) not null,
apeMatAlu varchar(50) not null,
nomAlu varchar(50) not null,
genAlu varchar(10) not null,
edaAlu tinyint not null,
cveGru char(1) null, --fk
cvePre smallint not null, --fk

Constraint pk_cveAlu Primary Key(cveAlu),


Constraint fk_cveGru Foreign Key(cveGru) References Grupo(cveGru) On Delete Cascade,
Constraint fk_cvePre Foreign Key(cvePre) References Prepa(cvePre)
)
go

--Insertar Grupos
Insert Into Grupo(cveGru,nomGru)values('A','Aguilas')
Insert Into Grupo(cveGru,nomGru)values('B','Chivas')
Insert Into Grupo(cveGru,nomGru)values('C','Pumas')
go

--Insertar Prepa
Insert Into Prepa(cvePre,nomPre)values(1,'TEC')
Insert Into Prepa(cvePre,nomPre)values(2,'CBTIS')
Insert Into Prepa(cvePre,nomPre)values(3,'CECYTE')
Insert Into Prepa(cvePre,nomPre)values(4,'ANÁHUAC')
go

--Insertar Alumnos
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cveGru,cvePre)
values(1,'Gómez','García','Francisco','Hombre',20,'A',1);
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cveGru,cvePre)
values(2,'López','Sánchez','Miguel','Hombre',15,'A',2);
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cveGru,cvePre)
values(3,'Fuentes','Pérez','Maricela','Mujer',19,'A',3)
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cveGru,cvePre)
values(4,'Martínez','González','Carmen','Mujer',18,'B',2)
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cveGru,cvePre)
values(5,'Alvarado','Guerrero','Alma','Mujer',18,'B',2)
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cveGru,cvePre)
values(6,'Aguilar','Rodríguez','Guillermo','Hombre',24,'B',3)
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cvePre)
values(7,'Maussan','Ovni','Jaime','Hombre',28,1)
Insert Into Alumno(cveAlu,apePatAlu,apeMatAlu,nomAlu,genAlu,edaAlu,cvePre)
values(8,'Trejo','Fantasma','Carlos','Hombre',20,2)
go

Código o imagen:

Creacion de la base de datos:


> use BD_UTNG
switched to db BD_UTNG

Crear las colecciones


> db.createCollection("Grupo")
{ "ok" : 1 }
> db.createCollection("Prepa")
{ "ok" : 1 }
> db.createCollection("Alumno")
{ "ok" : 1 }
> show collections
Alumno
Grupo
Prepa

Insertar los grupos


> db.Grupo.insert({"cveGru":"A", "nomGru": "Aguilas"})
WriteResult({ "nInserted" : 1 })
> db.Grupo.insert({"cveGru":"B", "nomGru": "Chivas"})
WriteResult({ "nInserted" : 1 })
> db.Grupo.insert({"cveGru":"C", "nomGru": "Pumas"})
WriteResult({ "nInserted" : 1 })
> db.Grupo.find().pretty()
{
"_id" : ObjectId("621d7784e55d5eccaf7ed32a"),
"cveGru" : "A",
"nomGru" : "Aguilas"
}
{
"_id" : ObjectId("621d7796e55d5eccaf7ed32b"),
"cveGru" : "B",
"nomGru" : "Chivas"
}
{
"_id" : ObjectId("621d779ee55d5eccaf7ed32c"),
"cveGru" : "C",
"nomGru" : "Pumas"
}

Inserta los alumnos


> db.Alumno.insert({"cveAlu":"1", "apePatAlu": "Gómez", "apeMatAlu": "Garcia", "nomAlu":
"Francisco", "genAlu": "Hombre", "edadAlu": "20", "cveGru": "A" , "cvePre": "1"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"2", "apePatAlu": "López", "apeMatAlu": "Sánchez", "nomAlu":
"Miguel", "genAlu": "Hombre", "edadAlu": "15", "cveGru": "A" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"3", "apePatAlu": "Fuentes", "apeMatAlu": "Pérez", "nomAlu":
"Maricela", "genAlu": "Mujer", "edadAlu": "19", "cveGru": "A" , "cvePre": "3"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"4", "apePatAlu": "Martínez", "apeMatAlu": "González",
"nomAlu": "Carmen", "genAlu": "Mujer", "edadAlu": "18", "cveGru": "B" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"5", "apePatAlu": "Alvarado", "apeMatAlu": "Guerrero",
"nomAlu": "Alma", "genAlu": "Mujer", "edadAlu": "18", "cveGru": "B" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"6", "apePatAlu": "Aguilar", "apeMatAlu": "Rodríguez", "nomAlu":
"Guillermo", "genAlu": "Hombre", "edadAlu": "24", "cveGru": "B" , "cvePre": "3"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"7", "apePatAlu": "Maussan", "apeMatAlu": "Ovni", "nomAlu":
"Jaime", "genAlu": "Hombre", "edadAlu": "28", "cveGru": "28" , "cvePre": "1"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"8", "apePatAlu": "Trejo", "apeMatAlu": "Fantasma", "nomAlu":
"Carlos", "genAlu": "Hombre", "edadAlu": "20", "cveGru": "20" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })

> db.Alumno.find().pretty()
{
"_id" : ObjectId("621d7839e55d5eccaf7ed32d"),
"cveAlu" : "1",
"apePatAlu" : "Gómez",
"apeMatAlu" : "Garcia",
"nomAlu" : "Francisco",
"genAlu" : "Hombre",
"edadAlu" : "20",
"cveGru" : "A",
"cvePre" : "1"
}
{
"_id" : ObjectId("621d789ee55d5eccaf7ed32e"),
"cveAlu" : "2",
"apePatAlu" : "López",
"apeMatAlu" : "Sánchez",
"nomAlu" : "Miguel",
"genAlu" : "Hombre",
"edadAlu" : "15",
"cveGru" : "A",
"cvePre" : "2"
}
{
"_id" : ObjectId("621d78ace55d5eccaf7ed32f"),
"cveAlu" : "3",
"apePatAlu" : "Fuentes",
"apeMatAlu" : "Pérez",
"nomAlu" : "Maricela",
"genAlu" : "Mujer",
"edadAlu" : "19",
"cveGru" : "A",
"cvePre" : "3"
}
{
"_id" : ObjectId("621d78b8e55d5eccaf7ed330"),
"cveAlu" : "4",
"apePatAlu" : "Martínez",
"apeMatAlu" : "González",
"nomAlu" : "Carmen",
"genAlu" : "Mujer",
"edadAlu" : "18",
"cveGru" : "B",
"cvePre" : "2"
}
{
"_id" : ObjectId("621d78c5e55d5eccaf7ed331"),
"cveAlu" : "5",
"apePatAlu" : "Alvarado",
"apeMatAlu" : "Guerrero",
"nomAlu" : "Alma",
"genAlu" : "Mujer",
"edadAlu" : "18",
"cveGru" : "B",
"cvePre" : "2"
}
{
"_id" : ObjectId("621d78d1e55d5eccaf7ed332"),
"cveAlu" : "6",
"apePatAlu" : "Aguilar",
"apeMatAlu" : "Rodríguez",
"nomAlu" : "Guillermo",
"genAlu" : "Hombre",
"edadAlu" : "24",
"cveGru" : "B",
"cvePre" : "3"
}
{
"_id" : ObjectId("621d78dee55d5eccaf7ed333"),
"cveAlu" : "7",
"apePatAlu" : "Maussan",
"apeMatAlu" : "Ovni",
"nomAlu" : "Jaime",
"genAlu" : "Hombre",
"edadAlu" : "28",
"cveGru" : "28",
"cvePre" : "1"
}
{
"_id" : ObjectId("621d78e9e55d5eccaf7ed334"),
"cveAlu" : "8",
"apePatAlu" : "Trejo",
"apeMatAlu" : "Fantasma",
"nomAlu" : "Carlos",
"genAlu" : "Hombre",
"edadAlu" : "20",
"cveGru" : "20",
"cvePre" : "2"
}

Inserta las prepas


> db.Prepa.insert({"cvePre":"1","nomPre":"Tec"})
WriteResult({ "nInserted" : 1 })
> db.Prepa.insert({"cvePre":"2","nomPre":"CBTIS"})
WriteResult({ "nInserted" : 1 })
> db.Prepa.insert({"cvePre":"3","nomPre":"CECYTE"})
WriteResult({ "nInserted" : 1 })
> db.Prepa.insert({"cvePre":"4","nomPre":"ANAHUAC"})
WriteResult({ "nInserted" : 1 })
> db.Prepa.find().pretty()
{
"_id" : ObjectId("62229115e955ea357c90060b"),
"cvePre" : "1",
"nomPre" : "Tec"
}
{
"_id" : ObjectId("6222911fe955ea357c90060c"),
"cvePre" : "2",
"nomPre" : "CBTIS"
}
{
"_id" : ObjectId("62229126e955ea357c90060d"),
"cvePre" : "3",
"nomPre" : "CECYTE"
}
{
"_id" : ObjectId("6222912ee955ea357c90060e"),
"cvePre" : "4",
"nomPre" : "ANAHUAC"
}

3) Crea un usuario [adutng] que administre solamente la base de datos BD_UTNG (que pueda efectuar cualquier
operación administrativa en la base de datos)

Código o imagen

> db.createUser({user:"adutng",pwd:"123456",roles:[{role:"dbOwner",db:"BD_UTNG"}]})
Successfully added user: {
"user" : "adutng",
"roles" : [
{
"role" : "dbOwner",
"db" : "BD_UTNG"
}
]
}

4) Cierra sesión en Mongo.


Connect and authenticate as the user (adutng) – Con control de acceso habilitado

Código o imagen

C:\Program Files\MongoDB\Server\4.4\bin>
mongo --port 27017 -u "adutng" -p "123456" --authenticationDatabase "BD_UTNG"
MongoDB shell version v4.4.2
connecting to:
mongodb://127.0.0.1:27017/?authSource=BD_UTNG&compressors=disabled&gssapiServiceNa
me=mongodb
Implicit session: session { "id" : UUID("f593f25d-5a4f-49a2-abf0-2684f882d9fb") }
MongoDB server version: 4.4.2

5) Agrégate a los Alumnos

> db.Alumno.insert({"cveAlu":"1", "apePatAlu": "Gómez", "apeMatAlu": "Garcia", "nomAlu":


"Francisco", "genAlu": "Hombre", "edadAlu": "20", "cveGru": "A" , "cvePre": "1"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"2", "apePatAlu": "López", "apeMatAlu": "Sánchez", "nomAlu":
"Miguel", "genAlu": "Hombre", "edadAlu": "15", "cveGru": "A" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"3", "apePatAlu": "Fuentes", "apeMatAlu": "Pérez", "nomAlu":
"Maricela", "genAlu": "Mujer", "edadAlu": "19", "cveGru": "A" , "cvePre": "3"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"4", "apePatAlu": "Martínez", "apeMatAlu": "González",
"nomAlu": "Carmen", "genAlu": "Mujer", "edadAlu": "18", "cveGru": "B" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"5", "apePatAlu": "Alvarado", "apeMatAlu": "Guerrero",
"nomAlu": "Alma", "genAlu": "Mujer", "edadAlu": "18", "cveGru": "B" , "cvePre": "2"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"6", "apePatAlu": "Aguilar", "apeMatAlu": "Rodríguez",
"nomAlu": "Guillermo", "genAlu": "Hombre", "edadAlu": "24", "cveGru": "B" , "cvePre": "3"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu":"7", "apePatAlu": "Maussan", "apeMatAlu": "Ovni", "nomAlu":
"Jaime", "genAlu": "Hombre", "edadAlu": "28", "cveGru": "28" , "cvePre": "1"})
WriteResult({ "nInserted" : 1 })
> db.Alumno.insert({"cveAlu ":"8"," apePatAlu ":"Trejo","
apeMatAlu":"Fantasma","nomAlu":"Carlos","genAlu":"Hombre","edaAlu":"20","cvePre":"2"})
WriteResult({ "nInserted" : 1 })

6) Proyecta todos los Alumnos

Código o imagen

> db.Alumno.find().pretty()
{
"_id" : ObjectId("6221a974e0e5268f4c0e8a4c"),
"cveAlu " : "1",
" apePatAlu " : "Gómez",
" apeMatAlu" : "García",
"nomAlu" : "Francisco",
"genAlu" : "Hombre",
"edaAlu" : "20",
"cveGru" : "A",
"cvePre" : "1"
}
{
"_id" : ObjectId("6221aa44e0e5268f4c0e8a4d"),
"cveAlu " : "2",
" apePatAlu " : "Lopez",
" apeMatAlu" : "Sanchez",
"nomAlu" : "Miguel",
"genAlu" : "Hombre",
"edaAlu" : "15",
"cveGru" : "A",
"cvePre" : "2"
}
{
"_id" : ObjectId("6221aa4be0e5268f4c0e8a4e"),
"cveAlu " : "3",
" apePatAlu " : "Fuentes",
" apeMatAlu" : "Perez",
"nomAlu" : "Marciela",
"genAlu" : "Mujer",
"edaAlu" : "19",
"cveGru" : "A",
"cvePre" : "3"
}
{
"_id" : ObjectId("6221aa51e0e5268f4c0e8a4f"),
"cveAlu " : "4",
" apePatAlu " : "Martinez",
" apeMatAlu" : "Gonzalez",
"nomAlu" : "Carmen",
"genAlu" : "Mujer",
"edaAlu" : "18",
"cveGru" : "B",
"cvePre" : "2"
}
{
"_id" : ObjectId("6221aa5ae0e5268f4c0e8a50"),
"cveAlu " : "5",
" apePatAlu " : "Alvarado",
" apeMatAlu" : "Guerrero",
"nomAlu" : "Alma",
"genAlu" : "Mujer",
"edaAlu" : "18",
"cveGru" : "B",
"cvePre" : "2"
}
{
"_id" : ObjectId("6221aa61e0e5268f4c0e8a51"),
"cveAlu " : "6",
" apePatAlu " : "Aguilar",
" apeMatAlu" : "Rogriguez",
"nomAlu" : "Guillermo",
"genAlu" : "Hombre",
"edaAlu" : "24",
"cveGru" : "B",
"cvePre" : "3"
}
{
"_id" : ObjectId("6221aa66e0e5268f4c0e8a52"),
"cveAlu " : "6",
" apePatAlu " : "Maussan",
" apeMatAlu" : "Ovni",
"nomAlu" : "Jaime",
"genAlu" : "Hombre",
"edaAlu" : "28",
"cvePre" : "1"
}
{
"_id" : ObjectId("6221aa6ce0e5268f4c0e8a53"),
"cveAlu " : "7",
" apePatAlu " : "Maussan",
Rojas Hernández Miguel Arturo
" apeMatAlu" : "Ovni",
"nomAlu" : "Jaime",
"genAlu" : "Hombre",
"edaAlu" : "28",
"cvePre" : "1"
}
{
"_id" : ObjectId("6221aa75e0e5268f4c0e8a54"),
"cveAlu " : "8",
" apePatAlu " : "Trejo",
" apeMatAlu" : "Fantasma",
"nomAlu" : "Carlos",
"genAlu" : "Hombre",
"edaAlu" : "20",
"cvePre" : "2"
}

7) Muestra las base de datos

Código o imagen

> show dbs


BD_UTNG 0.000GB

8) Muestra los usuarios

Código o imagen

> show users


{
"_id" : "BD_UTNG.adutng",
"userId" : UUID("79d2b912-93f6-4141-b6ef-6cec35a91509"),
"user" : "adutng",
"db" : "BD_UTNG",
"roles" : [
{
"role" : "dbOwner",
"db" : "BD_UTNG"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

9) Establece en uso la base de datos BD_Prueba1

Código o imagen

> use BD_Prueba


switched to db BD_Prueba

10) Muestra sus usuarios

Código o imagen

> show users


uncaught exception: Error: not authorized on BD_Prueba to execute command { usersInfo:
1.0, lsid: { id: UUID("f593f25d-5a4f-49a2-abf0-2684f882d9fb") }, $db: "BD_Prueba" } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1639:15
shellHelper.show@src/mongo/shell/utils.js:914:9
shellHelper@src/mongo/shell/utils.js:819:15
@(shellhelp2):1:1

11) Proyecta los documentos de su colección Persona

Código o imagen

> db.Persona.find().pretty()
Error: error: {
"ok" : 0,
"errmsg" : "not authorized on BD_Prueba to execute command { find: \"Persona\", filter:
{}, lsid: { id: UUID(\"f593f25d-5a4f-49a2-abf0-2684f882d9fb\") }, $db: \"BD_Prueba\" }",
"code" : 13,
"codeName" : "Unauthorized"
}

12) Cierra sesión en Mongo.


Connect and authenticate as the user (root) – Con control de acceso habilitado
Código o imagen

C:\Program Files\MongoDB\Server\4.4\bin>
mongo --port 27017 -u "root" -p "123456" --authenticationDatabase "admin"
MongoDB shell version v4.4.2
connecting to:
mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=
mongodb
Implicit session: session { "id" : UUID("96182eb4-8e82-4a2d-bd4d-52a057fae5bf") }
MongoDB server version: 4.4.2

13) Establece en uso la base de datos BD_Prueba1

Código o imagen

> use BD_Prueba1


switched to db BD_Prueba1

14) Muestra sus usuarios

Código o imagen

> show users


{
"_id" : "BD_Prueba1.usuario1",
"userId" : UUID("4860939e-6f7e-4091-9ecf-c599951c327c"),
"user" : "usuario1",
"db" : "BD_Prueba1",
"roles" : [
{
"role" : "read",
"db" : "BD_Prueba1"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

15) Proyecta los documentos de su colección Persona

Código o imagen
> db.Persona.find().pretty()
{
"_id" : ObjectId("621430b8c86ab778240cbe35"),
"cvePer" : "A",
"nomPer" : "Hugo"
}
{
"_id" : ObjectId("6214381e0f91358a384051b2"),
"cvePer" : "B",
"nomPer" : "Luis"
}

16) Crea un usuario [usuleer] que pueda leer los documentos de las colecciones de todas las bases de datos

Código o imagen

> db.createUser({user:"usuleer",pwd:"123456",roles:[{role:"readAnyDatabase",db:"admin"}]})
Successfully added user: {
"user" : "usuleer",
"roles" : [
{
"role" : "readAnyDatabase",
"db" : "admin"
}
]
}

17) Cierra sesión en Mongo.


Connect and authenticate as the user (usuleer) – Con control de acceso habilitado

Código o imagen

C:\Program Files\MongoDB\Server\4.4\bin>
mongo --port 27017 -u "usuleer" -p "123456" --authenticationDatabase "admin"
MongoDB shell version v4.4.2
connecting to:
mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=
mongodb
Implicit session: session { "id" : UUID("f281aad0-bb0f-4103-91e2-facc55324a81") }
MongoDB server version: 4.4.2

18) Establece en uso la base de datos BD_Prueba1 y Proyecta los documentos de su colección Persona

Código o imagen
> use BD_Prueba1
switched to db BD_Prueba1
> db.Persona.find().pretty()
{
"_id" : ObjectId("621430b8c86ab778240cbe35"),
"cvePer" : "A",
"nomPer" : "Hugo"
}
{
"_id" : ObjectId("6214381e0f91358a384051b2"),
"cvePer" : "B",
"nomPer" : "Luis"
}

19) Establece en uso la base de datos BD_Escuela1 y Proyecta los documentos de su colección Materia

Código o imagen

> use BD_Escuela1


switched to db BD_Escuela1
> db.Materia.find().pretty()
{
"_id" : ObjectId("620af9a10984e1a34c55782a"),
"cveMat" : 1000,
"nomMat" : "Ingles"
}
{
"_id" : ObjectId("620af95313d51783217fb364"),
"cveMat" : 2000,
"nomMat" : "BD"
}

20) Muestra los usuarios

Código o imagen

> show users


uncaught exception: Error: not authorized on BD_Escuela1 to execute command { usersInfo:
1.0, lsid: { id: UUID("f281aad0-bb0f-4103-91e2-facc55324a81") }, $db: "BD_Escuela1" } :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype.getUsers@src/mongo/shell/db.js:1639:15
shellHelper.show@src/mongo/shell/utils.js:914:9
shellHelper@src/mongo/shell/utils.js:819:15
@(shellhelp2):1:1

21) Cierra sesión en Mongo.


Connect and authenticate as the user (root) – Con control de acceso habilitado
Código o imagen

C:\Program Files\MongoDB\Server\4.4\bin>
mongo --port 27017 -u "root" -p "123456" --authenticationDatabase "admin"
MongoDB shell version v4.4.2
connecting to:
mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=
mongodb
Implicit session: session { "id" : UUID("138696b1-1b93-419b-a594-6647c77658d4") }
MongoDB server version: 4.4.2

22) Crea un usuario [usuroles] que únicamente tengan permiso para gestionar usuarios, pero no puedan acceder a
datos de la base de datos BD_UTNG (ejemplo crear roles y usuarios)

Código o imagen

> use BD_UTNG


switched to db BD_UTNG
> db.createUser({user:"usuroles",pwd:"123456",roles:[{role:"userAdmin",db:"BD_UTNG"}]})
Successfully added user: {
"user" : "usuroles",
"roles" : [
{
"role" : "userAdmin",
"db" : "BD_UTNG"
}
]
}

23) Cierra sesión en Mongo.


Connect and authenticate as the user (usuroles) – Con control de acceso habilitado

Código o imagen

C:\Program Files\MongoDB\Server\4.4\bin>
mongo --port 27017 -u "usuroles" -p "123456" --authenticationDatabase "BD_UTNG"
MongoDB shell version v4.4.2
connecting to:
mongodb://127.0.0.1:27017/?authSource=BD_UTNG&compressors=disabled&gssapiServiceNa
me=mongodb
Implicit session: session { "id" : UUID("2a32c133-120c-4535-ae02-edde0bc5ab90") }
MongoDB server version: 4.4.2

24) Establece en uso la base de datos BD_UTNG


Código o imagen

> use BD_UTNG


switched to db BD_UTNG

25) Muestra los usuarios

Código o imagen

> show users


{
"_id" : "BD_UTNG.adutng",
"userId" : UUID("79d2b912-93f6-4141-b6ef-6cec35a91509"),
"user" : "adutng",
"db" : "BD_UTNG",
"roles" : [
{
"role" : "dbOwner",
"db" : "BD_UTNG"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
{
"_id" : "BD_UTNG.usuroles",
"userId" : UUID("2b774af0-5dde-4a2a-aa85-64ed12ba37f6"),
"user" : "usuroles",
"db" : "BD_UTNG",
"roles" : [
{
"role" : "userAdmin",
"db" : "BD_UTNG"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}

26) Muestra el contenido de la colección Alumno

Código o imagen
> db.Alumno.find().pretty()
Error: error: {
"ok" : 0,
"errmsg" : "not authorized on BD_UTNG to execute command { find: \"Alumno\", filter: {},
lsid: { id: UUID(\"2a32c133-120c-4535-ae02-edde0bc5ab90\") }, $db: \"BD_UTNG\" }",
"code" : 13,
"codeName" : "Unauthorized"
}

27) Cambia el password del usuario adutng

Código o imagen

> db.changeUserPassword("adutng","123")
>

28) Elimina el usuario adutng

Código o imagen

> db.dropUser("adutng")
true

29) Muestra los usuarios

Código o imagen

> show users


{
"_id" : "BD_UTNG.usuroles",
"userId" : UUID("2b774af0-5dde-4a2a-aa85-64ed12ba37f6"),
"user" : "usuroles",
"db" : "BD_UTNG",
"roles" : [
{
"role" : "userAdmin",
"db" : "BD_UTNG"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
30) Sal de Mongo

Código o imagen

> exit
bye

You might also like