Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές



Σχετικά έγγραφα
Εργαστήριο Βάσεων Δεδομένων


Διαχείριση χρηστών και δικαιωμάτων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #6

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Τμήμα Πληροφορικής ΑΠΘ

Σχεδιασμός Βάσεων Δεδομένων

Εισαγωγή στην πληροφορική

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

Κεφάλαιο 8. Βασισμένος σε ρόλους έλεγχος πρόσβασης

databases linux - terminal (linux / windows terminal)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

Λογαριασμοί & Δικαιώματα


ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Βασικές Εντολές SQL. Θεωρία & Εντολές SQL. Γραμμή Εντολών MS-DOS (MySQL)

Βάσεις Δεδομένων ΗγλώσσαSQL (Structured Query Language)

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

Ενεργές ΒΔ. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Βάσεις Δεδομένων Ενεργές ΒΔ 1

Διάλεξη 16: SQL DML IV, SQL DCL, SQL TCL. Διδάσκων: Παναγιώτης Ανδρέου

HOWTO instal Joomla by A. Andreatos

Ηλεκτρονικοί Υπολογιστές II

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Βάσεις Δεδομένων Η γλώσσα SQL (Structured Query Language) Εισαγωγή στην SQL (2) Ιστορικά Στοιχεία. SQL - Structured Query Language (1)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Βάσεις Δεδομένων (Databases)

ΕΡΓΑΣΙΑ : ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ ΤΗΣ MYSQL ΣΤΟ LINUX. Ακριτίδης Ιωάννης Α.Μ 167/02 Πανεπιστήμιο Μακεδονίας

Εργαστήριο Βάσεων Δεδομένων. Triggers

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διαχείριση Πολιτισμικών Δεδομένων

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

Τμήμα Διοίκησης Επιχειρήσεων

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Παράδειγμα Insert Update Delete Alter.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (2)

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφ 4: Προχωρημένες Εντολές SQL

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων (Databases)

Βάσεις Δεδομένων

1. ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΤΗΣ MySQL

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 1 17/01/2012

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Βάσεις Δεδομένων

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Βάσεις Δεδομένων Ι Ευρετήρια/Indexes. (...και επιδόσεις ΣΔΒΔ) Views (Όψεις) Φώτης Κόκκορας (MSc/PhD) Τμήμα Τεχνολογίας Πληροφορικής & Τηλεπ/νιών

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Τεχνολογία Πολιτισμικού Λογισμικού

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 3

Το σχεσιακό μοντέλο βάσεων δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

Προγραμματισμός Παγκόσμιου Ιστού

Διάλεξη 02: Βάσεις Δεδομένων Εισαγωγή. Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων Ι SQL Μέρος 1 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

6 Εισαγωγή στο Wordpress 3.x

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διαχείριση Πληροφοριών στο Διαδίκτυο. Εργαστήριο 1

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

μ μ «μ»

ΜΑΘΗΜΑ Προσθήκη Κειμένου. 2. Ελληνική Διάταξη Πληκτρολογίου ΣΤΟΧΟΙ:

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Ρύθμιση Εξυπηρετητή Apache σε Ubuntu Linux

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΝΑΥΣΜΑΤΑ ΣΤΗΝ POSTGRES

ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

2. Για να δημιουργήσουμε το πρώτο ή κάθε νέο Backup set πατάμε στο εικονίδιο και εμφανίζεται ο Wizard του Backup set

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Ενότητα 3:

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

1 Αρχική Σελίδα 2. 2 Εγγραφή 3. 3 Προφίλ χρήστη 6. 4 Διαχείριση SSH κλειδιών 7. 5 Δημιουργία νέας εικονικής μηχανής 9. 6 View instance 14

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

Startup Guide Backup365. Οδηγός γρήγορης εγκατάστασης και εκκίνησης. Για να δοκιμάσετε την υπηρεσία θα πρέπει να ακoλουθήσατε τα παρακάτω βήματα:

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 9β: SQL (Διαχείριση εγγραφών, Όψεις, Περιορισμοί, Εναύσματα) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

. Εργαστήριο Βάσεων Δεδομένων. Triggers

ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΑΝΑΖΗΤΗΣΗ ΛΟΓΑΡΙΑΣΜΟΥ ΧΡΗΣΤΗ

Transcript:

Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές

Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server

Remote access to MySQL shell>mysql -h [host] -u [user] p [password] ΟΡΙΣΜΑΤΑ ΤΗΣ ΕΝΤΟΛΗΣ Host : υπολογιστής που φιλοξενεί τον mysql server (IP address, domain name, local host). Όταν παραλείπεται εννοείται ο localhost. User : το όνομα χρήστη για χρήστη του προγράμματος. Μπορεί να παραλειφθεί στην περίπτωση του ανώνυμου χρήστη. Password : ο αντίστοιχος συνθηματικός κωδικός εισόδου. Όταν δεν εμφανίζεται στα ορίσματα (και εφόσον υπάρχει) εμφανίζεται από το σύστημα πεδίο προτροπής εισαγωγής χωρίς να φαίνονται οι χαρακτήρες. Έτσι μειώνονται οι πιθανότητες έκθεσης του συνθηματικού σε περαστικά αδιάκριτα βλέμματα.

Παραδείγματα Root χρήστης στον localhost χωρίς password Aνώνυμος χρήστης στον localhost χωρίς password

Χρήστες ROOT υπερχρήστης (δημιουργείται αυτόματα μετά το setup) ΑΝΩΝΥΜΟΣ χωρίς κωδικούς πρόσβασης και συνθηματικά (δημιουργείται αυτόματα μετά το setup) ΧΡΗΣΤΕΣ που δημιουργούνται από τον διαχειριστή (ΔΙΚΑΙΩΜΑΤΑ ROOT)

Δημιουργία Χρηστών CREATE USER USER@HOST [IDENTIFIED BY PASSWORD ] Παράδειγμα : Δημιουργία χρήστη jim @ localhost : CREATE USER jim @ localhost IDENTIFIEND BY abcd123 ; Δημιουργία χρήστη james @ localhost : CREATE USER james @ localhost ; O χρήστης μπορεί να συνδεθεί με την mysql με κωδικό james χωρίς password.

Διαγραφή Χρηστών DROP USER USER@HOST ; Παράδειγμα : Διαγραφή χρήστη jim @ localhost : DROP USER jim @ localhost ;

Μετονομασία Χρηστών RENAME USER USER1@HOST TO USER2@HOST; Παράδειγμα : Αλλαγή ονόματος χρήστη jim @ localhost σε john: RENAME USER jim @ localhost TO john @ localhost ;

Ασφάλεια Εκχώρηση password στον χρήστη root SET PASSWORD FOR root @ localhost = ######### (εντολή εκχώρησης αλλαγής password σε χρήστη) Ο υπερχρήστης - ρίζα της βάσης επιβάλλεται να έχει εξουσιοδοτημένη πρόσβαση. Διαγραφή ανώνυμου χρήστη DROP USER @ localhost ; (γενικά κωδικοί χωρίς password πρέπει να αποφεύγονται για να υπάρχει μόνο εξουσιοδοτημένη πρόσβαση)

ΔΙΚΑΙΩΜΑΤΑ ΧΡΗΣΤΩΝ ΠΡΟΝΟΜΙΟ SELECT INSERT UPDATE DELETE INDEX ALTER CREATE DROP RELOAD SHUTDOWN PROCESS FILE GRANT REVOKE ΠΕΡΙΓΡΑΦΗ Ανάγνωση γραμμών από πίνακες Προσθήκη γραμμών σε πίνακες Τροποποίηση υπαρχόντων δεδομένων σε πίνακες Διαγραφή υπαρχόντων δεδομένων σε πίνακες Δημιουργία και διαγραφή ευρετηρίων σε πίνακες Την τροποποίηση της δομής ενός υπάρχοντος πίνακα Δημιουργία νέων πινάκων ή βάσεων δεδομένων Διαγραφή υπαρχόντων πινάκων ή βάσεων Ενημέρωση των πινάκων που περιέχουν τις καταχωρήσεις με τα δικαιώματα χρηστών Τερματισμός του διακομιστή της Mysql Εμφάνιση και τερματισμό υπαρχουσών διεργασιών Mysql Εισαγωγή δεδομένων σε πίνακες από αρχεία κειμένου Δημιουργία νέων χρηστών Ανάκληση αδειών χρηστών

Εκχώρηση Δικαιωμάτων GRANT [privilege] ON [db][.table][.column] TO user IDENTIFIED BY password; Privilege : all (όλα τα δικαιώματα του πίνακα) δικαιώματα χρηστών από τον πίνακα db : all (εφαρμογή δικαιωμάτων σε όλες τις βάσεις) μια υπάρχουσα βάση (αν παραλείπεται ο όρος τότε εννοείται η τρέχουσα επιλεγμένη βάση) table : πίνακας * column: στήλη *

Εκχώρηση Δικαιωμάτων Η προηγούμενη εντολή θα πρέπει από χρήστη ρίζα ή από οποιοδήποτε χρήστη στον οποίο έχει εκχωρηθεί δικαίωμα GRANT. Ο ίδιος χρήστης μπορεί να εκτελέσει και τις εντολές ανάκλησης (REVOKE) και ενημέρωσης (FLUSH) δικαιωμάτων. Αν αναφέρεται ρητά ένας πίνακας στον όρο table, θα πρέπει να είναι υπάρχων πίνακας της βάσης που υπάρχει στον όρο db. Αν αναφέρεται ρητά μια στήλη στον όρο column, θα πρέπει να είναι υπάρχουσα στήλη του πίνακα που υπάρχει στον όρο table. Γενικά θα πρέπει να εφαρμόζεται η αρχή των ελάχιστων δικαιωμάτων, να εκχωρούμε σε κάθε χρήστη ακριβώς τα δικαιώματα που χρειάζεται για την εκτέλεση της εργασίας του.

Εκχώρηση Δικαιωμάτων Όταν θέλουμε ένας χρήστης να έχει πρόσβαση στον Mysql server από οποιοδήποτε υπολογιστή κατά την δημιουργία του χρήστη στο πεδίο host τοποθετούμε % π.χ. jim @ % Τα δικαιώματα χρηστών αποθηκεύονται στη ΒΔ mysql. Οι εκχωρήσεις (κατά την δημιουργία χρηστών) και ανακλήσεις δικαιωμάτων χρηστών ενημερώνουν αυτόματα την βάση αυτή Σαν χρήστης root μπορώ να προβάλλω τα δικαιώματα ενός user με την παρακάτω εντολή SHOW GRANTS FOR USER @ HOST ;

Ανάκληση & Ενημέρωση Δικαιωμάτων REVOKE [privileges] ON [db][.table][.column] FROM user ; Ανακαλεί δικαιώματα από συγκεκριμένο χρήστη που του είχαν εκχωρηθεί νωρίτερα. Οι όροι είναι αντίστοιχοι εκείνων της εντολής GRANT. FLUSH; Ενημερώνονται οι πίνακες της βάσης mysql, που περιέχουν τα δικαιώματα χρηστών, ύστερα από τις τελευταίες εντολές GRANT ή REVOKE.

Παραδείγματα GRANT SELECT, INSERT, DELETE, UPDATE ON world.* TO jim @ localhost IDENTIFIED BY ACE321 ; Δημιουργείται ο χρήστης jim @ localhost με δικαιώματα SELECT, INSERT, DELETE, UPDATE στην βάση world και password. REVOKE DELETE ON world.* FROM jim @ localhost ; Ανάκληση του δικαιώματος DELETE που εκχωρήθηκε νωρίτερα στον χρήστη jim @ localhost. GRANT SELECT ON world.* TO jim @ localhost IDENTIFIED BY ACE321 WITH GRANT; Το with grant option δίνει στον χρήστη το δικαίωμα να αναθέτει τα δικαιώματα που ο ίδιος κατέχει σε άλλους χρήστες. REVOKE GRANT OPTION ON world.* FROM james @ localhost ; Ανάκληση του δικαιώματος εκχώρησης δικαιωμάτων σε χρήστες (GRANT OPTION) επί της βάσης world από τον χρήστη james @ localhost.

Προβολές (Views) Δημιουργία προβολής CREATE [OR REPLACE] VIEW view_name AS select_statement; Τι είναι : Εικονικοί πίνακες Διατηρεί τα αποτελέσματα ενός select

Παραδείγματα Έχουμε δύο πίνακες :

Παραδείγματα CREATE VIEW v1 AS select A,B from P1; CREATE VIEW v2 AS select B,D from P2 WHERE B<9;

Παραδείγματα CREATE VIEW v3 AS select A,D from P1,P2 where P1.B=P2.B;

Επιπλέον λειτουργίες ΤΡΟΠΟΠΟΙΗΣΗ ΠΡΟΒΟΛΗΣ ALTER VIEW view_name AS select_statement; ΔΙΑΓΡΑΦΗ ΠΡΟΒΟΛΗΣ DROP VIEW [ IF EXISTS] view_name [,view_name] ;