টার্মিনালে বিদ্যমান ব্যবহারকারীর জন্য ডিফল্ট হোম ডিরেক্টরি তৈরি করুন


150

আমি এটা কিভাবে করবো? আমি হোম ডিরেক্টরি ছাড়া একটি ব্যবহারকারী তৈরি করেছি এবং এখন আমি এটি তৈরি করতে চাই। কেবলমাত্র নতুন_উজার নামে একটি ফোল্ডার নয়, আমি তার সমস্ত ফোল্ডার এবং লুকানো ফাইল ইত্যাদির সাথে ডিফল্ট হোম ডিরেক্টরি চাই etc.


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

@ আলা su new_user: ডি
রাদু রাদিয়ানু

1
@ রাদুআরেদানু হ্যাঁ আমি ইতিমধ্যে এটি চেষ্টা করেছিলাম, চেষ্টাও করেছি sudo -i -u new_userকিন্তু এটি কার্যকর হয়নি। আমি মনে করি আমাদের "এক্স এক্স লগইন অনুকরণ" করা দরকার ... এটি কীভাবে করবেন তা জানেন না।
আলা আলি

2
লগ ইন করা বাড়িতে সাব-ডিরেক্টরিগুলি তৈরি করে না।
জো রিজো

উত্তর:


230

নিম্নলিখিতটি ব্যবহার করুন (রুট হিসাবে, বা মূল না হলে sudo সহ):

mkhomedir_helper username

এটি কাজ করার জন্য, ফোল্ডারটি /home/usernameথাকা উচিত নয়।

এক্স-সম্পর্কিত ফোল্ডারগুলির জন্য (ডেস্কটপ, ডাউনলোড ইত্যাদি) আপনার গ্রাফিক্স পরিবেশে লগইন করতে হবে; আপনি প্রথমবার লগইন করলে এগুলি স্বয়ংক্রিয়ভাবে উত্পন্ন হবে।


1
সহজ এবং দরকারী। এইভাবে আপনি এটিও নিশ্চিত হতে পারেন যে সদ্য নির্মিত হোম ডির আপনার সিস্টেম নীতিগুলির সাথে সম্মতিযুক্ত, কখনও তাদের না জেনে বা কোনও ম্যানুয়াল টিঙ্কারিং না করে।
জের্লোস 4'15

এটি সঠিক উত্তর, কমপক্ষে এটি আমার পক্ষে উবুন্টু 14.04.2 এলটিএসে কাজ করেছিল।
খ্রিস্টান উইলকি

1
এটি আমার পক্ষে কাজ করার আগে আমার প্রথমে আমার নাম / ইত্যাদি / পাসডাব্লুডে রাখতে হয়েছিল।
ব্যবহারকারী 79878

3
সরল .. শুধু কাজ করে (টিএম)। গ্রহণযোগ্য উত্তর হওয়া উচিত
নিউটোপিয়ান

ডিরেক্টরিতে অনুমতি সঙ্গে পরীক্ষা করতে ভুলবেন না ls -l /home। আমি দেখতে পেলাম যে নতুন ডিরেক্টরিটি অন্য সমস্ত ব্যবহারকারীদের দ্বারা পঠনযোগ্য ছিল, তাই আমি সেই অনুমতিগুলি সরিয়ে দিয়েছিলাম chmod go-r-x /home/username
ডন কার্কবি

33

সাব-ডাইরেক্টরিগুলি (ডকুমেন্টস, ডাউনলোডগুলি, ইত্যাদি ...) স্বয়ংক্রিয়ভাবে তৈরি করা হয় যখন ব্যবহারকারী প্রথমে জিনোমের মাধ্যমে লগ ইন করে, তবে শর্ত থাকে যে সঠিক ডিরেক্টরি সহ হোম ডিরেক্টরিটি তৈরি করা হয়েছে। এখানে একটি বিক্ষোভ:

আলা @-লু: ~ $ সুডো ইউজডার্ড টেস্টুঙ্গুজার আলা @-লু: do $ সুডো পাসডওইডি পরীক্ষার্থী
নতুন ইউনিক্স পাসওয়ার্ড লিখুন:
নতুন ইউনিক্স পাসওয়ার্ড পুনরায় টাইপ করুন:
পাসডাব্লুড: পাসওয়ার্ড সফলভাবে আপডেট হয়েছে
আলা @ আ-লু: ~ $ সুডো এলএস-এল / হোম
মোট 20
drwxr-xr-x 55 আলা আলা 4096 আগস্ট 22 22:00 আলা
drwx ------ 2 টি মূল মূল 16384 জুন 5 09:46 হারিয়ে গেছে + পাওয়া গেছে
আলা @ AA-লু: ~ $ sudo দ্বারা mkdir, / হোম / testinguser
 আলা @ AA-লু: ~ $ sudo দ্বারা chown testinguser: testinguser / হোম / testinguser
 আলা @ AA-লু: ~ $ ls-l / হোম
মোট 24
drwxr-xr-x 55 আলা আলা 4096 আগস্ট 22 22:00 আলা
drwx ------ 2 টি মূল মূল 16384 জুন 5 09:46 হারিয়ে গেছে + পাওয়া গেছে
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:03 পরীক্ষার্থী
আলা @-লু: ~ $ এলএস-এল / হোম / পরীক্ষক /
মোট 0
আলা @ AA-লু: ~ $

আপনি প্রবেশদ্বারটি পরীক্ষা করে ব্যবহারকারীর হোম ডিরেক্টরি সঠিকভাবে সেট করা আছে তা পরীক্ষা করতে পারেন /etc/passwd। আপনার, ডিফল্টরূপে, হোম ডিরেক্টরিটি এতে সেট করা উচিত /home/testinguser:

alaa @ aa-lu: ~ p গ্রেপ পরীক্ষার্থী / ইত্যাদি / পাসডাব্লু
পরীক্ষাগুলি: x: 1001: 1001 :: / হোম / পরীক্ষার্থী : / বিন / শ

আপনি যদি /home/testinguserসেখানে হোম ডিরেক্টরি দেখতে না পান sudo usermod -d /home/testinguser testinguserতবে আপনাকে আপডেট করার জন্য কমান্ডটি প্রয়োগ করতে হবে, যদিও আপনাকে এই কমান্ডটি ব্যবহার করার দরকার নেই কারণ এটি ডিফল্টরূপে সেট করা উচিত ( useradd'ম্যানপেজ অনুসারে )'।

আমি তখন আমার অ্যাকাউন্ট থেকে লগ আউট করেছি এবং আবার লগ ইন করেছি testinguserএবং এখানে স্বয়ংক্রিয়ভাবে সাব-ডিরেক্টরিগুলি তৈরি করা হয়েছে:

আলা @-লু: ~ $ এলএস-এল / হোম / পরীক্ষক /
মোট 36
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:05 ডেস্কটপ
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:05 নথি
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:05 ডাউনলোড
drwxr-xr-x 2 পরীক্ষামূলক পরীক্ষার্থী 4096 আগস্ট 23 10:05 সংগীত
drwxr-xr-x 2 পরীক্ষামূলক পরীক্ষার্থী 4096 আগস্ট 23 10:07 ছবি
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:05 পাবলিক
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:05 টেমপ্লেট
drwxr-xr-x 2 পরীক্ষার্থী পরীক্ষার্থী 4096 আগস্ট 23 10:05 ভিডিও

আমার লিখিত সামগ্রীগুলি অনুলিপি করার দরকার নেই /etc/skel

যদি সম্ভব হয় তবে আপনি দয়া করে অন্য কোনও নতুন ব্যবহারকারী তৈরি করে এই পদক্ষেপগুলি অনুসরণ করার চেষ্টা করতে পারেন? আপনার কাজ শেষ হয়ে গেলে আপনি এই নতুন ব্যবহারকারীর মাধ্যমে সরাতে পারবেন sudo deluser testinguser && sudo rm -r /home/testinguser

যদি এই সমস্তগুলি আপনার সাথে কাজ করে না, তবে আমি অনুমান করছি এটি একটি বাগ।


কিছু পরিস্থিতিতে যখন আপনি ব্যবহার useraddকরবেন তখন নতুন ব্যবহারকারীর জন্য ডিফল্ট হোম ডিরেক্টরি স্বয়ংক্রিয়ভাবে সেট হয় না /home/username। সুতরাং, প্রথম ypu অবশ্যই এটি সম্পর্কে নিশ্চিত হওয়া উচিত।
রাদু রেডানু

আপনি কি আমাকে এই পরিস্থিতিতে একটি উদাহরণ দিতে পারেন =)? এর ম্যান পৃষ্ঠাগুলি থেকে useradd: "ইউজারড্ড হোম-ভেরিয়েবল দ্বারা /etc/default/useraddবা /homeডিফল্টরূপে নির্দিষ্ট বেস ডিরেক্টরিটি ব্যবহার করবে "। HOM ভেরিয়েবলটি /etc/default/useraddডিফল্টরূপে সংজ্ঞায়িত হয় না, তাই ইউজারডেড সর্বদা ব্যবহার করবে /home। যাইহোক, আমি আমার উত্তরটি সম্পাদনা করব এবং অংশটি চেক /etc/passwdআপ করতে সরাবো ।
আলা আলি

এখানে একটি উদাহরণ । আরেকটি উদাহরণ: আপনি কোনও ব্যবহারকারীকে মুছুন, কিন্তু আপনি তার ডিরেক্টরি এবং ফাইলগুলি মুছলেন না; এবং তারপরে আপনি আবার একই নামের ব্যবহারকারী যুক্ত করুন। এবং এখানে অনেকগুলি রয়েছে, এবং কোনও বাগ নেই :)
রাদু রেডানু

আপনার যদি /bin/shব্যবহারকারী লাইনে না থাকে তবে আপনাকে সেই ব্যবহারকারীর /etc/passwdজন্য একটি শেল যুক্ত করতে হবে, উদাহরণস্বরূপusermod -s /bin/sh testuser
রুও o

সমস্ত সিস্টেমে জিনোম নেই এবং কাউকে সরিয়ে এবং নতুন করে হোম ডিরেক্টরি তৈরি করার জন্য পুনরায় যুক্ত করার পরামর্শ দেওয়া খারাপ পরামর্শ নয়।
ntwrkguru

12

আপডেট: সমাধানটি ভেঙে গেছে এবং আমার পক্ষেও কাজ করছে না।

আপনি যদি ব্যবহারকারীর হোম ডিরেক্টরি তৈরি করতে চান তবে এটি উপস্থিত না থাকলে পতাকাটি useraddদিয়ে কমান্ডটি চালান -m। এটি /etc/skelডিরেক্টরি থেকে সমস্ত ফাইল অনুলিপি করবে ।

useradd -m username

আপনার সিস্টেমের জন্য আপনার সেটিংস কনফিগার করতে হবে। ম্যান পৃষ্ঠা অনুসারে:

  -m, --create-home
    Create the user's home directory if it does not exist. The files and directories
    contained in the skeleton directory (which can be defined with the -k option)
    will be copied to the home directory.

    By default, if this option is not specified and CREATE_HOME is not enabled, no
    home directories are created.

এবং আরও ইঙ্গিত করে:

CONFIGURATION

   The following configuration variables in /etc/login.defs change the behavior
   of this tool:

   CREATE_HOME (boolean)
       Indicate if a home directory should be created by default for new users.

8
এটি একটি নতুন ব্যবহারকারী তৈরি করার চেষ্টা করছে বলে মনে হচ্ছে, কারণ এটি আমাকে "ব্যবহারকারী 'নতুন ব্যবহারকারী' ইতিমধ্যে উপস্থিত" বলে tells
জো রিজো

-mযাইহোক নতুন ব্যবহারকারী তৈরি করার সময় আমি পতাকাটিও পরীক্ষা করেছি এবং এটি কার্যকর হয়নি; এটি শুধুমাত্র কঙ্কালের ফাইলগুলি অনুলিপি করে।
আলা আলি

@ জো: এবং এটি কীভাবে ভুল, কারণ প্রাথমিক পোস্ট অনুসারে ব্যবহারকারী ইতিমধ্যে উপস্থিত রয়েছে।
crafter

3
এই উত্তরটি সমস্যার সমাধান করে না। অনুলিপি /etc/skelহোম ডিরেক্টরিতে সাব ডিরেক্টরিগুলি তৈরি করে না। এছাড়াও, useradd -mনতুন ব্যবহারকারী তৈরি করার সময় ব্যবহার করা হয়, ব্যবহারকারী ইতিমধ্যে যুক্ত হওয়ার পরে নয়।
আলা আলি

আমি পোস্টটি আপডেট করেছি, সুতরাং লগইন.ডিফস কনফিগার ফাইলে CREATE_Home সেট করুন।
ক্রাফার

5

আপনি যদি adduserকমান্ড দিয়ে নতুন ব্যবহারকারী তৈরি করেন তবে নতুন ব্যবহারকারীর জন্য আপনাকে কোনও হোম ডিরেক্টরি তৈরি করার দরকার নেই। ডিরেক্টরিতে ব্যবহারকারীর নামের /homeসাথে নীচের সাব-ডাইরেক্টরিগুলি সহ একটি হোম ডিরেক্টরি : নতুন ব্যবহারকারীর জন্য ডেস্কটপ, ডাউনলোডস, ডকুমেন্টস, সঙ্গীত, ছবি, ভিডিও (এবং অন্যান্য) স্বয়ংক্রিয়ভাবে তৈরি করা হবে।

আপনি যদি useraddকমান্ডের সাহায্যে নতুন ব্যবহারকারী তৈরি করেন , তবে নিম্নলিখিত কমান্ডগুলি টার্মিনালে চালান:

sudo -i     #enter your user password when you are asked
gedit /etc/passwd

/etc/passwdরুট হিসাবে ফাইল সম্পাদনা করতে (এটি সবচেয়ে গুরুত্বপূর্ণ পদক্ষেপ)। নতুন ব্যবহারকারীর নামের সাথে লাইনটি সন্ধান করুন এবং তার জন্য ডিফল্ট হোম ডিরেক্টরিটি সেট করুন:

new_username:x:1001:1001::/home/new_username:/bin/sh

এই লাইনে আপনি নতুন ব্যবহারকারীর জন্য একটি আসল নাম যুক্ত করতে বা ডিফল্ট শেল সেট করতে পারেন। এটার মতো কিছু:

new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash

সাবধানতা অবলম্বন করুন, অন্য কোনও পরিবর্তন করবেন না।

ফাইলটি সংরক্ষণ করার পরে, রুট অ্যাকাউন্ট থেকে বেরিয়ে যাওয়ার আগে, নিম্নলিখিত কমান্ডগুলি চালনা করুন:

mkdir /home/new_username                                #to create the directory /home/new_username
cp -r /etc/skel/. /home/new_username                    #to copy skeleton files to /home/new_username
chown -R new_username:new_username /home/new_username   #to change the owner of /home/new_username to the new user

এর পরেও নতুন ব্যবহারকারীর জন্য হোম ফোল্ডারটি প্রথম লগইনের পরে স্বয়ংক্রিয়ভাবে পপুলেটে যাবে।

আরও দেখুন: অ্যাকাউন্ট তৈরির পরে কীভাবে ব্যবহারকারীর হোম ফোল্ডার তৈরি করবেন?


যতদূর আমি মনে করি, হোম ফোল্ডারটি স্বয়ংক্রিয়ভাবে তৈরি হয় না, আপনাকে এটি ম্যানুয়ালি তৈরি করতে হবে এবং ব্যবহারকারীর প্রবেশটি আপডেট করতে হবে /etc/passwd(যদি এটি ইতিমধ্যে না থাকে)। ব্যবহারকারী একবার লগ ইন করলে, হোম ফোল্ডারটি স্বয়ংক্রিয়ভাবে সেই সাব-ডিরেক্টরিতে পপুলেটে যাবে। যাইহোক, এই সমস্তটির যত্ন নেওয়া হয় কেউ এই adduserপরিবর্তে ব্যবহার করে কোনও ব্যবহারকারী যুক্ত করে useradd
আলা আলি

@Alaa আমি শুধু কয়েক দিন আগে পরীক্ষিত এবং আমি ব্যবহার adduser: বাড়ি ফোল্ডারের হয় স্বয়ংক্রিয়ভাবে তৈরি। এবং প্রকৃতপক্ষে, হোম ফোল্ডারটি স্বয়ংক্রিয়ভাবে প্রথম লগইনের পরে পপুলেটে যাবে।
রাদু রেদানু

এটি কিছুই করতে পারে না বলে মনে হচ্ছে আমি অন্য প্রশ্ন থেকে বাশ স্ক্রিপ্টটি চেষ্টা করব, তবে আমি কেবল / বাড়িতে / new_user নামক একটি ফোল্ডার তৈরি করতে পারি না এবং তারপরে / ইত্যাদি / স্কেলের সামগ্রীগুলি অনুলিপি করতে পারি? এই যে বাশ স্ক্রিপ্ট কি করে?
জো রিজো

@ জোরিজো আমি আমার উত্তর সম্পাদনা করেছি।
রাদু রেডানু

@ RaduRădeanu আপনি বোঝাতে চাইছেন না cp /etc/skel/* /home/new_username? এছাড়াও, আপনি টানা দুটি chownআদেশ ব্যবহার করার কোনও কারণ আছে কি ?
আলা আলি

3

এটিকে কাজ করার জন্য আপনার যা দরকার তা হল হোম ফোল্ডার। রুট হিসাবে,

cd /home
cd mkdir username
chown username username
chgrp username username

প্রথমবারের সাথে লগ ইন করার জন্য সমস্ত প্রয়োজনীয় ফাইল তৈরি করা উচিত, যা সেগুলি মনে হয়:

drwxr-xr-x 16 fotanus fotanus 4096 Jun  4 17:46 .
drwxr-xr-x  9 root    root    4096 Jun  4 17:43 ..
drwx------ 11 fotanus fotanus 4096 Jun  4 17:46 .cache
drwx------ 13 fotanus fotanus 4096 Jun  4 17:46 .config
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Desktop
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Documents
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Downloads
drwx------  3 fotanus fotanus 4096 Jun  4 17:46 .gconf
drwxrwxr-x  2 fotanus fotanus 4096 Jun  4 17:46 .gstreamer-0.10
-rw-------  1 fotanus fotanus  334 Jun  4 17:45 .ICEauthority
drwxr-xr-x  3 fotanus fotanus 4096 Jun  4 17:45 .local
drwx------  4 fotanus fotanus 4096 Jun  4 17:45 .mozilla
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Music
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Pictures
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Public
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Templates
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Videos
-rw-------  1 fotanus fotanus   55 Jun  4 17:45 .Xauthority
-rw-------  1 fotanus fotanus  711 Jun  4 17:45 .xsession-errors
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.