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

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

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


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

نویسنده موضوع: ارسال پارامتر از فایل به ترمینال  (دفعات بازدید: 942 بار)

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

آفلاین ninia

  • Newbie
  • *
  • ارسال: 11
ارسال پارامتر از فایل به ترمینال
« : 15 بهمن 1393، 03:04 ب‌ظ »
سلام
چطور می توان پسورد  root را با استفاده از پارامتری  که از فایل می گیرد عوض کرد. منظورم اینکه هنگامیکه دستور passwd را می زنیم آرگومانهای لازم را از فایل مورد نظر بگیرد و نیازی به وارد کردن پسورد جدید و قدیم به صورت دستی نباشد

آفلاین محسن صفری

  • Jr. Member
  • *
  • ارسال: 47
  • جنسیت : پسر
    • صفری آنلاین
پاسخ : ارسال پارامتر از فایل به ترمینال
« پاسخ #1 : 15 بهمن 1393، 04:55 ب‌ظ »
من اینکار رو کردم . یک فایل ایجاد کردم و توی خط اول کلمه عبور فعلی و توی خط دوم کلمه عبور جدید و توی خط سوم تکرار کلمه عبور جدید رو نوشتم . یعنی این طوری :

oldpassword
newpassword
confirmnewpassword

و بعد :

$ passwd <filename

در واقع ورودی استاندارد رو به جای صفحه کلید برگردوندم به سمت فایل و کلمه عبور با موفقیت عوض شد.

آفلاین ninia

  • Newbie
  • *
  • ارسال: 11
پاسخ : ارسال پارامتر از فایل به ترمینال
« پاسخ #2 : 15 بهمن 1393، 06:54 ب‌ظ »
خیلی ممنون. روش خوبی بود.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19811
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : ارسال پارامتر از فایل به ترمینال
« پاسخ #3 : 16 بهمن 1393، 03:45 ب‌ظ »
فقط حواست باشه این روش اصلاً امن نیست. از نظر امنیتی فاجعه‌ی قرنه :D
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین محسن صفری

  • Jr. Member
  • *
  • ارسال: 47
  • جنسیت : پسر
    • صفری آنلاین
پاسخ : ارسال پارامتر از فایل به ترمینال
« پاسخ #4 : 16 بهمن 1393، 09:29 ب‌ظ »
فقط حواست باشه این روش اصلاً امن نیست. از نظر امنیتی فاجعه‌ی قرنه :D

وقتی دوستمون محل کاربرد اسکریپت و تعداد دفعات اجرای اون رو نگفتن نمی شه با یقین در مورد امنیت اظهار نظر کرد.

فرض کنید 3 تا یوزر تعریف کردید و  می خواید براشون کلمه عبور بزارید .

$ cat setpassword
while read line
do
uname=`echo $line | awk '{print $1}'`
upass=`echo $line | awk '{print $2}'`
echo -n $uname " : " 1>&2
yes "$upass" | passwd "$uname"
done <<EOF
reza 9125416
javad 3879902
taghi 9876655
EOF

حالا با دستور زیر اجراش می کنید :

$ sudo sh setpassword
reza : Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
javad : Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
taghi : Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully

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

و بعد فایل رو پاک می کنیم :

$ rm setpassword


نکته اینکه  ۳ تا کاربر ما می تواند  ۳۰۰۰ کاربر و یا بیشتر هم باشد و تولید کلمه عبور برای هر کاربر می تواند به صورت ترکیبهای حروفی و عددی تصادفی باشد .
« آخرین ویرایش: 16 بهمن 1393، 10:07 ب‌ظ توسط محسن صفری »