নতুন ব্যবহারকারী কেন পোস্টগ্রিজ এসকিউএলে টেবিল তৈরি করতে সক্ষম?


13

আমি একটি ডিবি তৈরি করতে দুটি টিউটোরিয়াল অনুসরণ করেছি:

  1. একটি সম্পূর্ণ অধিকারযুক্ত ব্যবহারকারী লিঙ্ক
  2. কেবলমাত্র পঠনযোগ্য ব্যবহারকারী লিঙ্ক

এরপরে সিজে এস্টেলের টিউটোরিয়াল থেকে আমি একটি টিপ পেয়েছিলাম যে "আপনি টেবিলগুলি তৈরির সক্ষমতা অর্জন করতে পারেন যদিও আমরা এটি আমাদের নতুন ব্যবহারকারীর কাছে স্পষ্টভাবে কখনও দিই নি"। নিশ্চিতভাবেই, কেবলমাত্র পঠনযোগ্য ব্যবহারকারী টেবিলগুলি তৈরি করতে এবং নিজস্ব করতে সক্ষম!

সিজে এসটেল মূল কারণটিকে খুব ভালভাবে নির্দেশ করেছেন, যথা একটি টেম্পলেট ডাটাবেস। তবে সারণী তৈরির দক্ষতা গুগলিং থেকে প্রাপ্ত বেশিরভাগ টিউটোরিয়ালকে পোষ্ট করে "পোস্ট কেবলমাত্র ব্যবহারকারী পোস্টগ্রিজ" পোস্টগ্র্রেসক্লু.এল.জে হোস্ট করা সহ । আপনার ব্যবহারকারীর কেবল পঠনযোগ্য অধিকারের চেয়ে বেশি সুযোগ রয়েছে!

নতুন ব্যবহারকারীর এ ক্ষমতা কেন? এই বিশেষত্বটি প্রত্যাহার করার পরে, ডাটাবেস কি সেই ব্যবহারকারীর পক্ষে সত্যই পঠনযোগ্য?

উত্তর:


13

টিএল; ডিআর: নতুন ব্যবহারকারীরা publicস্কিমে টেবিল তৈরি করতে পারে কারণ লোকেরা অভিযোগ করেছিল যে তারা যখন না পারত তখন এটি খুব কঠিন ছিল।

আপনি যদি ডিফল্টগুলি অপছন্দ করেন তবে আপনার সম্ভবত প্রাথমিক কনফিগারেশনটি দিয়ে একটি নতুন টেম্পলেট ডাটাবেস তৈরি করা উচিত। উদাহরণস্বরূপ, আপনি:

DROP SCHEMA public;

অথবা

REVOKE ALL ON SCHEMA public FROM public;
GRANT USAGE ON SCHEMA public TO public;

আপনার টেম্পলেট মধ্যে।

আপনি যদি চান যে publicব্যবহারকারীর কোনও ডাটাবেসে কোনও অধিকার না থাকে, আপনার অতিরিক্তভাবে করা উচিত:

REVOKE ALL ON DATABASE mydbname FROM public;
GRANT CONNECT ON DATABASE mydbname TO public;

যাতে publicব্যবহারকারী স্কিমা তৈরি করতে বা টেম্প টেবিল ব্যবহার করতে না পারে।


ব্যক্তিগতভাবে, আমি যদি এটি ডিজাইনিং করতাম, আমি ব্যবহারকারীদের TEMPডিফল্টরূপে ডাটাবেসে সঠিক অধিকার দিতাম , তবে CREATE(ডাটাবেসে স্কিমাস) বা CREATE( স্কিমার সারণী public) না। আমি মালিকদের জন্য এটি সংরক্ষণ করব।

এগুলি এমন পছন্দগুলি যা অনেক আগে তৈরি হয়েছিল, যদিও এখন তাদের পরিবর্তন করা বেশ শক্ত।


এটি যেমন নিয়মিত অভিযোগ রয়েছে যে পোস্টগ্র্রেএসকিউএল দিয়ে শুরু করা খুব কঠিন কারণ আপনাকে একটি ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে হবে এবং প্রায়শই একটি ডাটাবেসও তৈরি করতে চান। কেন আমরা কেবল এগুলিকে স্বয়ংক্রিয়ভাবে তৈরি করি না এবং এটিকে সহজ করার জন্য লেখক-মোড হিসাবে 'বিশ্বাস' এ ডিফল্ট করি? কেন postgresপাসওয়ার্ড ব্যবহারকারীর ডিফল্ট হয় না postgres? ওএসে থাকা ব্যবহারকারীরা কেন কেবল স্বয়ং-তৈরি করবেন না? প্রভৃতি

নতুন ব্যবহারকারীর জন্য কিছু প্রকৃত ব্যবহারযোগ্যতা সমস্যা রয়েছে - বিশেষত, বেশিরভাগ peerলোকেরই ধারণা নেই যে লেখক কী , বা কেন psqlপোস্টগ্রাইএসকিউএল ইনস্টল করার পরে দৌড়ে তাদের বলে যে তারা যে নামে লগ ইন করেছেন তার কোনও ব্যবহারকারী নেই।

এটি কনসাল্টও pg_hba.confএকটি কনফিগার ফাইল, তবে ব্যবহারকারীরা এসকিউএল স্তরে তৈরি হয়। এই বিভাজন ব্যবহারকারীদের গুলিয়ে দেয়।

অনেক কিছুই সুরক্ষিত খেলাপি এবং সহজ ডিফল্টগুলির মধ্যে সমঝোতা হয় যেখানে প্রকল্পটি সবাইকে খুশি করে না।


সুতরাং, আমি চালনা করি revoke create on database [databasename] from [username];এবং ডিবি এখন কেবলমাত্র [ব্যবহারকারী নাম] এর জন্য পঠিত। রাইট? যখন আমি একটি ভাল
পোস্টগ্রাগেস

2
পূর্ববর্তী মন্তব্যের উত্তরে, এটি একটি
জেসভিন জোস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.