با سلام
چطور از طریق نوشتن یک بچ فایل در ویندوز میشه دستورات نوشت که به یه سرور لینوکس وصل بشه و یه سری از دستورات را اجرا کنه؟(مثلا init 6 رو اجرا کنه)
با سلام
چطور از طریق نوشتن یک بچ فایل در ویندوز میشه دستورات نوشت که به یه سرور لینوکس وصل بشه و یه سری از دستورات را اجرا کنه؟(مثلا init 6 رو اجرا کنه)
فکر میکنم با putty میشه
با دستور telnet میخوام این کارو انجام بدم. با سوئیچ -l در دستور telnet میشه یوزر رو بهش بدی ولی نمیدونم پسورد رو چه جوری باید بهش داد.
اگه کسی از دوستان میدونه خوشحال میشم راهنمایی کنه.
telnet -l username IP
خودم پیداش کردم!
راه حل:
putty -ssh user@ip -pw password -m command_file
مرسی از مطلب مفیدتون، می دونید چطور میشه user لینوکس رو عوض کرد مثلا به root سوییچ کرد؟
چرا مثلا توی اوبونتو نمیشه از su استفاده کرد و بجاش باید از sudo -s استفاده کرد با اینکه توی رد هت این شکلی نیست. درسته که ما یکسری دستورهای پایه داریم اما برخی از اونها در برخی از توزیع ها بنا به دلایل زیادی از جمله امنیت وجود ندارند و یا تغییر کردن. مثلا داخل رد هت می تونیند از init استفاده بکنید اما داخل اونتو این شکلی نیست.هیچ ربطی به بیس نداره.
لازمه یاد آوری بکنم که دستورها توی لینوکس برنامه هایی هستن که فراخوانهای سیستمی (system calls) رو صدا می کنن. پس در نتیجه شما می تونید یک دستور رو حذف بکنین و یا تغییر نام بدید و یا حتی از اول با توجه به نیازهای خودتون اون رو بنویسید. این همون کاری بود که استالمن در ابتدای کار GNU انجام داد.
اگر این دستور رو وارد کنید:وقتی پسورد ست کردید تست کنید su خالی رو بعد به حرف من میرسید
man sudo
متوجه میشید که دستورsudo گزینه ای (option) به نام su نمی گیره. در حقیقت شما دارید دستور su رو توی مد super user اجرا می کنید. با اینکه هدف اینه که به همون مد بریم. توی فدورا و .. میشه مسقیما از دستوری مثل su برای تغییر کاربر به کاربر ریشه استفاده کرد. اما این موضوع داخل توزیعی مثل اوبونتو وجود نداره. باز هم اگر ادامه man رو بخونید نحوه تغییر پیکربندیهای موجود رو گذاشته.
sudo su درسته
suusage: sudo [-D level] -h | -K | -k | -V
usage: sudo -v [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-u user
name|#uid]
usage: sudo -l[l] [-AknS] [-D level] [-g groupname|#gid] [-p prompt] [-U user
name] [-u user name|#uid] [-g groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C fd] [-D level] [-g
groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid]
[VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C fd] [-D level] [-g
groupname|#gid] [-p prompt] [-u user name|#uid] file ...
sudo suUsage: su [options] [LOGIN]
Options:
-c, --command COMMAND pass COMMAND to the invoked shell
-h, --help display this help message and exit
-, -l, --login make the shell a login shell
-m, -p,
--preserve-environment do not reset environment variables, and
keep the same shell
-s, --shell SHELL use SHELL instead of the default in passwd
passwd root
exit
su
یا
sudo passwd root
su
یا
sudo su
exec passwd root
su
همه یکی هستن
کاربر جاری سطح دسترسی روت میگیره و پسورد و روت رو ست میکنه بعد su میکنه
در بعضی توضیع ها sudo قبلاً غیر فعال بوده(مثل debian lenny) که در ورژن های آینده فعال شده squeeze wheezy sid ...
البته sudo رو میشه فعال کرد(خودم روی lenny)
در بعضی توزیع ها هم به دلایل خاص sudo غیرفعاله
چرا منظور من رو اشتباه برداشت کردید.
برای پیدا کردن وجود یک دستور یا بهتر بگم برنامه، کافیه :
command -v sudo
در مورد su هم من نگفتم وجود نداره. رفتارش تغییر کرده. یعنی شما توی مد کاربر نمی تونید با su خالی سوپیچ انجام بدید. شما زمانی که دارید su رو به شکل زیر صدا می زنید:
sudo su
در حقیقت به عنوان آرگومان دوم دارید اسم برنامه رو به دستور sudo می دید. (آرگومان اول اسم خود برنامه هست - تو این مورد sudo - ) و برنامه sudo بعد از تحویل کلمه عبور رو از شما می پرسه. و بعد su رو اجرا میکنه. از اونجا که یک بار کلمه کاربر ریشه رو وارد کردید دیگه تا زمانی که نشست وجود داره لازم نیست دوباره وارد کنید. حالا با اجرای دستور sudo شما مجوز کاربر ریشه رو صادر کردید. بعد از اون دستور su تغییر کاربری رو انجام میده.
توی توزیع های زیادی میشه بدون استفاده از دستور sudo تنها به کمک دستور su این تغییر کاربر رو انجام داد.