چرا «ادمین» حساب شما نمیتواند فاکتورها را ببیند؟
دیشب یکی از مشتریها زنگ زد که ادمین تیمش میخواهد سرویس جدید بخرد ولی دکمهای برای این کار نمیبیند. نه اینکه دسترسی نداشته باشد — اصلاً گزینه خرید در پنل برایش رندر نمیشود. این دقیقاً همان جایی است که نقشهای حساب در سرورنت وارد میشوند و اگر تفاوتشان را ندانید، یک روز پشت تلفن گیر میکنید و توضیح میدهید که چرا «ادمین» حساب، ادمینِ واقعیِ خرید نیست.
در سرورنت، هر حساب میتواند چند نقش داشته باشد: مالک (Owner)، ادمین (Admin)، حسابدار (Billing) و پشتیبان (Support). هر نقش مجموعهای از دسترسیها دارد که به هم ریخته نیستند. این مقاله جدول دقیق هر نقش را نشان میدهد تا بدانید چه کسی میتواند بخرد، لغو کند، رمز ببیند یا فاکتور بگیرد.
چهار نقش اصلی و مرزهای دسترسی
نقش کاربری در سرورنت بر اساس اصل کمترین دسترسی طراحی شده است. یعنی هیچ نقشی به صورت پیشفرض همهچیز را نمیبیند. این جدول را برای خودتان ذخیره کنید:
| عملیات | مالک (Owner) | ادمین (Admin) | حسابدار (Billing) | پشتیبان (Support) |
|---|---|---|---|---|
| خرید سرویس جدید | ✔ | ✔ | ✘ | ✘ |
| لغو سرویس | ✔ | ✘ | ✘ | ✘ |
| مشاهده رمزهای سرویس | ✔ | ✔ | ✘ | ✘ |
| مشاهده و دانلود فاکتور | ✔ | ✘ | ✔ | ✘ |
| تغییر رمز اصلی حساب | ✔ | ✘ | ✘ | ✘ |
| ثبت تیکت پشتیبانی | ✔ | ✔ | ✔ | ✔ |
| مدیریت کاربران و نقشها | ✔ | ✘ | ✘ | ✘ |
| تغییر پلن سرویس (ارتقا/تنزل) | ✔ | ✔ | ✘ | ✘ |
| دسترسی به API و کلیدهای دسترسی | ✔ | ✔ | ✘ | ✘ |
نکته مهم: مالک تنها نقشی است که میتواند حساب را حذف کند یا مالکیت را به دیگری منتقل کند. اگر شرکت شما فقط یک نفر ادمین دارد و او از دسترس خارج شود، عملاً به بنبست میخورید.
چرا لغو سرویس فقط برای مالک است؟
لغو سرویس یک عملیات برگشتناپذیر است. اگر ادمین یا حسابدار بتواند سرویس را لغو کند، یک اشتباه ساده میتواند کل زیرساخت شما را از بین ببرد. سرورنت عمداً این دسترسی را فقط به مالک داده است. اگر مالک در دسترس نیست و نیاز فوری به لغو دارید، باید از طریق تیکت پشتیبانی احراز هویت کنید — و این پروسه زمانبر است.
اینجا اشتباه میکنند: خیلی از تیمها همه اعضا را «ادمین» میکنند تا کارها سریعتر پیش برود. نتیجه؟ یک ادمین که فکر میکند میتواند سرویس را لغو کند، دکمهای نمیبیند، تیکت باز میکند، و تیم پشتیبانی هم نمیتواند کاری کند چون نقش او اجازه نمیدهد. این نه باگ است، نه محدودیت — طراحی عمدی است.
نقش حسابدار: فقط امور مالی، نه فنی
نقش حسابدار (Billing) برای کسی ساخته شده که مسئول پرداختها و تطبیق فاکتورهاست اما نباید به رمز سرویسها دسترسی داشته باشد. این نقش میتواند فاکتورها را ببیند، دانلود کند و روش پرداخت را تغییر دهد. اما نمیتواند رمز MySQL یا FTP را ببیند، حتی اگر همان سرویسی باشد که برایش فاکتور صادر شده.
این تفکیک در عمل خیلی مهم است. اگر حسابدار شما همزمان توسعهدهنده است، دو نقش جدا برایش بسازید. یک کاربر میتواند هم نقش حسابدار و هم نقش ادمین را داشته باشد — این دو با هم جمع میشوند و دسترسی او ترکیبی از هر دو خواهد بود.
چه کسی رمزها را میبیند؟
مشاهده رمز سرویسها (مثل رمز SSH یا دیتابیس) به نقشهای مالک و ادمین محدود شده است. این دسترسی در لاگ امنیتی حساب ثبت میشود و اگر کسی رمزی را ببیند، اثرش میماند. برای سرویسهای حساس، پیشنهاد میکنم رمزها را بعد از اولین ورود عوض کنید — رمزی که در پنل میبینید ممکن است توسط هر ادمینی دیده شده باشد.
اگر تیم شما بزرگ است و چند ادمین دارد، راهکار این است که برای هر ادمین یک کلید SSH جدا بسازید و دسترسی ریشه را محدود کنید. این کار در سطح سرویس انجام میشود، نه در سطح نقشهای حساب.
مدیریت نقشها: چه کسی چه کسی را ادمین میکند؟
فقط مالک میتواند نقش کاربران را تغییر دهد یا کاربر جدیدی به حساب اضافه کند. ادمینها نمیتوانند ادمین دیگری بسازند. این قانون ساده از سناریوی «ادمینها علیه هم» جلوگیری میکند — سناریویی که در شرکتهای بزرگ واقعاً رخ میدهد.
برای اضافه کردن کاربر جدید، از پنل کاربری به بخش «مدیریت کاربران» بروید و ایمیل او را وارد کنید. دعوتنامه به ایمیلش ارسال میشود و او باید آن را تأیید کند. تا وقتی تأیید نکند، نقشی ندارد و دسترسیاش صفر است.
نقشهای سفارشی وجود ندارد
سرورنت در حال حاضر نقش سفارشی (Custom Role) ارائه نمیدهد. چهار نقش ثابت دارید و باید با همینها کار کنید. اگر نیاز دارید کسی فقط بتواند یک سرویس خاص را مدیریت کند، باید او را ادمین کنید و بپذیرید که به همه سرویسها دسترسی دارد. این محدودیت را در نظر داشته باشید — در برخی رقبا نقشهای سفارشی با دسترسی دانهای وجود دارد، اما در سرورنت نه.
اگر این محدودیت برایتان گران تمام میشود، راهکار جایگزین این است: برای پروژههای جدا، حسابهای جدا بسازید. یک حساب برای هر مشتری یا هر پروژه مستقل، با مالک جدا. بله، مدیریت چند حساب دردسر دارد، اما مرز امنیتی تمیزی میسازد که هیچ نقش سفارشیای نمیتواند.
سناریوی واقعی: تیم پنجنفره با سه نقش
فرض کنید یک تیم پنجنفره دارید: مدیر فنی (مالک)، دو توسعهدهنده (ادمین)، یک حسابدار (حسابدار) و یک پشتیبان (پشتیبان). این ترکیب در عمل خوب کار میکند:
- توسعهدهندهها سرویس جدید میخرند، رمزها را میبینند و تیکت فنی ثبت میکنند.
- حسابدار فاکتورها را دانلود میکند و پرداخت را انجام میدهد، اما به سرورها دسترسی ندارد.
- پشتیبان فقط تیکت ثبت میکند — حتی نمیتواند وضعیت سرویس را ببیند.
- مدیر فنی (مالک) تنها کسی است که میتواند سرویسی را لغو کند یا نقش کسی را عوض کند.
حالا اگر مدیر فنی مرخصی برود و یکی از توسعهدهندهها نیاز فوری به لغو یک سرویس داشته باشد، چه؟ باید صبر کند یا با پشتیبانی تماس بگیرد و پروسه احراز هویت را طی کند. این همان هزینهای است که برای امنیت میپردازید. اگر این هزینه برایتان سنگین است، میتوانید مدیر فنی دوم را هم مالک کنید — دو مالک مجاز است.
تفاوت نقشهای حساب با دسترسیهای سطح سرویس
یک نکته ظریف: نقشهای حساب در سرورنت تعیین میکنند که در پنل کاربری چه ببینید. اما دسترسی به خود سرویس (مثل SSH یا cPanel) توسط رمزها و کلیدهایی مدیریت میشود که مستقل از نقش حساب هستند. یعنی یک کاربر با نقش پشتیبان میتواند رمز SSH را از جای دیگری (مثلاً از یک مدیر قبلی) داشته باشد و مستقیم وارد سرور شود. نقش حساب جلوی این را نمیگیرد.
برای بستن این شکاف امنیتی، باید رمزها را بعد از هر تغییر نقش در تیم عوض کنید. این یک رویهی عملیاتی است که در مستندات رسمی نیامده، اما هر کسی که یک بار تجربهاش کرده باشد، دیگر تکرارش نمیکند.
پرسشهای پرتکرار
آیا ادمین میتواند سرویس را لغو کند؟
خیر. لغو سرویس فقط در اختیار نقش مالک است. اگر ادمین بخواهد سرویسی را لغو کند، دکمه لغو را در پنل نمیبیند و باید از مالک بخواهد این کار را انجام دهد. این محدودیت عمدی است تا از لغوهای اشتباهی جلوگیری شود.
چطور نقش یک کاربر را تغییر دهم؟
فقط مالک حساب میتواند نقش کاربران را تغییر دهد. از پنل کاربری به بخش «مدیریت کاربران» بروید، کاربر مورد نظر را پیدا کنید و نقش جدید را از منوی کشویی انتخاب کنید. تغییر نقش بلافاصله اعمال میشود و کاربر در ورود بعدی خود دسترسیهای جدید را میبیند.
آیا میتوانم دو نقش برای یک کاربر داشته باشم؟
بله. نقشها با هم جمع میشوند. اگر کاربری هم ادمین و هم حسابدار باشد، دسترسی ترکیبی هر دو نقش را خواهد داشت — میتواند سرویس بخرد، رمز ببیند و فاکتورها را هم دانلود کند. تنها نقشی که با هیچ نقش دیگری ترکیب نمیشود، مالک است.
چه کسی فاکتورهای حساب را میبیند؟
نقشهای مالک و حسابدار میتوانند فاکتورها را ببینند و دانلود کنند. ادمین و پشتیبان به فاکتورها دسترسی ندارند. اگر کسی در تیم شما باید فاکتورها را ببیند اما به رمز سرویسها دسترسی نداشته باشد، نقش حسابدار برای او مناسب است.
قبل از اینکه تیمتان را به پنل اضافه کنید، یک دقیقه فکر کنید: اگر امروز مالک حساب از دسترس خارج شود، چه کسی میتواند سرویسها را مدیریت کند؟ اگر جواب «هیچکس» است، یک مالک دوم تعیین کنید. این یک اقدام پنجدقیقهای است که میتواند یک بحران تمامعیار را در آینده پیشگیری کند. برای شروع، میتوانید از مستندات و پایگاه دانش سرورنت کمک بگیرید و ساختار تیمتان را بر اساس جدول نقشها بچینید. اگر هم در انتخاب سرویس مناسب برای تیمتان تردید دارید، راهنمای انتخاب سرویس را ببینید. و اگر به دنبال سرویسی با مدیریت ساده و پنل کاربری شفاف هستید، هاست لینوکس سرورنت گزینه مناسبی برای شروع است — نقشهای حساب در همه سرویسها یکسان عمل میکنند، پس این ساختار را یک بار یاد بگیرید و برای همیشه استفاده کنید.