یک سرور خصوصی مجازی لینوکس (VPS) به شما امکان می دهد چندین کاربر اضافه کنید تا مدیریت مشترک سیستم را ساده کنید.

با این حال، کاربرانی که دسترسی کامل دارند می‌توانند فایل‌ها و پوشه‌های ضروری را تغییر دهند که بر عملکرد سیستم تأثیر می‌گذارد. برای جلوگیری از خطرات امنیتی سرور باید مجوزهای فایل را به درستی مدیریت کنید.

برای تغییر مجوزها، سیستم های لینوکس این را ارائه می دهند chmod فرمان این به شما امکان می دهد امتیازات کاربر را برای بهبود امنیت VPS خود تنظیم کنید.

در این آموزش روش تغییر مجوزها و مالکان در لینوکس با استفاده از ابزار خط فرمان را توضیح خواهیم داد. همچنین با مزایای اصلاح امتیازات کاربر، بهترین شیوه ها و مسائل رایج آشنا خواهید شد.

چرا مجوزها و مالکان را در لینوکس تغییر دهید؟

در این بخش، چندین مزیت تغییر مجوزهای فایل و دایرکتوری و مالکیت در لینوکس را بررسی خواهیم کرد.

افزایش امنیت

تغییر مالکیت فایل و مجوزها از تغییر فایل‌هایی که ممکن است بر امنیت تأثیر بگذارد توسط کاربران غیرمجاز جلوگیری می‌کند. برای مثال، ممکن است تغییرات خطرناکی در کلیدهای SSH یا تنظیمات فایروال ایجاد کنند.

اجازه دادن به کاربران سطح پایین برای دسترسی به فایل های حساب های دارای مجوز بالا نیز می تواند منجر به نقض امنیت شود. آنها ممکن است اعتبار سوپرکاربر یا ریشه را پیدا کنند تا کل سیستم را در اختیار بگیرند.

علاوه بر این، مدیریت مجوزها به جلوگیری از حذف تصادفی سیستم فایل که می تواند عملکرد سرور شما را به خطر بیندازد، کمک می کند.

کنترل دسترسی

محدود کردن مجوزها به شما امکان می دهد کنترل دسترسی به فایل را در لینوکس تنظیم کنید. علاوه بر جلوگیری از سوء مدیریت، به ساده سازی حسابرسی کمک می کند زیرا می توانید به سرعت فعالیت های کاربر را ردیابی کنید و منبع اقدامات غیرمجاز را تعیین کنید.

علاوه بر این، تغییر مجوزها و مالکیت در لینوکس به بهبود انزوا کمک می کند. اعضای تیم فقط می توانند کار کنند و فایل های خاصی را به اشتراک بگذارند و در عین حال بقیه را ایمن نگه دارند.

محرمانه بودن داده ها را حفظ کنید

در محیط های چند کاربره، مدیریت مجوزهای فایل، محرمانه بودن داده ها و حریم خصوصی بین حساب ها را تضمین می کند. اجازه دادن به همه کاربران برای دسترسی به اطلاعات دیگران می تواند منجر به خطر بالای تهدیدات داخلی مانند نشت داده ها شود.

تغییر مالکیت به محدود کردن قرار گرفتن در معرض داده ها برای کاربران غیرمجاز کمک می کند. به عنوان مثال، تیم محصول را به عنوان تنها مالک داده های مشتری برای محافظت از اطلاعات حساس اختصاص دهید.

الزامات انطباق و مقررات را برآورده کنید

تغییر مجوزها و مالکیت فایل در سیستم‌های لینوکس به شما امکان می‌دهد از داده‌های شخصی کاربران محافظت کنید، به خصوص اگر یک سرویس اینترنتی دارید. بسیار مهم است که به قوانین مختلف حفظ حریم خصوصی داده ها، مانند قوانین، پایبند باشید مقررات عمومی حفاظت از داده های اروپا (GDPR).

سایر مقررات، مانند استاندارد امنیت داده های صنعت کارت پرداخت (PCI-DSS)، همچنین مسئولیت پاسخگویی کاربر را الزامی می کند. اعطای مجوزهای خاص به کاربران به شما کمک می کند مسئولیت آنها را در اجرای سرویس میزبانی شده تأیید کنید.

روش تغییر مجوزها و مالکیت فایل لینوکس

در این بخش سطوح مالکیت و مجوز فایل در لینوکس و روش تخصیص آنها با استفاده از دستورات لینوکس توضیح داده می شود.

قبل از ادامه، با استفاده از یک کلاینت SSH مانند PuTTY یا Terminal به سرور خود متصل شوید.

نکته حرفه ای

اگر هنگام اتصال به VPS از طریق SSH با مشکلات شبکه مواجه شدید، از آن استفاده کنید هاستینگerمرورگر terminal ویژگی. به شما اجازه می دهد تا دستورات را اجرا کنید روی سرور شما زمانی که پورت SSH بسته است.

1. سطوح مجوز فایل را درک کنید

سیستم های لینوکس دارای سه سطح مجوز برای فایل ها و دایرکتوری ها هستند – خواندن، نوشتن و اجرا. در اینجا توضیحات آنها آمده است:

  • بخوان (ر) – به کاربران اجازه می دهد تا محتوای یک فایل یا فهرست را مشاهده کنند.
  • نوشتن (w) – به کاربران امکان می دهد محتوای یک فایل را ویرایش کنند. برای دایرکتوری ها، آنها می توانند فایل ها را در پوشه ایجاد، حذف و انتقال دهند.
  • اجرا کردن (x) – کاربران را قادر می سازد تا یک فایل را به صورت اسکریپت یا برنامه اجرا کنند. اعطای مجوزهای اجرایی بر روی پوشه ها به آنها اجازه می دهد تا دایرکتوری کاری را تغییر دهند و به اطلاعات توسعه یافته آن دسترسی داشته باشند.

لینوکس همچنین دارای سه کلاس کاربری است که می توانید مجوزها را به آنها اختصاص دهید:

  • مالک – یک حساب شخصی که فایل را در اختیار دارد.
  • گروه – مجموعه ای از کاربران با همان نقش.
  • دیگران – همه کاربران سراسر سیستم که نه مالک و نه عضو گروه هستند.

برای بررسی گروه های کاربری لینوکس، آن را باز کنید گروه فایل در /و غیره دایرکتوری با استفاده از یک ویرایشگر متن مانند نانو.

لیست گروه ها و اعضای آنها در فایل پیکربندی گروه لینوکس

رابط خط فرمان لینوکس مجوزهای فایل یونیکس را به صورت رشته ای از کاراکترها مانند مثال زیر نشان می دهد:

-rwxrwxrwx

رشته با یک نشانگر نوع فایل شروع می شود. خط فاصله () به یک فایل معمولی اشاره دارد، در حالی که د نشان دهنده یک دایرکتوری است. رشته های سه کاراکتری مجوزهای مربوط به مالک، گروه، و دیگران، به ترتیب.

اگر یک کلاس کاربری مجوز خاصی نداشته باشد، یک خط فاصله جایگزین کاراکتر مربوطه می شود. این مثال را در نظر بگیرید:

-rwxrw-r--

رشته به معنی مالک دارای مجوزهای کامل است، در حالی که گروه اعضا می تواند فایل را بخواند و بنویسد. از آنجا که دیگران فقط داشتن r، آنها می توانند فایل را بخوانند اما نمی توانند بنویسند یا اجرا کنند.

پیشنهاد می‌کنیم بخوانید:  در Command در لینوکس

2. مجوزهای فعلی را مشاهده کنید

برای بررسی مجوزهای فایل و زیرپوشه فعلی، با استفاده از آن به دایرکتوری مورد نظر بروید سی دی. بعد، اجرا کنید ls فرمان با گزینه:

ls -l

ترمینال تمام محتوای پوشه را با اطلاعات مختلف از جمله مجوزهای آن چاپ می کند. در اینجا یک نمونه خروجی آورده شده است:

drwxrwxrwx 2 user1 admins 4096 Sep 12 04:33 config

در اینجا تفکیک نحو و توضیح هر ستون آمده است:

  • drwxrwxrwx – مجوزهای پوشه یا فایل.
  • 2 – تعداد پیوندهای سخت یا نام مستعار برای فایل یا پوشه.
  • کاربر 1 – صاحب فایل
  • مدیران – گروه مرتبط با فایل
  • 4096 – اندازه فایل یا پوشه بر حسب بایت
  • 12 سپتامبر 04:33 – آخرین تاریخ تغییر فایل یا پوشه
  • پیکربندی – نام فایل یا پوشه

3. مجوزهای فایل را با دستور chmod تغییر دهید

برای تغییر مجوزهای فایل در لینوکس، از تغییر حالت یا chmod فرمان در اینجا نحو اصلی آمده است:

chmod [option] [mode] [file_folder_name]

گزینه ها پارامترهایی برای اصلاح رفتار فرمان هستند. بررسی کنید chmod کتابچه راهنمای page برای دیدن لیست کامل برخی از گزینه های رایج مورد استفاده عبارتند از:

  • – مجوزهای فایل را به صورت بازگشتی تغییر دهید.
  • – پیام های خطا را سرکوب می کند.
  • -v – اطلاعات مربوط به اجرای دستور را نمایش می دهد.
  • -کمک – نشان می دهد chmod کتابچه راهنمای.

این حالت پارامتر مجوزهای جدید را برای فایل یا پوشه تنظیم می کند. استفاده کنید نمادین یا هشتی حالت – آنها به طور مشابه کار می کنند و نتیجه یکسانی دارند.

علاوه بر مجوزها، نماد نمادین chmod از یک کاراکتر واحد استفاده می کند که کلاس کاربر و عملیات را نشان می دهد. این لیست است:

شما می توانید چندین مجوز کلاس کاربر را به طور همزمان با فهرست کردن حالت های جدا شده با استفاده از کاما تغییر دهید. به مثال زیر توجه کنید:

chmod u+wx,g-x,o=r script.sh

این chmod فرمان اعطا می کند script.sh مالک فایل مجوزهای نوشتن و اجرا را دارد. همچنین مجوز گروه اجرایی را حذف می کند و فایل را فقط خواندنی برای سایر کاربران تبدیل می کند.

نکته حرفه ای

اگر هنگام استفاده از حالت نمادین کاربر را حذف کنید، chmod دستور مجوزها را برای همه کاربران تنظیم می کند.

همچنین به عنوان حالت مطلق شناخته می شود، نماد هشتی chmod از اعداد زیر برای تعیین مجوزهای مورد نظر کاربر استفاده می کند:

عدد تعریف
4 اجازه خواندن
2 اجازه نوشتن
1 مجوز را اجرا کنید
0 لغو دسترسی یا عدم دسترسی

برای تنظیم چندین مجوز، عدد را با هم اضافه کنید. مثلا، 3 فایل را قابل نوشتن و اجرایی می کند. در همین حال، 7 مجوزهای خواندن، نوشتن و اجرا را می دهد.

بر خلاف روش نمادین، نماد هشتی از مکان اعداد برای تعیین استفاده می کند مالک، گروه، و دیگران تنظیمات مجوز

مثال زیر به مالک و گروه اجازه می دهد تا فایل را بخوانند، بنویسند و اجرا کنند و در عین حال دسترسی سایر کاربران را لغو کنند:

chmod 770 script.sh

حالت بازگشتی را فعال کنید تا مجوزهای یکسانی را برای همه فایل‌ها و پوشه‌های فرعی در یک دایرکتوری اعمال کند. به عنوان مثال، این دستور به همه کاربران اجازه نوشتن و اجرای آن را می دهد /etc/script محتویات دایرکتوری:

chmod -R 777 /etc/script
ترمینال فایل های یک پوشه را با مجوزهای یکسان فهرست می کندترمینال فایل های یک پوشه را با مجوزهای یکسان فهرست می کند

موارد استفاده رایج برای لینوکس chmod دستور شامل محدود کردن دسترسی به یک فایل حساس است که بر عملکرد سیستم شما تأثیر می گذارد. همچنین به شما این امکان را می دهد که یک اسکریپت قابل اجرا بسازید و مشکل را حل کنید bash: اجازه رد شد خطا

مهم! هنگام تغییر مجوزهای پوشه، به کاربر اجازه دسترسی به دایرکتوری های والد را بدهید.

4. مدیریت مالکیت فایل با استفاده از دستور chown

به طور پیش فرض، مالک در لینوکس یک سازنده فایل یا دایرکتوری است. اگر مالک متعلق به یک گروه لینوکس باشد، همه اعضای دیگر همان مجوزها را به ارث خواهند برد.

مجوزهای مالک پیش فرض بسته به آن متفاوت است روی توزیع لینوکس شما به طور کلی، سازندگان می توانند فایل های خود را بخوانند و بنویسند اما آنها را اجرا نکنند.

استفاده کنید چاشنی دستور تغییر مالک یک فایل یا پوشه. در اینجا نحو است:

chown [new owner or group] [file or directory]

برای گروه ها، نام آنها را با دو نقطه شروع کنید (:) به فرمان اجازه می دهد تا آن را از یک حساب کاربری متمایز کند. حروف بزرگ را از لینوکس به دقت بررسی کنید چاشنی دستور به حروف بزرگ و کوچک حساس است. مثال زیر را تنظیم می کند DevOps گروه به عنوان صاحب فایل:

chown :DevOps deploy.sh
ترمینال مالک گروه جدید فایل اسکریپت bash را نشان می دهدترمینال مالک گروه جدید فایل اسکریپت bash را نشان می دهد

تغییر مالکیت گروه به شما امکان می دهد به راحتی مجوزهای چند کاربر را به طور همزمان مدیریت کنید. به جای اعطای دسترسی به صورت جداگانه، مجوزهای گروه برای همه اعضای آن اعمال می شود.

همچنین می توانید مالک و گروه یک فایل را به طور همزمان تغییر دهید. برای انجام این کار، نام کاربری را قبل از دو نقطه اضافه کنید:

chown user:DevOps deploy.sh

تغییر مجوزهای فایل یا دایرکتوری معمولاً برای بهبود انزوا و کنترل دسترسی استفاده می شود. علاوه بر این، برای انتقال فایل ها بین کاربران در هنگام مهاجرت اداری مفید است.

مهم! از آنجایی که تغییر مالکیت یک فایل به امتیازات سوپرکاربر لینوکس نیاز دارد، استفاده کنید سودو هنگام اجرای چاشنی فرمان

بهترین روش ها برای مدیریت مجوزها و مالکیت در لینوکس

این بخش بهترین روش‌ها را برای مدیریت مجوزهای لینوکس برای کمک به بهبود کارایی مدیریت سرور بررسی می‌کند.

استفاده کنید هاستینگer دستیار هوش مصنوعی برای نوشتن دستورات مجوز فایل

هاستینگer برنامه های میزبانی VPS ویژگی های مختلفی را ارائه می دهند که مدیریت دسترسی را در لینوکس ساده می کند. به عنوان مثال، می توانید دستورات ساده را در ما وارد کنید دستیار هوش مصنوعی برای تولید دستورات مجوز فایل

این ویژگی به صرفه جویی در زمان و تلاش کمک می کند زیرا می توانید مستقیماً دستورات را در ترمینال یا کلاینت SSH خود کپی و جایگذاری کنید. علاوه بر این، به مبتدیان با حداقل دانش فنی کمک می کند تا سرورهای خود را به راحتی مدیریت کنند.

پیشنهاد می‌کنیم بخوانید:  روش تغییر منطقه زمانی در اوبونتو (3 روش آسان)

می توانید اعلان های مختلف هوش مصنوعی برای مدیریت VPS را به دستیار وارد کنید.

به عنوان مثال، وارد کنید: “Generate a chmod فرمان با یک حالت نمادین که می دهد deploy_script.sh مالک فایل مجوزهای کامل، مالک گروه مجوز نوشتن و سایر کاربران بدون مجوز.”

Hostinger  VPS AI Assistant دستور chmod را برای کارش در اختیار کاربر قرار می دهدHostinger  VPS AI Assistant دستور chmod را برای کارش در اختیار کاربر قرار می دهد

اصل کمترین امتیاز (PoLP) را تمرین کنید

در امنیت رایانه، اصل PoLP مجوزهای کاربر یا گروه را به حداقل محدود می کند. این به کاهش سطح حمله احتمالی کمک می کند و امنیت سرور را بهبود می بخشد.

کاربران یا گروه‌ها فقط نسبت به فایل‌های ضروری برای نقش‌های خود امتیازات لازم را دارند. به عنوان مثال، فقط در صورتی که نیاز به تغییر فایل داشته باشند، مجوز نوشتن را اعطا کنید.

به کاربران دسترسی بیش از حد به فایل هایی که برای جلوگیری از سوء استفاده و بهره برداری استفاده نمی کنند، ندهید. تمام فعالیت‌های مجوزهای دسترسی را ثبت کنید تا ممیزی‌های امنیتی را در صورت رخنه‌ها ساده کنید.

از دستور find برای تغییرات مجوز پیشرفته استفاده کنید

لینوکس پیدا کردن دستور به شما امکان می دهد فایل ها را در یک دایرکتوری مبتنی بر جستجو جستجو کنید روی معیارهای خاص، از جمله مجوزهای آنها.

به عنوان مثال، برای یافتن فایلی که مالک می تواند بخواند و بنویسد، موارد زیر را اجرا کنید:

find /path/to/search -type f -perm -o=rw

این -نوع پارامتر مشخص می کند که آیا دستور برای فایل ها یا دایرکتوری ها جستجو می کند. می توانید از حالت نمادین یا مطلق استفاده کنید و چندین فیلتر مجوز مانند موارد زیر را مشخص کنید:

find /path/to/search -type f -perm -u+w,g+w
find /path/to/search -type f -perm /220
خروجی یک دستور find با فیلترهای مجوز در ترمینالخروجی یک دستور find با فیلترهای مجوز در ترمینال

مثال اول از خط فاصله () برای جستجوی فایل هایی با مجوز نوشتن برای مالک و اعضای گروه. در ضمن از اسلش رو به جلو استفاده می کنیم (/) در مثال دوم برای یافتن فایلی با مجوز نوشتن برای مالک یا گروه.

برای تغییر خودکار مجوزها و مالکیت، دستورات مربوطه را با -اجرایی پارامتر:

find /path/to/search -type f -perm -o+w -exec chmod o-w {} \;
find /path/to/search -type d -perm -u+w -exec chown newowner:newgroup {} \;

از دستور اول برای حذف مجوزهای نوشتن از فایل های مناسب استفاده کنید. در همین حال، مثال دوم مالک پوشه را با دسترسی نوشتن تغییر می دهد.

مجوزهای پیش فرض را برای فایل ها و فهرست های جدید تنظیم کنید

مجوزهای پیش فرض فایل در لینوکس هستند 666، در حالی که دایرکتوری ها هستند 777. این umask دستور به شما امکان می دهد این تنظیمات را با کم کردن مقدار اکتال پیش فرض با یک عدد سفارشی تغییر دهید.

به عنوان مثال، مقدار umask اکثر توزیع های لینوکس است 022. مقدار پیش فرض را با عدد کم کنید. در این صورت فایل ها و دایرکتوری های جدید دارای مجوز خواهند بود 644 و 755.

شما می توانید از هر مقدار unmask استفاده کنید. به عنوان مثال، دستور زیر را برای تنظیم اجرا کنید 554 به عنوان مجوز پیش فرض برای یک فهرست جدید:

umask 223

برای بررسی مقدار umask فعلی در حالت عددی، دستور را بدون هیچ پارامتر اضافی اجرا کنید. متناوبا، اضافه کنید گزینه ای برای خروجی مقدار در نماد نمادین.

ترمینال مقدار umask فعلی را به صورت نمادین و اکتال خروجی می دهدترمینال مقدار umask فعلی را به صورت نمادین و اکتال خروجی می دهد

برای تغییرات انبوه از کاراکترهای عام استفاده کنید

برای تغییر مجوزها و مالکیت چندین فایل در داخل یک پوشه، از حروف عام استفاده کنید روی نام آنها

هشدار! هنگام استفاده از حروف عام برای تنظیم مجوزهای مختلف مراقب باشید. ممکن است به طور تصادفی فایل‌ها یا پوشه‌های مهم مانند فهرست اصلی را تغییر دهید.

علامت سوال (?) wildcard یک کاراکتر واحد را نشان می دهد. به عنوان مثال، برای تغییر مجوزها، موارد زیر را اجرا کنید FileA.txt و FileB.txt در فهرست فعلی شما:

chmod 555 File?.txt

از یک ستاره (*) برای جایگزینی صفر یا چند کاراکتر. مثال دستور زیر مالکیت را تغییر می دهد Deploy_jenkins.txt و Deploy_lavarel.txt به DevOps گروه:

chmod :DevOps Deploy_*.txt

عیب یابی مشکلات مجوزها در لینوکس

این چاشنی و chmod دستورات برای عیب یابی مشکلات مجوز فایل در سیستم شما مفید هستند. به عنوان مثال، ممکن است با “اجازه رد شدخطا هنگام اجرای یک اسکریپت bash یا یک فایل اجرایی.

زمانی اتفاق می افتد که کاربر فعلی شما مجوز اجرا را نداشته باشد. برای حل این مشکل، امتیاز لازم را با استفاده از سودو فرمان

یکی دیگر از مشکلات رایج، مجوزهای ناکافی است که مانع بهره وری می شود زیرا کاربران نمی توانند به فایل ها و فهرست های ضروری برای وظایف خود دسترسی پیدا کنند. این همچنین می تواند منجر به خطاهای اسکریپت اتوماسیون شود زیرا برای اجرای صحیح به مجوزهای اجرا نیاز دارد.

به جای یافتن و تغییر دستی مجوزهای فایل، از آن استفاده کنید پیدا کردن دستور ساده کردن کار همچنین، از حروف عام و حالت بازگشتی برای افزایش سرعت استفاده کنید process.

نتیجه

تنظیم مجوزها در لینوکس به شما امکان می دهد کنترل دسترسی سیستم را برای بهبود امنیت سرور خصوصی مجازی (VPS) و جلوگیری از تغییرات غیرمجاز تنظیم کنید. همچنین به حفظ محرمانه بودن داده های کاربر برای مطابقت با مقررات کمک می کند.

فایل ها و دایرکتوری ها در لینوکس دارای سه مجوز هستند – خواندن، نوشتن، و اجرا کردن. همچنین سه کلاس کاربری وجود دارد – فایل مالک، آ گروه از کاربران، و دیگران، که به کاربرانی اطلاق می شود که نه مالک و نه بخشی از یک گروه هستند.

استفاده کنید ls -l فرمان برای بررسی مجوزها و مالکیت فایل در یک فهرست. برای تغییر آنها، استفاده کنید chmod و قوانین جدید را به صورت نمادین یا عددی بنویسید. در همین حال، اجرا کنید چاشنی ابزار به عنوان یک ابرکاربر برای تغییر مالکیت فایل به حساب یا گروه دیگری.

ترکیب کنید پیدا کردن فرمان با چاشنی و chmod برای کمک به عیب یابی مشکلات مجوز سیستم شما، مانند امتیازات نادرست یا خطاهای دسترسی ممنوع. برای بهبود کارایی، اهرم هاستینگerدستیار هوش مصنوعی برای تولید دستورات با استفاده از دستورات ساده.

با دستورات لینوکس برای مدیریت فایل بیشتر آشنا شوید

روش حذف فایل ها و دایرکتوری ها
روش ایجاد یک فایل خالی
چگونه یک فایل را با دستور Tar فشرده کنیم
چگونه فایل ها را در لینوکس از حالت فشرده خارج کنیم
روش تغییر نام یک فایل
روش بررسی نوع فایل
روش ایجاد یک پیوند نمادین (Symlink)