انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: 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 ظاهر میشه. (عکس ضمیمه)
مشکل در کجای کار هست ؟ و اینکه چطور میتونم این مشکل رو حل کنم ؟
-
بهتر نبود از همون اول، اسکریپت رو بذاری Cron ریشه انجامش بده؟
که دیگه نیازی به گذرواژه نداشته باشه. :)
-
بهتر نبود از همون اول، اسکریپت رو بذاری Cron ریشه انجامش بده؟
که دیگه نیازی به گذرواژه نداشته باشه. :)
ایدهی خیلی خوبیه :)
اما مشکلی که داره اینه که ممکنه به یک exit node خوب متصل باشم و از دستش بدم.
از طرفی هم چون تا حالا از suid و guid استفاده نکردم قصد دارم با این روش انجامش بدم که بهتر درکش کنم.
ممنون بابت پاسختون.
-
همممممم
ظاهرا guid و suid تنها روی فایلهای باینری کار میکنند و اسکریپتها نمیتونند ازش استفاده کنند!
چه بد :P
-
همممممم
ظاهرا guid و suid تنها روی فایلهای باینری کار میکنند و اسکریپتها نمیتونند ازش استفاده کنند!
چه بد :P
فکر کنم بشه اسکریپتهای bash رو هم به باینری تبدیل کرد.
اینجا (http://www.linux-magazine.com/Online/Features/SHC-Shell-Compiler) رو بخونین شاید کمکتون کنه.
-
فکر کنم بشه اسکریپتهای bash رو هم به باینری تبدیل کرد.
اینجا (http://www.linux-magazine.com/Online/Features/SHC-Shell-Compiler) رو بخونین شاید کمکتون کنه.
چه روش جالبی ، ممنون