যে মানটির জন্য ব্যবহৃত হয় ~
তা নির্ধারিত প্রতিটি ব্যবহারকারীর হোম ডিরেক্টরিতে getent passwd
সাধারণত /etc/passwd
ফাইলটিতে প্রশাসনিক ডাটাবেস ( ) থেকে প্রাপ্ত মান থেকে নির্ধারিত হয়।
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
sam:x:500:500:Sam Mingolelli:/home/sam:/bin/bash
tracy:x:501:501::/home/tracy:/bin/bash
এই ফাইলটির 6th ষ্ঠ কলামটি হ'ল যেখানে কোনও ধরণের মান cd ~
আসে যখন ব্যবহৃত হয়।
nsswitch
কমান্ডটি ব্যবহার করে ব্যবহারকারীর হোম ডিরেক্টরিতে কোনও সিস্টেম কী ব্যবহার করবে তা আপনি দেখতে পাবেন getent passwd
:
$ getent passwd
root:x:0:0:root:/root:/bin/bash
sam:x:500:500:Sam Mingolelli:/home/sam:/bin/bash
tracy:x:501:501::/home/tracy:/bin/bash
"ডেটাবেস" যে এই উপলব্ধ মাধ্যমে আপনার সিস্টেম সমাধানকারী নিয়ন্ত্রণ সংজ্ঞায়িত করা হয় /etc/nsswitch.conf
।
$ grep passwd /etc/nsswitch.conf
#passwd: db files nisplus nis
passwd: files
উপরের ফাইলগুলির অর্থ /etc/passwd
, তবে "ডাটাবেস" এলডিএপি, এনআইএস, বা নেটওয়ার্কের অন্যান্য স্থান থেকে আসতে পারে, উদাহরণস্বরূপ।
মুভিং / redefining?
এই ক্রিয়াকলাপটি সম্পাদন করা অ্যাকাউন্টগুলি তৈরি হওয়ার পরে কিছুটা জটিল। আপনি যদি স্ক্র্যাচ থেকে অ্যাকাউন্ট তৈরি করে থাকেন তবে তাদের ব্যবহারকারীর বাড়ির ডিরেক্টরিটির অবস্থানটি নতুন সংজ্ঞা দেওয়া তুচ্ছ। useradd
কমান্ডটি চালানোর সময় আপনি ব্যবহারকারীর হোম ডিরেক্টরিতে ব্যবহারের জন্য অবস্থানটি নির্দিষ্ট করতে পারেন।
উদাহরণ
$ useradd -d /ext1/acheong ...
ম্যান পৃষ্ঠা থেকে উদ্ধৃতি
-d, --home HOME_DIR
The new user will be created using HOME_DIR as the value for the user’s
login directory. The default is to append the LOGIN name to BASE_DIR and
use that as the login directory name. The directory HOME_DIR does not
have to exist but will not be created if it is missing.
বিদ্যমান অ্যাকাউন্টের জন্য?
এটি প্রায়শই কোনও সার্জিকাল অপারেশনে পরিণত হয় যেহেতু প্রায়শই বার ব্যবহারকারীর হোম ডিরেক্টরিটির পথটি স্ট্যাফিকালি কনফিগারেশন ফাইলগুলিতে অন্তর্ভুক্ত হয়ে যায় এবং এটিকে আরও জটিল করে তোলে।
উদাহরণ
$ grep home /home/sam/.*
/home/sam/.gtkrc-1.2-gnome2:include "/home/sam/.gtkrc.mine"
এগুলি হয় স্থির করা দরকার, অথবা আপনাকে /home/sam
নতুন স্থান থেকে একটি লিঙ্ক সরবরাহ করতে হবে /ext1/sam
,।
"ডাটাবেস" না থাকলে চলন্ত /etc/passwd
যদি সিস্টেমটি এলডিএপি, এনআইএস ইত্যাদি থেকে হোম ডিরেক্টরিগুলি প্রাপ্ত করে থাকে তবে আপনাকে সেই সিস্টেমে স্থানান্তরিতকরণটি রূপান্তর করতে হবে এবং ফাইলগুলি অন্যটিতে সরিয়ে নিয়ে যাওয়ার জন্য সমন্বয় /home/sam
করতে হবে /ext1/sam
।
তথ্যসূত্র
~
প্রকৃত হোম ডিরেক্টরি বাদে অন্য কিছুতে প্রসারিত করতে চান?