PDA

View Full Version : سوال: اجرای دستورات لینوکس از طریق ویندوز



ali_khaluzadeh
یک شنبه 21 خرداد 1391, 22:39 عصر
با سلام

چطور از طریق نوشتن یک بچ فایل در ویندوز میشه دستورات نوشت که به یه سرور لینوکس وصل بشه و یه سری از دستورات را اجرا کنه؟(مثلا init 6 رو اجرا کنه)

FastCode
دوشنبه 22 خرداد 1391, 14:53 عصر
فکر میکنم با putty میشه

ali_khaluzadeh
دوشنبه 22 خرداد 1391, 22:52 عصر
با دستور telnet میخوام این کارو انجام بدم. با سوئیچ -l در دستور telnet میشه یوزر رو بهش بدی ولی نمیدونم پسورد رو چه جوری باید بهش داد.
اگه کسی از دوستان میدونه خوشحال میشم راهنمایی کنه.

telnet -l username IP

ali_khaluzadeh
سه شنبه 23 خرداد 1391, 12:24 عصر
خودم پیداش کردم!
راه حل:

putty -ssh user@ip -pw password -m command_file

P_Norton
جمعه 19 آبان 1391, 11:16 صبح
مرسی از مطلب مفیدتون، می دونید چطور میشه user لینوکس رو عوض کرد مثلا به root سوییچ کرد؟

GAMA++
جمعه 19 آبان 1391, 17:50 عصر
مرسی از مطلب مفیدتون، می دونید چطور میشه user لینوکس رو عوض کرد مثلا به root سوییچ کرد؟

در توزیع های دبیان بیس(دبین، اوبونتو، مینت و ...) از دستور زیر استفاده میکنن:
sudo -i

در توزیع های ردهت بیس(ردهت، فدورا، سنت او اس و ...) از این دستور استفاده میشه:
su

prpe26
سه شنبه 23 آبان 1391, 22:17 عصر
در توزیع های دبیان بیس(دبین، اوبونتو، مینت و ...) از دستور زیر استفاده میکنن:
sudo -i

در توزیع های ردهت بیس(ردهت، فدورا، سنت او اس و ...) از این دستور استفاده میشه:
su

هیچ ربطی به بیس نداره.

SU مخفف Super User هست و عمومیه. Sudo عمدتا برای اجرای کارهای یک کاربر از طرف کاربری دیگر هست.

برای روت هم :
sudo su

امنیت بیشتری داره نسبت به su :) .

pswin.pooya
سه شنبه 23 آبان 1391, 23:32 عصر
هیچ ربطی به بیس نداره.
چرا مثلا توی اوبونتو نمیشه از su استفاده کرد و بجاش باید از sudo -s استفاده کرد با اینکه توی رد هت این شکلی نیست. درسته که ما یکسری دستورهای پایه داریم اما برخی از اونها در برخی از توزیع ها بنا به دلایل زیادی از جمله امنیت وجود ندارند و یا تغییر کردن. مثلا داخل رد هت می تونیند از init استفاده بکنید اما داخل اونتو این شکلی نیست.

لازمه یاد آوری بکنم که دستورها توی لینوکس برنامه هایی هستن که فراخوانهای سیستمی (system calls) رو صدا می کنن. پس در نتیجه شما می تونید یک دستور رو حذف بکنین و یا تغییر نام بدید و یا حتی از اول با توجه به نیازهای خودتون اون رو بنویسید. این همون کاری بود که استالمن در ابتدای کار GNU انجام داد.

prpe26
چهارشنبه 24 آبان 1391, 14:13 عصر
چرا مثلا توی اوبونتو نمیشه از su استفاده کرد و بجاش باید از sudo -s استفاده کرد با اینکه توی رد هت این شکلی نیست. درسته که ما یکسری دستورهای پایه داریم اما برخی از اونها در برخی از توزیع ها بنا به دلایل زیادی از جمله امنیت وجود ندارند و یا تغییر کردن. مثلا داخل رد هت می تونیند از init استفاده بکنید اما داخل اونتو این شکلی نیست.

لازمه یاد آوری بکنم که دستورها توی لینوکس برنامه هایی هستن که فراخوانهای سیستمی (system calls) رو صدا می کنن. پس در نتیجه شما می تونید یک دستور رو حذف بکنین و یا تغییر نام بدید و یا حتی از اول با توجه به نیازهای خودتون اون رو بنویسید. این همون کاری بود که استالمن در ابتدای کار GNU انجام داد.

نه خیر :) در اوبونتو هم موجوده. فقط کافیه تایپ کنید :


sudo su

بعدش وقتی روت شدید :


passwd

وقتی پسورد ست کردید تست کنید su خالی رو بعد به حرف من میرسید :چشمک:

pswin.pooya
چهارشنبه 24 آبان 1391, 22:37 عصر
وقتی پسورد ست کردید تست کنید su خالی رو بعد به حرف من میرسید :چشمک:

اگر این دستور رو وارد کنید:

man sudo

متوجه میشید که دستورsudo گزینه ای (option) به نام su نمی گیره. در حقیقت شما دارید دستور su رو توی مد super user اجرا می کنید. با اینکه هدف اینه که به همون مد بریم. توی فدورا و .. میشه مسقیما از دستوری مثل su برای تغییر کاربر به کاربر ریشه استفاده کرد. اما این موضوع داخل توزیعی مثل اوبونتو وجود نداره. باز هم اگر ادامه man رو بخونید نحوه تغییر پیکربندیهای موجود رو گذاشته.

FastCode
چهارشنبه 24 آبان 1391, 23:56 عصر
sudo su درسته

usage: 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 ...

su

Usage: 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


sudo su
passwd root
exit
su

یا
sudo passwd root
su
یا
sudo su
exec passwd root
su
همه یکی هستن
کاربر جاری سطح دسترسی روت میگیره و پسورد و روت رو ست میکنه بعد su میکنه
در بعضی توضیع ها sudo قبلاً غیر فعال بوده(مثل debian lenny) که در ورژن های آینده فعال شده squeeze wheezy sid ...
البته sudo رو میشه فعال کرد(خودم روی lenny)
در بعضی توزیع ها هم به دلایل خاص sudo غیرفعاله

prpe26
پنج شنبه 25 آبان 1391, 12:57 عصر
اگر این دستور رو وارد کنید:

man sudo

متوجه میشید که دستورsudo گزینه ای (option) به نام su نمی گیره. در حقیقت شما دارید دستور su رو توی مد super user اجرا می کنید. با اینکه هدف اینه که به همون مد بریم. توی فدورا و .. میشه مسقیما از دستوری مثل su برای تغییر کاربر به کاربر ریشه استفاده کرد. اما این موضوع داخل توزیعی مثل اوبونتو وجود نداره. باز هم اگر ادامه man رو بخونید نحوه تغییر پیکربندیهای موجود رو گذاشته.

اتفاقا در اوبونتو هم وجود داره و الان دارم ازش استفاده میکنم :چشمک:

prpe26
پنج شنبه 25 آبان 1391, 12:58 عصر
sudo su درسته

su

sudo su
passwd root
exit
su

یا
sudo passwd root
su
یا
sudo su
exec passwd root
su
همه یکی هستن
کاربر جاری سطح دسترسی روت میگیره و پسورد و روت رو ست میکنه بعد su میکنه
در بعضی توضیع ها sudo قبلاً غیر فعال بوده(مثل debian lenny) که در ورژن های آینده فعال شده squeeze wheezy sid ...
البته sudo رو میشه فعال کرد(خودم روی lenny)
در بعضی توزیع ها هم به دلایل خاص sudo غیرفعاله

sudo بصورت یک پکیج یا پورت خارجی توی همه ریپوزیتوری ها هست. حتی در سیستم عاملهای غیر لینوکس مثل BSD و Minix هم میتونید کامپایل یا نصبش کنید.

pswin.pooya
پنج شنبه 25 آبان 1391, 22:50 عصر
چرا منظور من رو اشتباه برداشت کردید.

برای پیدا کردن وجود یک دستور یا بهتر بگم برنامه، کافیه :

command -v sudo

در مورد su هم من نگفتم وجود نداره. رفتارش تغییر کرده. یعنی شما توی مد کاربر نمی تونید با su خالی سوپیچ انجام بدید. شما زمانی که دارید su رو به شکل زیر صدا می زنید:

sudo su

در حقیقت به عنوان آرگومان دوم دارید اسم برنامه رو به دستور sudo می دید. (آرگومان اول اسم خود برنامه هست - تو این مورد sudo - ) و برنامه sudo بعد از تحویل کلمه عبور رو از شما می پرسه. و بعد su رو اجرا میکنه. از اونجا که یک بار کلمه کاربر ریشه رو وارد کردید دیگه تا زمانی که نشست وجود داره لازم نیست دوباره وارد کنید. حالا با اجرای دستور sudo شما مجوز کاربر ریشه رو صادر کردید. بعد از اون دستور su تغییر کاربری رو انجام میده.

توی توزیع های زیادی میشه بدون استفاده از دستور sudo تنها به کمک دستور su این تغییر کاربر رو انجام داد.

prpe26
پنج شنبه 25 آبان 1391, 23:33 عصر
چرا منظور من رو اشتباه برداشت کردید.

برای پیدا کردن وجود یک دستور یا بهتر بگم برنامه، کافیه :

command -v sudo

در مورد su هم من نگفتم وجود نداره. رفتارش تغییر کرده. یعنی شما توی مد کاربر نمی تونید با su خالی سوپیچ انجام بدید. شما زمانی که دارید su رو به شکل زیر صدا می زنید:

sudo su

در حقیقت به عنوان آرگومان دوم دارید اسم برنامه رو به دستور sudo می دید. (آرگومان اول اسم خود برنامه هست - تو این مورد sudo - ) و برنامه sudo بعد از تحویل کلمه عبور رو از شما می پرسه. و بعد su رو اجرا میکنه. از اونجا که یک بار کلمه کاربر ریشه رو وارد کردید دیگه تا زمانی که نشست وجود داره لازم نیست دوباره وارد کنید. حالا با اجرای دستور sudo شما مجوز کاربر ریشه رو صادر کردید. بعد از اون دستور su تغییر کاربری رو انجام میده.

توی توزیع های زیادی میشه بدون استفاده از دستور sudo تنها به کمک دستور su این تغییر کاربر رو انجام داد.

بله من بد برداشت کرده بودم :لبخندساده:

البته توی Mailing Lists های اوبونتو / مینت یا توزیع های دیگری که دسترسی روت مستقیم رو بستن چندین بار سوال کردم گفتند برای امنیت بیشتر هست (فکر کنم چون قشر تازه کار مدنظرشون هست و ممکنه خرابکاری کنند این اقدام رو کردند :لبخند: ).