একজন শিক্ষার্থী কেবল জিজ্ঞাসা করেছিলেন যে .
ব্যবহারকারীর নামে ডট ( ) রাখার ক্ষতি কী হতে পারে । উদাহরণ স্বরূপ:john.doe
এটি কীভাবে সিস্টেমে বা কোনও অ্যাপ্লিকেশনগুলিকে প্রভাবিত করবে?
একজন শিক্ষার্থী কেবল জিজ্ঞাসা করেছিলেন যে .
ব্যবহারকারীর নামে ডট ( ) রাখার ক্ষতি কী হতে পারে । উদাহরণ স্বরূপ:john.doe
এটি কীভাবে সিস্টেমে বা কোনও অ্যাপ্লিকেশনগুলিকে প্রভাবিত করবে?
উত্তর:
পসিক্স এই ব্যবহারকারীর নাম সম্পর্কে জানায় :
[...] আইইইইএস স্ট্যান্ড 1003.1-2001 অনুসারে সিস্টেমগুলি জুড়ে পোর্টেবল হতে, মানটি পোর্টেবল ফাইলনাম অক্ষর সেট থেকে অক্ষর দ্বারা গঠিত। হাইফেন কোনও বহনযোগ্য ব্যবহারকারীর নামের প্রথম অক্ষর হিসাবে ব্যবহার করা উচিত নয়।
... যেখানে পোর্টেবল ফাইলনাম অক্ষর সেট রয়েছে:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -
এছাড়াও, ফাইলের ম্যানপেজটি/etc/adduser.conf
বলে:
VALID NAMES
adduser and addgroup enforce conformity to IEEE Std 1003.1-2001,
which allows only the following characters to appear in group
and user names: letters, digits, underscores, periods, at signs
(@) and dashes. The name may not start with a dash. The "$" sign
is allowed at the end of usernames (to conform to samba).
An additional check can be adjusted via the configuration
parameter NAME_REGEX to enforce a local policy.
উভয় স্পেসিফিকেশন বিন্দু অন্তর্ভুক্ত বলে মনে হচ্ছে, উবুন্টু (আমার 13.04 এ অন্তত) এটিকে প্রত্যাখ্যান বলে মনে হচ্ছে:
⊳ sudo adduser as.df
adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX[_SYSTEM] configuration variable. Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.
NAME_REGEX
উবুন্টুতে ডিফল্ট হ'ল ( /etc/adduser.conf
ম্যানপেজ থেকে ):
^[a-z][-a-z0-9]*$
_
, @
বা .
।উপসংহারে একটি .
উবুন্টু ব্যবহারকারীর নামের জন্য একটি বিন্দু ব্যবহার করা যেতে পারে, NAME_REGEX
ন্যায়সঙ্গতটি পরিবর্তন করতে হবে /etc/adduser.conf
। এটি পসিক্সের সাথে সঙ্গতিপূর্ণ হিসাবে দেখা হচ্ছে, এটির সাথে কোনও সমস্যা হওয়া উচিত নয়.
সঙ্গতিপূর্ণ কোনও পসিক্স-অনুবর্তী প্রোগ্রামের সাথে ব্যবহারকারীর নামতে ।
টার্মিনালে এই কমান্ডটি চালান:
sudo nano /etc/adduser.conf
এই লাইনটি সন্ধান করুন (ফাইলের শেষে)
#NAME_REGEX="^[a-z][-a-z0-9]*$"
এবং এটি দিয়ে প্রতিস্থাপন
NAME_REGEX='^[a-z][-.a-z0-9]*$'
নোট করুন যে -
বন্ধনীটি প্রকাশের ক্ষেত্রে অবশ্যই প্রথম চরিত্রটি থাকবে [...]
, অন্যথায় এটি একটি পরিসীমা নির্দিষ্ট করে হিসাবে বিবেচনা করা হবে a-z
।
তারপরে , Ctrl+ টিপুন ।XYEnter
তথ্যসূত্র:
NAME_REGEX="^[a-z][-a-z0-9_.]*\$?$"
মধ্যে /etc/adduser.conf
করেনি।
useradd
পরিবর্তে: sudo useradd -m my.user
। আমরা ইউটিরিফাইতে এটিই করি এবং এটি ক্রস প্ল্যাটফর্মও।
অ্যাপ্লিকেশনগুলি যা ব্যবহারকারীর নাম পড়েছে তারা এমন একটি রেইজেক্স ব্যবহার করতে পারে যা ধরে নেবে যে আপনার ব্যবহারকারীর নামটি নিয়মগুলি অনুসরণ করে এবং তাই আপনার ব্যবহারকারীর নামটি পরিচালনা করতে পারে না।
মার্ক হ্যাবারে ডেবিয়ান বাগ # 604242 (ডিফল্টরূপে ইউজারনেমে বিন্দুগুলিকে মঞ্জুরি দিন) এর একটি সম্ভাব্য ডাউনসাইড ব্যাখ্যা করেছেন :
ব্যবহারকারীর নামের সাথে বিন্দু থাকা স্ক্রিপ্টগুলি ব্যবহার করে কিছু সমস্যা তৈরি করে
chown
, যা এখনও ব্যবহারকারীর নাম এবং গোষ্ঠীর নামের মধ্যে বিচ্ছিন্ন হিসাবে বিন্দুকে গ্রহণ করে। যদিchown
এখনও বিন্দু গ্রহণ করে তবে এই নোটেশনটি ব্যবহার করে স্ক্রিপ্ট থাকবে, যা ব্যবহারকারীর নামতে একটি ডট থাকলে ভঙ্গ হবে।আমি বর্তমান ডিফল্ট (যা স্থানীয় কনফিগারেশন দ্বারা ওভাররাইট করা যেতে পারে) রাখার পরামর্শ দিচ্ছি যতক্ষণ না
chown
বিন্দু বিভাজক হিসাবে গ্রহণ করা বন্ধ করে দেয়।
এবং chown
এখনও বিন্দুকে বিভাজক হিসাবে গ্রহণ করে, যদিও এটি আর নথিভুক্ত করা হয়নি। আমি সম্মতি দিচ্ছি যে পসিক্সের সামঞ্জস্যতা বিরাজ করবে এবং আমি কোনও সিস্টেমে বিন্দুযুক্ত ব্যবহারকারীর নাম কোনও প্রতিকূল প্রভাব ছাড়াই নিযুক্ত করি।