انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: samt در 30 امرداد 1400، 11:00 قظ
-
با سلام
من میخوام یه یوزری بسازم که فقط به چند تا کامند دسترسی داشته باشه(مثل عکس ضمیمه شده).لطفا راهنمایی نمایید.
https://s18.picofile.com/file/8439643976/Capture.JPG
-
سلام
احتمالا باید یه شاخه با دستوراتی که میخواید کاربر بهشون دسترسی داشته باشه ایجاد کنید و شاخه رسشه کاربر رو به اون شاخه که درست کردید تغییر بدید.
کاری که شما میتونید انجام بدید اسمش chroot(تغییر شاخهٔ ریشه) هست.
میخواید کاربر مورد نظر به چه دستوراتی دسترسی داشته باشه؟
چرا میخواید اینکار رو کنید؟
-
مثلا به همون دستوراتی که تو تصویری که گذاشتم دسترسی داشته باشه.من سرچ کردم مثل لینک زیر ولی نشد.
https://www.techrepublic.com/article/how-to-use-restricted-shell-to-limit-user-access-to-a-linux-system/
یا
https://stackoverflow.com/questions/21498667/how-to-limit-user-commands-in-linux
-
دقیقا چجوری شد؟ بیشتر توضیح بدید.
-
دقیقا چجوری شد؟ بیشتر توضیح بدید.
جواب ندادید.
-
دقیقا چجوری شد؟ بیشتر توضیح بدید.
جواب ندادید.
این چند روز نشد برم امتحان کنم ببینم مشکل از کجاست ولی یه بار امتحان کردم نشد حتما امتحان میکنم اعلام میکنم
-
دقیقا چجوری شد؟ بیشتر توضیح بدید.
جواب ندادید.
با توجه به لینک زیر انجام دادم
https://www.techrepublic.com/article/how-to-use-restricted-shell-to-limit-user-access-to-a-linux-system/
ولی من فقط کامند های ls و mkdir رو اجازه دسترسی دادم ولی هنگامی که مثلا دستور cat رو میزنم و میخوام مسیر بدم و با تب زدن میخوام کامل کنم ارور میزنه ولی وقتی مسیر رو به صورت کامل مینویسم (بدون زدن تب) اجرا میشه و اروری نمیده.
از طریق لینک زیر هم انجام دادم که اصلا ارور نمیزد و همه کامند ها اجازه دسترسی داشتن
https://stackoverflow.com/questions/21498667/how-to-limit-user-commands-in-linux
دوستان کسی میتونه راهنمایی کنه؟
-
یه راه به نظرم اینه که دستورات لازم رو کپی کنید توی یه دایرکتوری به اسم مثلا bin توی هوم اون کاربر بعد متغییر PATH رو توی فایلهای bashrc. و profile. تغییر بدید که فقط توی اون دایرکتوری bin دنبال دستورات بگرده. صاحب و گروه فایلهای bashrc. و profile. رو هم به روت تغییر بدید تا اون کاربر نتونه تغییری ایجاد کنه. شل کاربر رو هم به rbash عوض کنید تا نتونه دایرکتوری خودش رو عوض کنه.
مشکلی که روش بالا داره این هست که کاربر میتونه بعد که ترمینال رو باز کرد، خودش متغییر PATH رو موقتی عوض کنه و به بقیه دستورات هم دسترسی داشته باشه. میتونه bash رو هم اجرا کنه و بره توی یه دایرکتوری دیگه.
مشکل بعدی این هست که کاربر میتونه مستقیم با دادن مسیر دستورات، اونها رو اجرا کنه بدون اینکه لازم باشه حتی متغیر PATH رو عوض کنه.
فکر کنم برای اینکه بتونید درست اینکار رو انجام بدید، باید برید سراغ چیزهایی مثل تنظیم apparmor یا SElinux یا tomoyo. من همینقدر بلد بودم.