@playcode
اجرای دستور سودو بدون پسورد
شاید براتون پیش اومده باشه که بخواید یه سری دستور رو توی فایل شل بنویسید تا هر وقت خواستید اجراش کنید؛ اما اگه دستورات به دسترسی روت نیاز داشته باشند درگیریهایی براتون ایجاد میکنه که در بهترین حالتش وارد کردن پسورد برای هر بار اجرای فایل شل هست. در این پست آموزش لینوکس شما را با روش انجام این کار آشنا خواهیم کرد.
@playcode
برای این کارها معمولاْ راه حلهای منطقی و امنی مثل محدود کردن مجوزهای سیستم هست که روشهای خودشون رو دارند اما این آموزشی که میخوام بدم بدترین کاری هست که میتونید انجام بدید! یعنی رمز خودتون رو تو فایل شل و کنار بقیه دستورات ذخیره کنید و امنیت خودتون رو بسپارید به دست باد!
قبل از هر چیزی یادم اومد که در آینده حتماْ آموزشی برای تنظیمات سودو قرار بدم که هم امنیت شما تضمین بشه و هم کارهاتون رو راحت انجام بدید اما حالا بیاید راه خطرناک خودمون رو آموزش بدیدم! شاید خطرناک باشه و از اون استفاده نکنید ولی یادگیریش خالی از لطف نیست.
خب فرض کنید دستورات من اینها باشن:
rm -r /tmp/*
halt
@playcode
یعنی اینکه من قصد دارم با اجرای این فایل اول محتویات شاخه tmp (که فایلهای موقت سیستم و برنامهها در اون ذخیره میشن) حذف بشن و سپس سیستم خاموش بشه.
ذکر کنم که این فقط یک مثال برای آموزش هست و اگه در واقعیت، من همچین فایلی بخوام بسازم باید به عقلم شک کنید! چون هم اینکه شاخه tmp حافظه موقت هست و بعد از ریست شدن پاک میشه و هم اینکه هرچی برنامه باز دارم رو بیخیال شدم و زدم سیستم رو یهو خاموش کردم!
خب بریم سراغ آموزشمون. اگه دقت کنید دستور halt نیاز به دسترسی روت داره و باید با دستور sudo استفاده بشه. یعنی فایلمون اینطور تغییر میکنه:
@playcode
rm -r /tmp/*
sudo halt
اما مشکل هنوز باقی هست. اگه توی محیط میزکار باشید و فایل رو اجرا کنید که اصلا اتفاقی نمیوفته (البته اگه بجای sudo از جایگزینهاش با رابط کاربری استفاده کنید، کادری باز میشه و رمز عبور رو درخواست میکنه) و اگر در ترمینال باشید و فایل رو اجرا کنید، رمز عبور از شما خواسته میشه.
و اما… حالا وقت کار خطرناکی هست که میگفتم. دستورات رو به شکل زیر تغییر بدید (به جای PASSWORD، رمز خودتون رو بنویسید).
rm -r /tmp/*
echo PASSWORD | sudo -S halt
کار تموم شد. با هر بار اجرای فایل، دستورات به راحتی اجرا میشن. در دستور بالا همزمان پسورد شما در ورودی استاندارد (stdin) نوشته میشه و با سویچ S هم به دستور sudo گفتیم که پسورد رو از ورودی استاندارد بخونه.
@Playcode
اجرای دستور سودو بدون پسورد
شاید براتون پیش اومده باشه که بخواید یه سری دستور رو توی فایل شل بنویسید تا هر وقت خواستید اجراش کنید؛ اما اگه دستورات به دسترسی روت نیاز داشته باشند درگیریهایی براتون ایجاد میکنه که در بهترین حالتش وارد کردن پسورد برای هر بار اجرای فایل شل هست. در این پست آموزش لینوکس شما را با روش انجام این کار آشنا خواهیم کرد.
@playcode
برای این کارها معمولاْ راه حلهای منطقی و امنی مثل محدود کردن مجوزهای سیستم هست که روشهای خودشون رو دارند اما این آموزشی که میخوام بدم بدترین کاری هست که میتونید انجام بدید! یعنی رمز خودتون رو تو فایل شل و کنار بقیه دستورات ذخیره کنید و امنیت خودتون رو بسپارید به دست باد!
قبل از هر چیزی یادم اومد که در آینده حتماْ آموزشی برای تنظیمات سودو قرار بدم که هم امنیت شما تضمین بشه و هم کارهاتون رو راحت انجام بدید اما حالا بیاید راه خطرناک خودمون رو آموزش بدیدم! شاید خطرناک باشه و از اون استفاده نکنید ولی یادگیریش خالی از لطف نیست.
خب فرض کنید دستورات من اینها باشن:
rm -r /tmp/*
halt
@playcode
یعنی اینکه من قصد دارم با اجرای این فایل اول محتویات شاخه tmp (که فایلهای موقت سیستم و برنامهها در اون ذخیره میشن) حذف بشن و سپس سیستم خاموش بشه.
ذکر کنم که این فقط یک مثال برای آموزش هست و اگه در واقعیت، من همچین فایلی بخوام بسازم باید به عقلم شک کنید! چون هم اینکه شاخه tmp حافظه موقت هست و بعد از ریست شدن پاک میشه و هم اینکه هرچی برنامه باز دارم رو بیخیال شدم و زدم سیستم رو یهو خاموش کردم!
خب بریم سراغ آموزشمون. اگه دقت کنید دستور halt نیاز به دسترسی روت داره و باید با دستور sudo استفاده بشه. یعنی فایلمون اینطور تغییر میکنه:
@playcode
rm -r /tmp/*
sudo halt
اما مشکل هنوز باقی هست. اگه توی محیط میزکار باشید و فایل رو اجرا کنید که اصلا اتفاقی نمیوفته (البته اگه بجای sudo از جایگزینهاش با رابط کاربری استفاده کنید، کادری باز میشه و رمز عبور رو درخواست میکنه) و اگر در ترمینال باشید و فایل رو اجرا کنید، رمز عبور از شما خواسته میشه.
و اما… حالا وقت کار خطرناکی هست که میگفتم. دستورات رو به شکل زیر تغییر بدید (به جای PASSWORD، رمز خودتون رو بنویسید).
rm -r /tmp/*
echo PASSWORD | sudo -S halt
کار تموم شد. با هر بار اجرای فایل، دستورات به راحتی اجرا میشن. در دستور بالا همزمان پسورد شما در ورودی استاندارد (stdin) نوشته میشه و با سویچ S هم به دستور sudo گفتیم که پسورد رو از ورودی استاندارد بخونه.
@Playcode
@playcode
بکاپ گیری از سرور مجازی
تا حالا شده سرور مجازی ( vps ) تهیه کرده باشین و بنابر هر دلیلی اطلاعات شما از دست رفته باشه ؟! چون اکثریت فراهم کنندگان سرور مجازی بصورت پیش فرض بکاپی از سرور شما تهیه نمیکنند مگر اینکه شما جدا گونه سرویسی بکاپ رو خریداری کنید ( backup vps ) در بعضی مواقع هم هارد دیسک اصلی سرور با وجود رید بودن هاردها باز هم به مشکل بر میخورند و اطلاعات از بین میروند تاکید میکنم اگر اطلاعات حساس و خیلی مهمی داخل vps دارین حتما سعی کنید خودتون شخصا از اطلاعاتتون بکاپ بگرین درسته احتیاج به یک vps دیگه دارین و هزینه ها بالاتر میره اما خوب خیالتون از بابت از دست دادن اطلاعات با ارزشتون راحت هستش خوب در این پست میخوایم اسکریپ به شما معرفی کنیم و همچنین طریقه نصب که بصورت اتوماتیک از vps های شما بکاپ تهیه میکنه و در صورت لزوم میتونید بکاپ رو برگردونید
این اسکریپ از طریق SSH به سرور مورد نظر شما وصل میشه و از فولدرهای که شما تعیین کردین بکاپ میگیره
معرفی اسکریپت CDP
@playcode
که مخفف ( Continuous Data Protection ) هستش و توسط PHP نوشته شده برای دیتابیس هم از Json استفاده شده که کمترین منابع استفاده کنه ( mysql از منابع زیادی استفاده میکنه موقع ران شدنش ) نصب این اسکریپ بسیار ساده هستش و داری قابلیت های زیر هست
پنل مدیریت تحت وب ( شامل : )
اضافه کردن سرور
اضافه کردن وظیفه پیشتیبان گیری
مشاهده بکاپ ها
دانلود کردن بکاپ ها
بازگردانی بکاپ ها
پاک کردن بکاپ ها
دیتابیس از نوع Json Flat ( بدون نیاز به mysql )
اجرای بکاپ توسط Cron ( ساعتی – روزانه – هفتگی – ماهانه و هر نوعی دیگر شما برای فاصله بین بکاپ ها تعیین کنید )
وصل شدن به سرور مورد نظر توسط پسورد و یا کلید SSH
فرستادن اطلاعیه ها از طریق ایمیل
برای نصب اسکریپ به vps ای که برای بکاپ از سایر vps هامون گرفتیم کانکت میکنیم و دستورات زیر به ترتیب وارد میکنیم ( این نکته هم بگم این اسکریپ بروی لینوکسهای CentOS/Debian/Ubuntu کار میکنه )
wget cdp.me/install.sh && chmod +x install.sh && ./install.sh
@playcode
خوب تموم شده به همین راحتی ما اسکریپ نصب کردیم برای وارد شدن به پنل مدیریت به آدرس زیر برین ( یادتون نره که youripserver با IP سرورتون عوض کنید ) :
http://youripserver/index.php
یوز و پسورد دیفالت هم بصورت زیر هست :
Username: admin
Password: password
در ضمن برای تغییر دادن سایر تنظیمات و مشخص کردن ساعت و همچنین تنظیم ایمیل باید فایل config.php ادیت کنید در مسیر زیر :
/var/www/config.php
در ضمن به یاد داشته باشین که پسورد دیفالت را از بخش USER حتما عوض کنید.
@playcode
بکاپ گیری از سرور مجازی
تا حالا شده سرور مجازی ( vps ) تهیه کرده باشین و بنابر هر دلیلی اطلاعات شما از دست رفته باشه ؟! چون اکثریت فراهم کنندگان سرور مجازی بصورت پیش فرض بکاپی از سرور شما تهیه نمیکنند مگر اینکه شما جدا گونه سرویسی بکاپ رو خریداری کنید ( backup vps ) در بعضی مواقع هم هارد دیسک اصلی سرور با وجود رید بودن هاردها باز هم به مشکل بر میخورند و اطلاعات از بین میروند تاکید میکنم اگر اطلاعات حساس و خیلی مهمی داخل vps دارین حتما سعی کنید خودتون شخصا از اطلاعاتتون بکاپ بگرین درسته احتیاج به یک vps دیگه دارین و هزینه ها بالاتر میره اما خوب خیالتون از بابت از دست دادن اطلاعات با ارزشتون راحت هستش خوب در این پست میخوایم اسکریپ به شما معرفی کنیم و همچنین طریقه نصب که بصورت اتوماتیک از vps های شما بکاپ تهیه میکنه و در صورت لزوم میتونید بکاپ رو برگردونید
این اسکریپ از طریق SSH به سرور مورد نظر شما وصل میشه و از فولدرهای که شما تعیین کردین بکاپ میگیره
معرفی اسکریپت CDP
@playcode
که مخفف ( Continuous Data Protection ) هستش و توسط PHP نوشته شده برای دیتابیس هم از Json استفاده شده که کمترین منابع استفاده کنه ( mysql از منابع زیادی استفاده میکنه موقع ران شدنش ) نصب این اسکریپ بسیار ساده هستش و داری قابلیت های زیر هست
پنل مدیریت تحت وب ( شامل : )
اضافه کردن سرور
اضافه کردن وظیفه پیشتیبان گیری
مشاهده بکاپ ها
دانلود کردن بکاپ ها
بازگردانی بکاپ ها
پاک کردن بکاپ ها
دیتابیس از نوع Json Flat ( بدون نیاز به mysql )
اجرای بکاپ توسط Cron ( ساعتی – روزانه – هفتگی – ماهانه و هر نوعی دیگر شما برای فاصله بین بکاپ ها تعیین کنید )
وصل شدن به سرور مورد نظر توسط پسورد و یا کلید SSH
فرستادن اطلاعیه ها از طریق ایمیل
برای نصب اسکریپ به vps ای که برای بکاپ از سایر vps هامون گرفتیم کانکت میکنیم و دستورات زیر به ترتیب وارد میکنیم ( این نکته هم بگم این اسکریپ بروی لینوکسهای CentOS/Debian/Ubuntu کار میکنه )
wget cdp.me/install.sh && chmod +x install.sh && ./install.sh
@playcode
خوب تموم شده به همین راحتی ما اسکریپ نصب کردیم برای وارد شدن به پنل مدیریت به آدرس زیر برین ( یادتون نره که youripserver با IP سرورتون عوض کنید ) :
http://youripserver/index.php
یوز و پسورد دیفالت هم بصورت زیر هست :
Username: admin
Password: password
در ضمن برای تغییر دادن سایر تنظیمات و مشخص کردن ساعت و همچنین تنظیم ایمیل باید فایل config.php ادیت کنید در مسیر زیر :
/var/www/config.php
در ضمن به یاد داشته باشین که پسورد دیفالت را از بخش USER حتما عوض کنید.
@playcode
@playcode
ImageMagick یک ابزار ترمینال می باشد که قابلیت کار و تغییر عکس بصورت خیلی سریع در ترمینال را به شما می دهد. از نکات بارز آن می توان به قابلیت استفاده آن برروی چندین فایل بصورت همزمان و همچنین یکپارچه سازی به Script اشاره کرد. در این آموزش سعی میکنیم با قابلیت های آن شما را بیشتر آشنا کنیم.
نصب
@Playcode
برای نصب این ابزار می توانید از دستور زیر در ترمینال کمک بگیرید:
sudo apt-get install imagemagick
تبدیل بین فرمت های مختلف
درستور convert نصویر مورد نظر را گرفته و عملیات مورد نظر را برروی آن انجام داده و با اسمی که شما مشخص میکنید آن را ذخیره می کند. یکی از ساده ترین کارهایی که می توان با این ابزار انجام داد تبدیل فرمت های تصاویر به یکدیگر است. برای مثال دستور زیر تصویری با فرمت png را به jpg تبدیل می کند:
convert playcode.png playcode.jpg
شما می توانید میزان فشرده سازی را نیز در دستور بالا بصورت زیر مشخص نمایید:
convert playcode.png -quality 95 playcode.jpg
@Playcode
این شماره بایستی بین ۱ تا ۱۰۰ باشد. بصورت پیش فرض این عدد ۹۲ می باشد.
تبدیل اندازه عکس
با دستور convert می تواند به سرعت سایز تصویر را نیز تغییر دهد.
convert playcode.png -resize 200×۱۰۰ playcode.png
چون از همان اسم فایل استفاده کرده ایم دستور بالا فایل تبدیل شده را برروی فایل اصلی ذخیره می کند.
دستور بالا سعی می کند که سایز تصویر را بصورت منطقی بزرگ نمایید. برای مثال اگر تصویر شما ۶۰۰×۶۰۰ باشد دستور بالا آن را به ۲۰۰×۲۰۰ تبدیل می کند تا نسبت ابعاد آن حفظ شود. اگر نیاز به این دارید که تصویر به اندازه ای که دقیقا برای آن مشخص می کنید تبدیل شود – بایستی این را نیز در نظر گرفت که ممکن است از نظر ظاهری تصویر جالبی از آب در نیاید، البته تصمیم گیری با شماست – می توانید بعد از سایز تعریف کرده از ! بصورت زیر استفاده نمود.
@playcode
convert playcode.png -resize 200×۱۰۰! playcode.png
چرخاندن عکس
دستور زیر عکسی با اسم ir-linux.jpg را گرفته و ۹۰ درجه چرخانده و با نام ir-linux-rotated.jpg ذخیره می کند:
convert playcode.jpg -rotate 90 playcode-rotated.jpg
اگر همان اسم اصلی را در دستور بالا انتخاب نمایید پس از چرخاندن برروی فایل اصلی شما ذخیره سازی صورت می گیرد.
اعمال افکت
ImageMagick می تواند افکت های مختلفی به عکس شما بدهد. بطور مثال با استفاده از دستور زیر تصویر را به نقاشی با زغال تبدیل می کنیم.
convert playcode.jpg -charcoal 2 playcode-charcoal.jpg
@playcode
عدد ۲ در دستور بالا به شما اجازه این را می دهد که میزان تاثیر افکت برروی تصویر را تغییر دهید.
استفاده از چندین قابلیت
تمام قابلیت های که در بالا به آن ها اشاره شد را میتوانید بصورت همزمان در یک دستور بصورت زیر استفاده نمایید:
convert playcode.png -resize 400×۴۰۰ -rotate 180 -charcoal 4 -quality 95 playcode.jpg
پردازش دسته ای (Batch Processing)
شما می توانید از قابلیت Bash استفاده نموده و بصورت دسته ای فایل ها را تغییر و ذخیره نمایید. بطور مثال در زیر کلیه فایل های png موجود در پوشه ای که در آن کار میکنیم را چرخانده و با اسمی که در انتهای آن -rotated اضافه شده است ذخیره می کنیم.
for file in *.png; do convert $file -rotate 90 rotated-$file; done
@playcode
ImageMagick یک ابزار ترمینال می باشد که قابلیت کار و تغییر عکس بصورت خیلی سریع در ترمینال را به شما می دهد. از نکات بارز آن می توان به قابلیت استفاده آن برروی چندین فایل بصورت همزمان و همچنین یکپارچه سازی به Script اشاره کرد. در این آموزش سعی میکنیم با قابلیت های آن شما را بیشتر آشنا کنیم.
نصب
@Playcode
برای نصب این ابزار می توانید از دستور زیر در ترمینال کمک بگیرید:
sudo apt-get install imagemagick
تبدیل بین فرمت های مختلف
درستور convert نصویر مورد نظر را گرفته و عملیات مورد نظر را برروی آن انجام داده و با اسمی که شما مشخص میکنید آن را ذخیره می کند. یکی از ساده ترین کارهایی که می توان با این ابزار انجام داد تبدیل فرمت های تصاویر به یکدیگر است. برای مثال دستور زیر تصویری با فرمت png را به jpg تبدیل می کند:
convert playcode.png playcode.jpg
شما می توانید میزان فشرده سازی را نیز در دستور بالا بصورت زیر مشخص نمایید:
convert playcode.png -quality 95 playcode.jpg
@Playcode
این شماره بایستی بین ۱ تا ۱۰۰ باشد. بصورت پیش فرض این عدد ۹۲ می باشد.
تبدیل اندازه عکس
با دستور convert می تواند به سرعت سایز تصویر را نیز تغییر دهد.
convert playcode.png -resize 200×۱۰۰ playcode.png
چون از همان اسم فایل استفاده کرده ایم دستور بالا فایل تبدیل شده را برروی فایل اصلی ذخیره می کند.
دستور بالا سعی می کند که سایز تصویر را بصورت منطقی بزرگ نمایید. برای مثال اگر تصویر شما ۶۰۰×۶۰۰ باشد دستور بالا آن را به ۲۰۰×۲۰۰ تبدیل می کند تا نسبت ابعاد آن حفظ شود. اگر نیاز به این دارید که تصویر به اندازه ای که دقیقا برای آن مشخص می کنید تبدیل شود – بایستی این را نیز در نظر گرفت که ممکن است از نظر ظاهری تصویر جالبی از آب در نیاید، البته تصمیم گیری با شماست – می توانید بعد از سایز تعریف کرده از ! بصورت زیر استفاده نمود.
@playcode
convert playcode.png -resize 200×۱۰۰! playcode.png
چرخاندن عکس
دستور زیر عکسی با اسم ir-linux.jpg را گرفته و ۹۰ درجه چرخانده و با نام ir-linux-rotated.jpg ذخیره می کند:
convert playcode.jpg -rotate 90 playcode-rotated.jpg
اگر همان اسم اصلی را در دستور بالا انتخاب نمایید پس از چرخاندن برروی فایل اصلی شما ذخیره سازی صورت می گیرد.
اعمال افکت
ImageMagick می تواند افکت های مختلفی به عکس شما بدهد. بطور مثال با استفاده از دستور زیر تصویر را به نقاشی با زغال تبدیل می کنیم.
convert playcode.jpg -charcoal 2 playcode-charcoal.jpg
@playcode
عدد ۲ در دستور بالا به شما اجازه این را می دهد که میزان تاثیر افکت برروی تصویر را تغییر دهید.
استفاده از چندین قابلیت
تمام قابلیت های که در بالا به آن ها اشاره شد را میتوانید بصورت همزمان در یک دستور بصورت زیر استفاده نمایید:
convert playcode.png -resize 400×۴۰۰ -rotate 180 -charcoal 4 -quality 95 playcode.jpg
پردازش دسته ای (Batch Processing)
شما می توانید از قابلیت Bash استفاده نموده و بصورت دسته ای فایل ها را تغییر و ذخیره نمایید. بطور مثال در زیر کلیه فایل های png موجود در پوشه ای که در آن کار میکنیم را چرخانده و با اسمی که در انتهای آن -rotated اضافه شده است ذخیره می کنیم.
for file in *.png; do convert $file -rotate 90 rotated-$file; done
@playcode
تنها با start رباط ما در تلگرام میتوانید عضو خبرنامه سایت شوید . برای عضویت به ربات ما سر بزنید .
آیدی : @playcode_bot
آیدی : @playcode_bot