PDA

View Full Version : سوال: تعیین دسترسی file manager در کنترل پنل ajenti



yasidevil
دوشنبه 20 اردیبهشت 1395, 20:48 عصر
من کنترل پنل Ajenti رو به همراه Ajenti-v روی اوبونتو ۱۵.۱۰ سرور نصب کردم و الان بدون هیچ مشکلی کار می‌کنه. ولی می‌خوام هر حساب کاربری فقط به فایل‌های home خودش دسترسی داشته باشه که تا الان نتونستم راهی براش پیدا کنم. Ajenti یه فایل کانفیگ داره که در مسیر /etc/ajenti/config.json قرار داره و کدش به این صورته:

https://github.com/Eugeny/ajenti/blob/master/config.json (https://github.com/Eugeny/ajenti/blob/master/config.json%D9%85%D8%AA%D9%86%D9%87%D8%A7)
اون کانفیگ مربوط به فایل منیجر فقط برای کاربر root جواب میده و اگه واسه کاربرهای دیگه بذارم عمل نمی‌کنه. ولی از طرف دیگه تنظیمات کاربر روت روی همه‌ی کاربرها اعمال میشه؛ یعنی اگه تو کانفیگ روت بزنم به /var دسترسی داشته باشه، دیگه همه‌ی کاربرها به همه‌ی محتویات شاخه‌ی /var دسترسی خواهند داشت. ولی تا الان هر طور که بهش گفتم به شاخه‌ی خانگی کاربرها دسترسی داشته باشه (با ~ یا $HOME) خطا میده.

همچنین داخل فایل سورس فایل منیجر هم در خط شماره‌ی ۷۳ بعد از or آخر من با تابع pwd.getpwuid(os.getuid()).pw_name اسم کاربر رو برمی‌گردونم و به جای USERNAME در آدرس /home/USERNAME قرار میدم، ولی با بدون توجه به کاربری که باهاش لاگین کردم root رو برمی‌گردونه. این توابع دیگه رو هم تست کردم که کلاً خطا میده:

os.environ['HOME']
-
os.path.expanduser('~')
-
getpass.getuser()
-
os.getenv('HOME')

فایل سورس فایل منیجر:

https://github.com/Eugeny/ajenti/blob/master/ajenti/plugins/fm/fm.py#L73

ضمناً الان داخل خود سیستم کاری کردم که هر کاربر فقط به فایل‌های شاخه‌ی خانگی خودش دسترسی داشته باشه ولی این قضیه توی Ajenti اعمال نمیشه. مثلاً اگه من ۲ تا کاربر به نام‌های arash و ali داشته باشم و با ali وارد سیستم بشم حتی نمی‌تونم شاخه‌ی خانگی کاربر arash رو ببینم، ولی این قضیه در Ajenti صادق نیست.

کسی اطلاعاتی داره؟