انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: newboy در 19 اسفند 1386، 01:38 بظ
-
با سلام
دو تا دستور دارم که می خام در لحظه بوت داخل ترمینال اجرا بشه که نخوام هر دفعه این کار رو بکنم . کجا باید این دو تا دستور رو وارد کنم که نخام هر دفعه توی ترمینال واردش کنم؟؟
با تشکر ؟
-
سلام،
احتمالاً منظورت از موقع بوت، همون موقع ورود شما هست. برای این کار میتونید اون دو تا دستور رُ انتهای پروندهٔ bashrc. توی خونهتون بنویسید.
-
اگر دستور ما نیاز به sudo هم داشته باشه چی؟
-
شما برای هر بار اجرای دستور زیر ، پسورد روت رو وارد میکنید ؟
sudo -i
برای اینکه هنگام بوت یک دستور تو ترمینال اجرا بشه که نیاز به sudo داشته باشه ، باید فایل visudo را ویرایش کنید تا به صورت اتوماتیک با قرار دادن دستور
sudo به حالت کاربر ریشه برود .
برای اینکار :
sudo visudo
خط زیر را به انتهای این فایل اضافه کنید
username ALL=NOPASSWD: ALL
تغییرات را ذخیره کنید .
-
البته کاری که z.k گفتن مشکل رو حل میکنه. اما از نظر امنیت اصلا توصیه نمیشه.
-
البته کاری که z.k گفتن مشکل رو حل میکنه. اما از نظر امنیت اصلا توصیه نمیشه.
برای اینکه بشه اتوماتیک یک دستوری که نیاز به sudo داشته باشه هنگام بوت اجرا بشه ، راه دیگه ای هست ؟
-
در اون صورت باید ببینی که آیا واقعاً چیزی هست که باید موقع ورودت اجرا بشه یا موقع شروع (boot). اگر موقع شروع، میتونی توی etc/rc.local/ بنویسی که به عنوان root اجرا میشه. اگر موقع ورود، میتونی مثلاً به sudo بگی که برای اون دستور خاص (یا کلاً برای همهٔ دستورها) ازت گذرواژه نپرسه و از همون sudo استفاده کنی.
به man sudoers مراجعه کن.
-
با تشکر از دوستان مشکل حل شد. \\:D/
-
اگه حل شد، به رسم اینجا یه [حل شد] رو به انتهای عنوان پستتون با انجام ویرایش اضافه کنید که دوستان بدونن این مساله حل شده.
-
ممنونم لومیون اضافه کردم. رسم جالبه . :)
-
من دستوراتو ته فایل etc/rc.local/ اضافه کردم ولی بعد از boot اتفاقی نیافتاد.](*,)
-
من دستوراتو ته فایل etc/rc.local/ اضافه کردم ولی بعد از boot اتفاقی نیافتاد.](*,)
اون دستورات قبل از ورود کاربر، در محیط متنی و با کاربر root اجرا میشن. راستی از درستی دستورات اطمینان حاصل کن.
-
خب من فایل sudoers رو edit کردم و این خطو تهش گذاشتم:
ALL ALL=NOPASSWD: /etc/init.d/tor start,/etc/init.d/privoxy start,/usr/sbin/hibernate *,/sbin/shutdown -r
ولی نمیدونم چرا دوباره ازم password میخواد؟(همه اون دستورات این مشکلو دارن.)
راستی اگه تو ویکی یه مقاله در مورد sudoers بذارید خیلی خوب میشه.
-
برای شروع کردن خدماتی مثل tor و privoxy راه درست این هست که با برنامهای مثل rcconf اونها رو فعال کنید تا موقع شروع سیستم، شروع بشن. (البته فکر کنم خود اوبونتو هم برنامهای گرافیکی برای این کار داره؛ بچهها، کی یادشه؟!)
انتهای var/log/auth.log/ رو ببین.
-
اگر می خواهید که اون قابلیت اجرا کردن دستورات بدون وارد کردن پسورد رو فعال کنید، دستور زیر رو وارد کنید:
sudo visudo
و یا استفاده از دستور:
sudo gedit /etc/sudoers
این خط را به انتهای اون فایل اضافه کرد:
USERNAME ALL=(ALL) NOPASSWD:ALL
البته باید بجای عبارت USERNAME، اسم اون کاربری که می خواهیم این توانایی (عدم وارد کردن پسورد روت) برای او فعال شود را وارد کنیم. البته انجام این کار خطرناک است،زیرا تمام دستورات حتی خود su بدون پسورد اجرا خواهند شد !
بعد اون دستورات مورد نظرتون رو نباید به انتهای این فایل اضافه کنید. چون این فایل اون فایلی نیست که دستورات داخلش هنگام بوت اجرا می شه، باید دستورات مورد نظرتون رو به انتهای فایل etc/rc.local/ اضافه کنید یا که از پنل بالا به مسیر system > Preferences > Session برید و از سربرگ اول که Startup programs هست، اون دستورات مورد نظرتون رو وارد کنید.
-
بعد اون دستورات مورد نظرتون رو نباید به انتهای این فایل اضافه کنید.
فکر کنم کار ایشون درست هست. میتونیم توی sudoers تعریف کنیم که برای چه دستوراتی گذرواژه نخواد. ایشون هم ظاهراً این کار رو کردهاند.
ولی نمیدونم مشکل از کجاست که هنوز گذرواژه میخواد!
Thunderbird جان، یک بار پارامترهای دستورها رو نزن ببین درست میشه یا نه. منتظر انتهای اون پروندهٔ وقایع (log) هم هستم.
-
خطی که انتهای فایل اضافه کردن احتمالا اشتباهه که باز پسورد میخواد
نباید اینطور باشه ؟
USERNAME ALL=(ALL) NOPASSWD:/etc/init.d/tor start,/etc/init.d/privoxy start,/usr/sbin/hibernate *,/sbin/shutdown -r
-
خطی که انتهای فایل اضافه کردن احتمالا اشتباهه که باز پسورد میخواد
طبق man sudoers ظاهراً چیزی که ایشون نوشتن درست هست (حداقل از لحاظ صرفی (syntax))