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

کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: alieblice در 03 تیر 1390، 12:33 ق‌ظ

عنوان: مشکل با تغییر رانلول ssh با دستور update-rc.d
ارسال شده توسط: alieblice در 03 تیر 1390، 12:33 ق‌ظ
سلام دوستان

من از طریق دستور زیر میخام بگم که سرویس ssh در runlebel های 1,2,3 کار بکنه ولی در 4,5,6,0, کار نکنه ولی عمل نمیکنه
update-rc.d ssh start 1 2 3 . stop 0 4 5 6
کسی میدونه مشکل از چی هست ؟

در اموزش زیر priority ها رو عددهایی مثل 80 یا 50 داده ولی من چندین جا خوندم که بین 19 الی 20- هستش
http://www.debuntu.org/how-to-manage-services-with-update-rc.d

من اشتباه میکنم یا اون عددا چیز دیگه ای هستن ؟

پیشاپیش ممنون
عنوان: پاسخ به: مشکل با تغییر رانلول ssh با دستور update-rc.d
ارسال شده توسط: alieblice در 04 تیر 1390، 03:30 ب‌ظ
فهمیدم چرا کار نمیکرد
این کارو با apache هم انجام دادم ولی نشد

کار نمیکنه جون رانلول یک single user mod هستش یعنی فقط کاربر روت میتونه کار کنه  و از جایی که openssh تحت نام کاربری sshd کار میکنه برای همین اجرا نمیشه مگر این که در حالت singlre usermod خود روت اجراش بکند

حالا چند راه داریم
یا باید یوزر sshd رو به روت تبدیل کنیم
 یا
این که یک اسکرسپت بزاریم تو init.d بگیم تو رانلول یک اجراش کنه که اون اسکرسپت کار اجرا کردن openssh رو انجام بده
برای راه اول که هیچی پیدا نکردم راه دوم هم نمیدونم تو اسکریپته چی بنویسم

کسی میدونه توش چی باید بنویسم ؟
 
عنوان: پاسخ به: مشکل با تغییر رانلول ssh با دستور update-rc.d
ارسال شده توسط: alieblice در 13 امرداد 1390، 11:20 ق‌ظ
دوستان عضر میخوام الان فهمیدم که کار نمیکنه
دلیل اینکه فکر کردم کار میکنه این بود که رو سیستم سرویس squid بود و squid هم طول میده تا بسته بشه برای همین فکر کردم کار میکنه
اگه مدیران صلاح میدونن این پست رو پاک کنند


################################################################################
الان راه اندازیش کردم گفتم اموزششم بزارم که بعدیا استفاده کنن

روش کار خیلی راحته
یک فابل داخل /etc/init.d میزارین بعد میگین که در runlevel 1 اجرا بشه

-1

یک فایل متنی داخل /etc/init.d بسازین و محتویات زیر رو توش قرار بدین
nano /etc/init.d/ssh-runlevel-1
#!/bin/bash

echo  "/etc/init.d/ssh start"

exit

بعد به فایل متنیتون قابلیت اجرا شدن رو بدین
chmod +x /etc/init.d/ssh-runlevel-1
حالا با این دستور بگین که در رانلول 1 اجرا بشه ولی در رانلول های دیگه از کار بیفته

update-rc.d ssh-1 start 20 1 . stop 80 0 2 3 4 5 6
بعد از زدن دستور بالا این 2 تا اررور رو میگیرین که مشکلی نیست
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'ssh-1' missing LSB tags and overrides
insserv: warning: script 'firewall' missing LSB tags and override

حالا تستش کنین
برای تست این دستورو بزنین
init 1با دستور بالا به runlevel 1 منتقل میشین
بعد این دستورو بزنین
root@debian:/# runlevel
2 1
root@debian:/#

دستور بالا نشون میده که از runlevel 2 به رانلول 1 انتقال پیدا کردین

موارد استفاده :
یکی از مواردش برای کسایی هست که تنها دست رسیشون به سرور از طریق رموت ssh هستش که ممکنه در بعضی مواقع احتیاج به محیطی مثل رانلول 1 داشته باشن ولی چون تو رانلول یک فقط سرویسایی که نام کاربریشون root هست اجرا میشن و نام کاربری openssh هستش sshd دست رسی ssh وجود ندارد
##################################################################################################################################