انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: abedzadeh در 11 خرداد 1397، 06:34 ب‌ظ

عنوان: نحوه‌ی صحیح استفاده از suid
ارسال شده توسط: abedzadeh در 11 خرداد 1397، 06:34 ب‌ظ
درود دوستان
چندی پیش یک اسکریپت ساده نوشتم که کارش ریست کردن سرویس تور هست. (جهت عوض کردن ip)
اسکریپت به صورت زیر است :
#!/bin/bash
sudo systemctl restart tor.service
tail -f /var/log/tor/notices.log

مشکل اینجاست که برای هر بار اجرا کردن این اسکریپت ، باید پسورد وارد کنم .
بنابراین تصمیم گرفتم از suid استفاده کنم تا مجبور به وارد کردن پسورد نباشم.
پس اسکریپت رو به صورت زیر اصلاح کردم (sudo را حذف کردم):

#!/bin/bash
systemctl restart tor.service
tail -f /var/log/tor/notices.log

و بعد مالکیت اسکریپت رو به root سپردم:
chown root:root retor

و بعد هم بیت suid رو تنظیم کردم:
sudo chmod u+s retor

و حالا سطح دسترسی اسکریپت به شکل زیر است:
-rwsrwxr-x 1 root root 76 Jun  1 18:21 retor

اما مشکل در اینجاست که با اجرای این اسکریپت ، یک پنجره با مضمون وارد کردن پسورد برای ریست کردن tor.service ظاهر میشه. (عکس ضمیمه)

مشکل در کجای کار هست ؟ و اینکه چطور میتونم این مشکل رو حل کنم ؟
عنوان: پاسخ : نحوه‌ی صحیح استفاده از suid
ارسال شده توسط: رسول سعیدنژاد در 11 خرداد 1397، 10:19 ب‌ظ
بهتر نبود از همون اول، اسکریپت رو بذاری Cron ریشه انجامش بده؟
که دیگه نیازی به گذرواژه نداشته باشه.  :)
عنوان: پاسخ : نحوه‌ی صحیح استفاده از suid
ارسال شده توسط: abedzadeh در 11 خرداد 1397، 11:03 ب‌ظ
بهتر نبود از همون اول، اسکریپت رو بذاری Cron ریشه انجامش بده؟
که دیگه نیازی به گذرواژه نداشته باشه.  :)
ایده‌ی خیلی خوبیه :)
اما مشکلی که داره اینه که ممکنه به یک exit node خوب متصل باشم و از دستش بدم.
از طرفی هم چون تا حالا از suid و guid استفاده نکردم قصد دارم با این روش انجامش بدم که بهتر درکش کنم.
ممنون بابت پاسختون.
عنوان: پاسخ : نحوه‌ی صحیح استفاده از suid
ارسال شده توسط: abedzadeh در 11 خرداد 1397، 11:18 ب‌ظ
همممممم
ظاهرا guid و suid تنها روی فایل‌های باینری کار میکنند و اسکریپت‌ها نمیتونند ازش استفاده کنند!
چه بد :P
عنوان: پاسخ : نحوه‌ی صحیح استفاده از suid
ارسال شده توسط: Silvio Dante در 12 خرداد 1397، 11:31 ق‌ظ
همممممم
ظاهرا guid و suid تنها روی فایل‌های باینری کار میکنند و اسکریپت‌ها نمیتونند ازش استفاده کنند!
چه بد :P
فکر کنم بشه اسکریپت‌های bash رو هم به باینری تبدیل کرد.
اینجا (http://www.linux-magazine.com/Online/Features/SHC-Shell-Compiler) رو بخونین شاید کمک‌تون کنه.
عنوان: پاسخ : نحوه‌ی صحیح استفاده از suid
ارسال شده توسط: abedzadeh در 15 خرداد 1397، 12:07 ق‌ظ
فکر کنم بشه اسکریپت‌های bash رو هم به باینری تبدیل کرد.
اینجا (http://www.linux-magazine.com/Online/Features/SHC-Shell-Compiler) رو بخونین شاید کمک‌تون کنه.
چه روش جالبی ، ممنون