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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: تغيير ip سرور بدون داشتن دسترسى كامل به سرور .  (دفعات بازدید: 3429 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین אוּרִיאֵל

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
  • bin/Matin/ !#
    • bin/Matin/ !#
نه دايركتورى نيستش
خروجى رو پيوست كردم

آفلاین سار

  • Newbie
  • *
  • ارسال: 24
نه دايركتورى نيستش
خروجى رو پيوست كردم

خب این توزیع یا سیستم‌عاملت دستور tempfile رو هم نداره.
اون خط که گفته no such file or directory هم می‌گه این فایل وجود نداره. ببین توی اون خط که من conf_file رو تعریف کردم، آدرس درسته؟

در نهایت این اسکریپت رو اینطور چک کن:

#!/bin/bash

TMP_FILE=/tmp/ip_tmp
CONF_FILE="/etc/hostname.em0"
echo "IP: "
while read anIpAddress
do
  sed -r 's/ inet ([0-9]{1,3}\.){3}[0-9]{1,3} /inet $anIpAddress /g' "$CONF_FILE" > "$TMP_FILE"
  mv "$TMP_FILE" "$CONF_FILE"
  echo "IP: "
done

آفلاین ngc0der

  • Full Member
  • *
  • ارسال: 106
اگه سوال رو درست فهمیده باشم به نظرم بهتره راهی رو برید که در این لینک توضیح داده : http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh
و در مسیر rbin که در مطلب به اون اشاره شده فقط یک اسکریپت bash، پایتون یا موارد دیگه باشه که ip رو بگیره و در فایل مقصد قرار بده.
برای موارد تکمیلی restricted shell رو سرچ کنین. این لینک هم شاید کمک کنه: http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login

آفلاین אוּרִיאֵל

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
  • bin/Matin/ !#
    • bin/Matin/ !#
اگه سوال رو درست فهمیده باشم به نظرم بهتره راهی رو برید که در این لینک توضیح داده : http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh
و در مسیر rbin که در مطلب به اون اشاره شده فقط یک اسکریپت bash، پایتون یا موارد دیگه باشه که ip رو بگیره و در فایل مقصد قرار بده.
برای موارد تکمیلی restricted shell رو سرچ کنین. این لینک هم شاید کمک کنه: http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login

ميشه توضيحش بديد ؟

اسكريپت اجرا ميشه ip رو ميپرسه اما در نهايت جايگزين نميشه
« آخرین ویرایش: 31 تیر 1392، 11:08 ب‌ظ توسط אוּרִיאֵל »

آفلاین سار

  • Newbie
  • *
  • ارسال: 24
اگه سوال رو درست فهمیده باشم به نظرم بهتره راهی رو برید که در این لینک توضیح داده : http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh
و در مسیر rbin که در مطلب به اون اشاره شده فقط یک اسکریپت bash، پایتون یا موارد دیگه باشه که ip رو بگیره و در فایل مقصد قرار بده.
برای موارد تکمیلی restricted shell رو سرچ کنین. این لینک هم شاید کمک کنه: http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login

ميشه توضيحش بديد ؟

اسكريپت اجرا ميشه ip رو ميپرسه اما در نهايت جايگزين نميشه

یه اسپیس اضافه توی sed بود. این رو اجرا کن ببین چیزی که چاپ می‌شه مد نظرته:

sed -r 's/inet ([0-9]{1,3}\.){3}[0-9]{1,3} /inet 192.168.169.170 /g' /etc/hostname.em0
اگر توی نتیجه تغییر کرده بود، مشکل از همون اسپیس بوده

آفلاین אוּרִיאֵל

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
  • bin/Matin/ !#
    • bin/Matin/ !#
اگه سوال رو درست فهمیده باشم به نظرم بهتره راهی رو برید که در این لینک توضیح داده : http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh
و در مسیر rbin که در مطلب به اون اشاره شده فقط یک اسکریپت bash، پایتون یا موارد دیگه باشه که ip رو بگیره و در فایل مقصد قرار بده.
برای موارد تکمیلی restricted shell رو سرچ کنین. این لینک هم شاید کمک کنه: http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login

ميشه توضيحش بديد ؟

اسكريپت اجرا ميشه ip رو ميپرسه اما در نهايت جايگزين نميشه

یه اسپیس اضافه توی sed بود. این رو اجرا کن ببین چیزی که چاپ می‌شه مد نظرته:

sed -r 's/inet ([0-9]{1,3}\.){3}[0-9]{1,3} /inet 192.168.169.170 /g' /etc/hostname.em0
اگر توی نتیجه تغییر کرده بود، مشکل از همون اسپیس بوده

بله خروجى درست بود اما من نفهميدم دقياً كجا اسپيس اضافه بود

نتيجه رو پيوند كردم
« آخرین ویرایش: 01 امرداد 1392، 12:01 ق‌ظ توسط אוּרִיאֵל »

آفلاین سار

  • Newbie
  • *
  • ارسال: 24
اگه سوال رو درست فهمیده باشم به نظرم بهتره راهی رو برید که در این لینک توضیح داده : http://www.wallix.org/2011/10/18/restricting-remote-commands-over-ssh
و در مسیر rbin که در مطلب به اون اشاره شده فقط یک اسکریپت bash، پایتون یا موارد دیگه باشه که ip رو بگیره و در فایل مقصد قرار بده.
برای موارد تکمیلی restricted shell رو سرچ کنین. این لینک هم شاید کمک کنه: http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login

ميشه توضيحش بديد ؟

اسكريپت اجرا ميشه ip رو ميپرسه اما در نهايت جايگزين نميشه

یه اسپیس اضافه توی sed بود. این رو اجرا کن ببین چیزی که چاپ می‌شه مد نظرته:

sed -r 's/inet ([0-9]{1,3}\.){3}[0-9]{1,3} /inet 192.168.169.170 /g' /etc/hostname.em0
اگر توی نتیجه تغییر کرده بود، مشکل از همون اسپیس بوده

بله خروجى درست بود اما من نفهميدم دقياً كجا اسپيس اضافه بود

بیین اسلش و inet، بعد از s:
...'s/ inet...
...'s/inet...
نتيجه رو پيوند كردم

ببخش، من بدون تست می‌نویسم، این می‌شه که سوتی زیاد می‌دم. این خط رو اصلاح کن:
sed -r "s/ inet ([0-9]{1,3}\.){3}[0-9]{1,3} /inet $anIpAddress /g" "$CONF_FILE" > "$TMP_FILE"
« آخرین ویرایش: 01 امرداد 1392، 12:30 ق‌ظ توسط سار »

آفلاین אוּרִיאֵל

  • High Sr. Member
  • *
  • ارسال: 641
  • جنسیت : پسر
  • bin/Matin/ !#
    • bin/Matin/ !#
فكر كنم بخاطر اينه كه بين " " هستش $anIpAddress

آفلاین عدس

  • Jr. Member
  • *
  • ارسال: 84
  • جنسیت : پسر
ببخشید من این پست و اشتباه گذاشتم ولی نمیدونم چطور باید پاکش کنم.
یه مطلبی بود که جاش اینجا نبود .
معذرت میخوام .
 :'( :oops:
« آخرین ویرایش: 01 امرداد 1392، 08:43 ق‌ظ توسط مرتضی باشسیز »
اشک هایی که پس از هر شکست میریزیم ....
همان عرقی است که برای پیروزی نریخته ایم.
هیتلر