পোস্টগ্র্রেএসকিউএল এর জন্য কেন ব্যবহারকারীকে একটি শেল দেওয়া হচ্ছে?


11

cat /etc/passwd |grep postgre

postgres:x:115:127:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash

apt-cache show postgresql

Package: postgresql
Priority: optional
Section: database
Installed-Size: 65
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian PostgreSQL Maintainers <pkg-postgresql-public@lists.alioth.debian.org>
Architecture: all
Source: postgresql-common (136)
Version: 9.1+136
Depends: postgresql-9.1
Filename: pool/main/p/postgresql-common/postgresql_9.1+136_all.deb
Size: 5468
MD5sum: 34f5a1373ad5cd0b6f5aa3e7af06c9e7
SHA1: 6f271758bd51c23614b12fd63fb711ecfa43e9e5
SHA256: e8921a22b560e81f57a2a00001e31ba1036f67a8e7f151bf8f977b4919fc559a

আমি কি এটি /bin/bashদিয়ে প্রতিস্থাপন করতে পারি /bin/false?


1
@ জর্জে কাস্ত্রো আমার প্রশ্ন, পোস্টগ্রিএসকিউএল এর ব্যবহারকারীর জন্য কেন শেল আছে, পোস্টগ্র্রেএসকিউএল এর জন্য কেন সেখানে কোন ব্যবহারকারী নেই .. কারণ আমি অন্যান্য ব্যবহারকারী যেমন মাইএসকিউএল এর প্রয়োজন নেই তা দেখেছি।
হাসি.হুন্টার

উত্তর:


4

একটি শেল রয়েছে কারণ আমরা কমান্ড লাইন থেকে পোস্টগ্রিএসকিউএল ব্যবহারকারী হিসাবে পোস্টগ্রিজ এসকিউএল ব্যবহার করি।


তারপরে, আমরা মাইএসকিউএলকে ঠিক মাইএসকিউএল ব্যবহারকারী হিসাবে ব্যবহার করি নি? আমি অনুমান করতে পারি যে ব্যবহারকারীর অভ্যন্তরীণ সিস্টেমের জন্য ব্যবহৃত হয়েছিল, এর অর্থ /bin/bashআমার পোস্টগ্রিজ এসকিউএল সঠিকভাবে চালিয়ে যাওয়ার জন্য আমি এটিকে অপসারণ করা উচিত নয় .. যাইহোক আপনাকে ধন্যবাদ!
হাসুন.হুন্টার

2

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

লিনাক্স এবং ম্যাক ওএস এক্সের মতো ইউনিক্স-এর মতো অপারেটিং সিস্টেমে অ্যাকাউন্টটি পাসওয়ার্ড ছাড়াই সেটআপ করা হয় এবং ব্যবহারকারীদের সাধারণত এটি নিয়ে আর কখনও চিন্তা করার প্রয়োজন হয় না। উত্স

এছাড়াও ম্যানুয়ালি পাসডাব্লুডি ফাইল সম্পাদনা করা ভাল অভ্যাস নয়। আপনার কমান্ডটি ব্যবহার করা উচিত:

sudo passwd postgres

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

2

যদি কোনও সার্ভার অ্যাডমিন ব্যবহার করে sudoএবং কী পরিবেশ সম্পর্কে এবং এই ফলাফলটি উমাস্ক করে সে সম্পর্কে সতর্কতা অবলম্বন না করে, ডাটাবেসটিতে কাজ করা অনিচ্ছাকৃত লোকেশন বা অনিচ্ছাকৃত অনুমতি সহ ফাইলগুলি তৈরি করতে পারে।

ব্যবহারকারীর কাছে একটি শেল বরাদ্দ করা প্রশাসকদের পোস্টগ্রাগ হিসাবে লগইন করতে সক্ষম হয় এবং সেই ব্যবহারকারীদের শেলের কাজ করে। অপ্রয়োজনীয় sudoসার্ভার ত্রুটি বার্তাগুলির উত্স হিসাবে খুঁজে পাওয়া খুব মাথা ব্যথার কারণ হবে।

আপনার যদি এটির প্রয়োজন না হয় এবং আপনি যদি নিশ্চিত হন যে আপনি কখনই পোস্টর্গ্রেস বাইনারিগুলিকে এ জাতীয় ত্রুটি-প্রবণ উপায়ে কল করতে পারবেন না তবে আপনি নিরাপদে শেলটি সরিয়ে ফেলতে পারবেন:

usermod --shell /bin/false postgres

মনে রাখবেন যে, মূল হয়ে উঠতে সক্ষম হন, আপনি এখনও বৈধ শাঁস ছাড়াই ব্যবহারকারী সহ যে কেউ হতে পারেন:

su --shell /bin/bash postgres

অনুমোদিত উত্স:

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


এই উত্তর গৃহীত উত্তরের চেয়ে ভাল। নির্দিষ্ট ব্যবহারকারী হিসাবে কমান্ড চালাতে সক্ষম হওয়ার জন্য লগইন শেলটির কোনও প্রয়োজন নেই (তার জন্য এটি সুডো করবে)। অনেক উবুন্টু সাবসিস্টিমে তাদের লগইন শেল হিসাবে / বিন / ভুয়া বা / ইউএসআর / এসবিন / নোলগিন থাকে এবং তারা ঠিকঠাকভাবে কাজ করে, যখন কোনও সিস্টেমে দূরবর্তীভাবে অ্যাক্সেসের নতুন উপায়গুলি খোলা না হয়।
আরিফেল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.