MariaDB-তে User তৈরি এবং Permissions সেট করা একটি গুরুত্বপূর্ণ কাজ, কারণ এটি ডেটাবেসের নিরাপত্তা এবং ব্যবস্থাপনা সুনির্দিষ্ট করতে সহায়ক। MariaDB-তে ইউজার তৈরি করার সময়, ইউজারের বিভিন্ন ধরনের অনুমতি (permissions) নির্ধারণ করা যায়, যা নির্ধারণ করে ইউজার কী কী অপারেশন করতে পারবে।
User তৈরি করা
MariaDB-তে ইউজার তৈরি করতে CREATE USER কমান্ড ব্যবহার করা হয়। এটি একটি নতুন ইউজার অ্যাকাউন্ট তৈরি করে এবং সেক্ষেত্রে ইউজারটির লগইন তথ্য নির্ধারণ করা হয়।
সাধারণ গঠন
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
- 'username': ইউজারের নাম
- 'host': ইউজারটির লগইন করার হোস্ট। এটি সাধারণত
'localhost'(লোকাল হোস্ট) অথবা%(সব হোস্ট) হতে পারে। - 'password': ইউজারের পাসওয়ার্ড
উদাহরণ
CREATE USER 'john'@'localhost' IDENTIFIED BY 'password123';
এই কমান্ডটি john নামক একটি ইউজার তৈরি করবে, যিনি শুধুমাত্র লোকাল হোস্ট থেকে MariaDB-তে লগইন করতে পারবেন এবং পাসওয়ার্ড হবে password123।
User-এর Permissions (অনুমতি) সেট করা
MariaDB-তে ইউজারের জন্য অনুমতি (permissions) নির্ধারণ করতে GRANT কমান্ড ব্যবহার করা হয়। এই কমান্ডের মাধ্যমে ইউজারের কাছে এক বা একাধিক নির্দিষ্ট অপারেশন করার অনুমতি দেয়া হয়।
সাধারণ গঠন
GRANT privilege_type ON database_name.table_name TO 'username'@'host';
- privilege_type: ইউজারের যে অপারেশন করার অনুমতি দেওয়া হবে, যেমন
SELECT,INSERT,UPDATE,DELETE, ইত্যাদি। - database_name.table_name: অনুমতি প্রাপ্ত ডেটাবেস এবং টেবিলের নাম। যদি সব ডেটাবেসে অনুমতি দিতে চান, তাহলে
*.*ব্যবহার করতে হবে। - 'username'@'host': ইউজারের নাম এবং হোস্ট।
উদাহরণ 1: ইউজারের জন্য SELECT অনুমতি দেওয়া
GRANT SELECT ON students.* TO 'john'@'localhost';
এটি john ইউজারকে students ডেটাবেসের সব টেবিলের উপর SELECT (পড়া) অনুমতি দেয়।
উদাহরণ 2: ইউজারের জন্য সব ধরনের অনুমতি (গ্রান্ট) দেওয়া
GRANT ALL PRIVILEGES ON students.* TO 'john'@'localhost';
এটি john ইউজারকে students ডেটাবেসের সব টেবিলের উপর সমস্ত অনুমতি (যেমন SELECT, INSERT, UPDATE, DELETE, ইত্যাদি) প্রদান করবে।
উদাহরণ 3: নির্দিষ্ট টেবিলের জন্য অনুমতি দেওয়া
GRANT SELECT, INSERT ON students.marks TO 'john'@'localhost';
এটি john ইউজারকে students ডেটাবেসের marks টেবিলের উপর SELECT এবং INSERT অনুমতি দেবে।
Permissions পরিবর্তন করা
একবার অনুমতি দেওয়া হলে, তা পরিবর্তন করার জন্য GRANT কমান্ড পুনরায় ব্যবহার করা যায়। তবে, কিছু পরিবর্তন করতে হলে, আগে REVOKE কমান্ড ব্যবহার করে পূর্বের অনুমতিটি সরিয়ে নিতে হবে।
উদাহরণ 1: অনুমতি পরিবর্তন করা
GRANT UPDATE ON students.* TO 'john'@'localhost';
এটি john ইউজারের জন্য students ডেটাবেসে UPDATE অনুমতি যোগ করবে, পূর্বের অনুমতিগুলিকে পরিবর্তন না করে।
উদাহরণ 2: সমস্ত অনুমতি একসঙ্গে দেওয়া
GRANT ALL PRIVILEGES ON *.* TO 'john'@'localhost';
এটি john ইউজারের জন্য সব ডেটাবেসে সমস্ত অনুমতি (যেমন SELECT, INSERT, UPDATE, ইত্যাদি) প্রদান করবে।
Permissions প্রত্যাহার করা (Revoke)
যদি কোনো ইউজারের অনুমতি প্রত্যাহার করতে হয়, তবে REVOKE কমান্ড ব্যবহার করা হয়।
সাধারণ গঠন
REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';
উদাহরণ
REVOKE SELECT ON students.* FROM 'john'@'localhost';
এটি john ইউজার থেকে students ডেটাবেসের সব টেবিলের উপর SELECT অনুমতি প্রত্যাহার করবে।
User-এর Permissions চেক করা
এটি নিশ্চিত করার জন্য যে ইউজারের অনুমতি কী কী তা জানার জন্য SHOW GRANTS কমান্ড ব্যবহার করা যায়।
উদাহরণ
SHOW GRANTS FOR 'john'@'localhost';
এটি john ইউজারের জন্য প্রদত্ত সমস্ত অনুমতির তালিকা দেখাবে।
User মুছে ফেলা
একটি ইউজার যদি আর প্রয়োজন না হয়, তবে DROP USER কমান্ড ব্যবহার করে ইউজারটি মুছে ফেলা যায়।
উদাহরণ
DROP USER 'john'@'localhost';
এটি john নামক ইউজারটি localhost থেকে মুছে ফেলবে।
সারাংশ
MariaDB-তে User তৈরি এবং Permissions সেট করার মাধ্যমে ডেটাবেসের নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোল পরিচালনা করা যায়। CREATE USER কমান্ড দিয়ে নতুন ইউজার তৈরি করা হয় এবং GRANT কমান্ডের মাধ্যমে ইউজারের বিভিন্ন অনুমতি নির্ধারণ করা হয়। প্রয়োজনে, REVOKE কমান্ড ব্যবহার করে অনুমতি প্রত্যাহার করা যায় এবং SHOW GRANTS ব্যবহার করে ইউজারের অনুমতিগুলি চেক করা যায়।
Read more