انجمنهای فارسی اوبونتو
تازه کار => انجمن تازهکاران => نویسنده: ninia در 15 بهمن 1393، 03:04 بظ
-
سلام
چطور می توان پسورد root را با استفاده از پارامتری که از فایل می گیرد عوض کرد. منظورم اینکه هنگامیکه دستور passwd را می زنیم آرگومانهای لازم را از فایل مورد نظر بگیرد و نیازی به وارد کردن پسورد جدید و قدیم به صورت دستی نباشد
-
من اینکار رو کردم . یک فایل ایجاد کردم و توی خط اول کلمه عبور فعلی و توی خط دوم کلمه عبور جدید و توی خط سوم تکرار کلمه عبور جدید رو نوشتم . یعنی این طوری :
oldpassword
newpassword
confirmnewpassword
و بعد :
$ passwd <filename
در واقع ورودی استاندارد رو به جای صفحه کلید برگردوندم به سمت فایل و کلمه عبور با موفقیت عوض شد.
-
خیلی ممنون. روش خوبی بود.
-
فقط حواست باشه این روش اصلاً امن نیست. از نظر امنیتی فاجعهی قرنه :D
-
فقط حواست باشه این روش اصلاً امن نیست. از نظر امنیتی فاجعهی قرنه :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
نکته اینکه ۳ تا کاربر ما می تواند ۳۰۰۰ کاربر و یا بیشتر هم باشد و تولید کلمه عبور برای هر کاربر می تواند به صورت ترکیبهای حروفی و عددی تصادفی باشد .