লিনাক্সের ব্যবহারকারীর নামগুলিতে আমার কোন অক্ষর ব্যবহার করা উচিত?


39

আমি একটি ডোমেন নামের নামে ব্যবহারকারী অ্যাকাউন্ট তৈরি করতে চাই। অ্যাড্রেসার অভিযোগ করেন যে ব্যবহারকারীর নামগুলি NAME_REGEXনিয়মিত প্রকাশের সাথে মেলে match

adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX configuration variable.  Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.

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

কোন অক্ষরগুলি সমস্যার কারণ হতে পারে এবং ব্যবহারকারীর নামগুলিতে অনুমতি দেওয়া উচিত নয়?

এটি ডিফল্ট NAME_REGEX

NAME_REGEX="^[a-z][-a-z0-9]*\$"

1
নোট করুন যে এটি যতক্ষণ না এটি প্রথম চরিত্র না হয়ে NAME_REGEXইতিমধ্যে গ্রহণ করে -
রিং করুন Ø

যোগ .করবেন না কেন ? নামের একটি ব্যবহারকারী বিবেচনা করুন .বা ..। তারপরে, rmসেই ব্যবহারকারী নাম দিয়েছেন ..
জন

1
@ জন এটি কোনও সমস্যা নয় যেহেতু rmকোনও ব্যবহারকারীকে মুছে ফেলার সময় ব্যবহারের আদেশ নয়। আমি সম্মত হলাম ..একই কারণে কোনও বুদ্ধিমান নাম rmনয় , তবে এর মধ্যে একটিও নয়।
toon81

উত্তর:


26

আপনাকে আমার পরামর্শ হ'ল ডিফল্ট NAME_REGEX দ্বারা প্রস্তাবিত মানটিকে অনুসরণ করা। আপনি আসলে * এনআইএক্স এর অধীনে ব্যবহারকারীর নামের প্রায় কোনও কিছু রাখতে পারেন তবে অনুমানগুলি তৈরি করে এমন লাইব্রেরি কোডটিতে আপনার অদ্ভুত সমস্যা দেখা দিতে পারে। বিন্দু ক্ষেত্রে:

http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html

আপনার কাছে আমার প্রশ্ন: আপনি যদি এমন অস্বাভাবিক বিরামচিহ্নগুলি কেটে ফেলে থাকেন তবে আপনার অনেকগুলি ডোমেন নাম রয়েছে যা একে অপরের সাথে সংঘর্ষে লিপ্ত হবে? উদাহরণস্বরূপ, ডোমেন নাম হিসাবে আপনার কাছে "কোয়ালিটি-অ্যাসুরেন্স" এবং কোয়ালিটিসুরেন্স "উভয়ই আছে? যদি তা না হয় তবে আপনি কেবল অস্বাভাবিক চরিত্রগুলি ছড়িয়ে দেওয়ার এবং ব্যবহারকারীর নাম হিসাবে যা রেখেছেন তা ব্যবহার করার নীতি গ্রহণ করতে পারেন।

এছাড়াও, আপনি জিকোস ক্ষেত্রের "প্রকৃত নাম" বিভাগটি / ইত্যাদি / পাসডাব্লু তথ্যটিতে মূল, অবিস্মরণীয় ডোমেন নাম সংরক্ষণ করতে ব্যবহার করতে পারেন এবং স্ক্রিপ্টগুলি এটিকে খুব সহজেই বের করতে পারে।


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

সুতরাং আমি যে ডেবিয়ান সিস্টেমটি ব্যবহার করছি তা ব্যবহারকারীর www-ডেটা ব্যবহার করছে। সুতরাং দেখে মনে হচ্ছে - ব্যবহারকারীর নাম ব্যবহার করা ঠিক হবে।
এড হ্যাবর

আসলে, সেই নিয়মিত প্রকাশটি ব্যবহারকারীর নামে '-' করার অনুমতি দেয়! প্রথম অক্ষরটি অ্যাজ হওয়া দরকার, তবে ব্যবহারকারীর নামের পরবর্তী বর্ণগুলি '-', এজে, বা 0-9 হতে পারে।
স্টিভেহা

ওহ! তুমি ঠিক বলছো. আমি অতিরিক্ত মিস করেছি - যখন আমি এটির দিকে তাকিয়ে ছিলাম।
এড হাবর

22

আরও সুনির্দিষ্টভাবে, পসিক্স ("ইউনিক্সের জন্য পোর্টেবল অপারেটিং সিস্টেম ইন্টারফেস") স্ট্যান্ডার্ড (আইইইই স্ট্যান্ডার্ড 1003.1 ২০০)) বলে :


3.431 ব্যবহারকারীর নাম

একটি স্ট্রিং যা ব্যবহারকারীর শনাক্ত করতে ব্যবহৃত হয়; ব্যবহারকারীর ডাটাবেসও দেখুন। POSIX.1-2-2008 অনুসারে সিস্টেমগুলিতে পোর্টেবল হতে, মানটি পোর্টেবল ফাইলনাম অক্ষর সেট থেকে অক্ষর দ্বারা গঠিত। <hyphen>চরিত্র পোর্টেবল ব্যবহারকারীর নাম প্রথম অক্ষরটি হিসেবে ব্যবহার করা উচিত নয়।


3.278 পোর্টেবল ফাইলের নাম অক্ষর সেট

The set of characters from which portable filenames are constructed.

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 . _ -

যে কোনও ব্যবহারকারীর নাম যা এই স্ট্যান্ডার্ডটি মেনে চলে সে হ'ল পসিএক্স-অনুগত, এবং এটি নিরাপদ হওয়া উচিত।


6
এটি সত্য হলেও এটি সাধারণত ব্যবহারকারীর নামগুলিতে উচ্চ-অক্ষরের অক্ষর রাখার উপর ভ্রান্ত হয় - লোকেরা কেস-সংবেদনশীল পাসওয়ার্ড নিয়ে যথেষ্ট সমস্যায় পড়ে এবং তাদের নাম ব্যবহারের ক্ষেত্রে মনে রাখতে হয় যে তারা যখন নামবে তখন কেবল তাদের লাথি মারবে। (ব্যতিক্রম: যখন আপনার ব্যবহারকারীর নাম কনভেনশন হয় ALL UPPERCASE CHARACTERS))
voretaq7

1
POSIX.1-2017 হিসাবে, এই সংজ্ঞাগুলি কিছুটা সরানো হয়েছে। 3.431 ব্যবহারকারীর নাম এখন 3.437 ব্যবহারকারীর নাম এবং 3.278 পোর্টেবল ফাইলনাম অক্ষর সেট এখন 3.282 পোর্টেবল ফাইল নাম অক্ষর সেট
চক ওলবার

@ ভোরেটাক 7 আমি যেটি বৈধ বলে মনে করি তা হ'ল ইউজারনেমে কেস সংরক্ষণ করা , তবে সাইন ইনগুলি কে সংবেদনশীল নয়। সুতরাং একটি ব্যবহারকারীর নাম CatInTheHat হতে পারে তবে ক্যানিটহেট বা ক্যাটিনথ হ্যাট বা যা কিছু নির্দিষ্ট করে সাইন ইন করতে পারে।
স্ট্যাকওভারফ্লো ব্যবহারকারী

1

NAME_REGEX থেকে অনুমান করা যেতে পারে যে উপরের- এবং ছোট হাতের মধ্যে z এর মাধ্যমে সমস্ত কিছু হবে এবং 0 থেকে 9 এর মধ্যে নম্বরটি খারাপ হবে।


আপনি যে শব্দটির সন্ধান করছেন তা হ'ল "ছাড়"।
wfaulk

আবার রেজেক্সটি দেখুন, -এটিও স্বীকার করা হয়েছে (ঠিক প্রথম চরিত্র হিসাবে নয়) এটিও নোট করুন যে ডিফল্টরূপে বড় হাতের অক্ষর গ্রহণ করা হয় না (কোনও gপতাকা নেই, না ওপি দ্বারা সরবরাহিত A-ZNAME_REGEXNAME_REGEX="^[a-z][-a-z0-9]*\$"
রেজেক্সে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.