কোনও ব্যবহারকারীকে সিস্টেমে যুক্ত করুন * যদি এটি বিদ্যমান না থাকে *


47

আমি useradd {user}আমার সিস্টেমে ব্যবহারকারীদের যুক্ত করার জন্য কমান্ডটি চালিয়ে যাচ্ছি, যদিও আমি এটি একটি স্বয়ংক্রিয় পরিবেশে চালানোর পরিকল্পনা করি এবং এটি ইতিমধ্যে চালানো শেষ হতে পারে, যদিও ব্যবহারকারী ইতিমধ্যে উপস্থিত রয়েছে।

যদি ব্যবহারকারী ইতিমধ্যে উপস্থিত না থাকে তবে আমি কী এটি চালাতে পারি? ব্যবহারকারীর একটি হোম ফোল্ডার নেই।


adduserসাধারণত দেবিয়ান / উবুন্টু সিস্টেমে পছন্দ করা হয়।
ফাহিম মিঠা

@ ফাহিমমিঠা স্বয়ংক্রিয় স্ক্রিপ্টগুলিতে আরও বেশি ধারাবাহিকভাবে ব্যবহার করা ভাল useradd
দ্য

উত্তর:


69

id -u somename যখন ব্যবহারকারী বিদ্যমান না থাকে তখন একটি শূন্য-বহির্গমন কোডটি ফেরত দেয়।

আপনি এটি বেশ সহজভাবে পরীক্ষা করতে পারেন ... ( &>/dev/nullকেবলমাত্র সাধারণ আউটপুট / সতর্কতাটিকে দমন করে)

id -u somename &>/dev/null || useradd somename 

1
পোর্টেবল উপায়ে: "আইডি -u কিছু নাম> / দেব / নাল 2> & 1 || ইউরোডড সামনাম"
ত্রিস্তান

13

এটা চেষ্টা কর:

useradd {user} || echo "User already exists."

বা এমনকি এটি:

useradd {user} || true

এটি চেক সংরক্ষণ করে যেহেতু এটি ব্যবহারকারী নিরাপদে উপস্থিত থাকলে নিরাপদে ব্যর্থ হয়।
CoverosGene

8

আপনার হাতে যদি কেবলমাত্র কয়েকটি হাতে গোনা কয়েকটি সিস্টেম থাকে তবে আপনি ভুল প্রশ্ন জিজ্ঞাসা করছেন। উত্তরটি মোটেও ইউজারড চালানো নয়, পরিবর্তে এই কাজটি পুতুল বা শেফের মতো একটি কনফিগারেশন ম্যানেজমেন্ট সলিউশনে রেখে দিন। এটি আপনার ব্যবহারকারীর সংজ্ঞাগুলি কেন্দ্রীভূত হতে দেয় এবং আপনার সিস্টেমগুলি কনফিগার করার জন্য আপনাকে লুপের জন্য দৌড়তে এবং রুট ব্যবহারকারীদের সাথে ssh ব্যবহার করতে বাধা দেয়। আপনার কাছে সর্বদা একটি পরিচিত কনফিগারেশন অবস্থায় সিস্টেম থাকবে।

পুতুলের জন্য ডকুমেন্টেশন http://docs.puppetlabs.com এ উপলব্ধ

পুতুলের উদাহরণ হিসাবে:

user { "bob" : 
  password   => "$1$yv3n066X$Vpb05Ac/fHTicNdT9T5vz1", # generated with `openssl passwd -1`
  ensure     => present,                              # ensure => absent to remove
  managehome => true,
}

4
পুতুল একটি দুর্দান্ত প্রকল্প, তবে ওপি আসলে কী জিজ্ঞাসা করছে সে সম্পর্কে আপনি অনুমান করতে পারবেন না :)
রাহমু

1
ওপি লক্ষ্যটি খুব স্পষ্টভাবে ব্যাখ্যা করেছিল - ব্যবহারকারীর উপস্থিতি থাকলেও স্বয়ংক্রিয়ভাবে এবং আবার চালানো যায় (আদর্শশক্তি)। এটি একটি কনফিগারেশন পরিচালন সরঞ্জামের সঠিক ব্যবহারের কেস। যখন কেউ সচেতন না হন যে এই সমস্যাগুলি সমাধানের জন্য সরঞ্জামগুলি ইতিমধ্যে রয়েছে, তখন তারা যখন এমন কোনও প্রশ্ন জিজ্ঞাসা করে যার মধ্যে একটি খুব নির্দিষ্ট, সংকীর্ণ দৃষ্টি নিবদ্ধ করা সমস্যা সমাধানের সাথে জড়িত থাকে যখন যখন বোঝার বৃহত্তর ধারণা থাকে।
অ্যারন ব্রাউন

আমি ইতিমধ্যে শেফ ব্যবহার করছি।
টার্নফিল্ড

1
শেফ কেবল ব্যবহারকারীদের যুক্ত করবে যদি ব্যবহারকারীর অস্তিত্ব থাকে না। আইডেম্পোটেন্সিটি এটাই, তাই আমি প্রশ্নটি বুঝতে পারি না (এখন থেকে 1.5 বছর)।
অ্যারন ব্রাউন

4

Useradd ব্যবহারকারীকে আবার যুক্ত করবে না যদি এটি ইতিমধ্যে বিদ্যমান থাকে তবে এটি ইউআইডি নম্বর এবং ইউআইডি লগইনটি অনন্য কিনা তা নিশ্চিত করার ইচ্ছা করে। আপনি যদি কোনও ব্যাচের মধ্যে দিয়ে যাওয়ার পরিকল্পনা করছেন তবে নিশ্চিত হয়ে নিন যে ব্যবহৃত ইউডগুলি অনন্য; ইউজারড সমস্যাযুক্ত এন্ট্রিগুলির জন্য অভিযোগ করবে এবং কোন ব্যবহারকারী অ্যাকাউন্টগুলির অ্যাকাউন্ট সিস্টেমে (/ ইত্যাদি / পাসডাব্লুড, গ্রুপ, ছায়া) পেতে সমস্যা হয়েছে তা দেখার জন্য আপনাকে ত্রুটিগুলি / স্টার্ডার ক্যাপচার করতে হবে।

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