برای فهمیدن اینکه چه کسی از فایلی استفاده میکند میتوانیم از دستور lsof استفاده کنیم.این دستور در حافظه ی هسته فایل های باز را جستجو میکند و کمک میکند تمام فایلهای در حال اجرا را لیست کنید.
خروجی دستور lsof مالک و اطلاعات پردازش با استفاده از فایل،بصورت زیر خواهد بود
lsof/dev/null $
برای لیست کردن فایل های خاصی که توسط کاربر باز شده اند دستور زیر را با جایگزینی نام کاربر به جای user اجرا کنید.
lsof -u user $
استفاده مهم دیگر دستور lsof پیدا کردن روند پیروی در یک پورت خاص است.برای مثال با استفاده از دستور زیر میتوان فهمید کدام فرآیند از پورت 80 پیروی میکند.
sudo lsof -i TCP:80 $
زمانی که دستور lsof حافظه هسته را در جستجوی خود میخواند،تغییرات سریع در حافظه هسته باعث خروجی های پیش بینی نشده میشود.این یکی از زیان های بزرگ استفاده از دستور lsof است.
برای اطلاعات بیشتر از دستور man استفاده کنید.
man lsof $
منبع:https://www.tecmint.com/find-out-who-is-using-a-file-in-linux/
تهیه مطلب:سهیلا حسن پوری بقا (951830227)
در این مقاله می خواهیم نشان دهیم که چگونه تفاوت بین فایلهای محلی (local) و ریموت (remote) در لینوکس را یافته یا مقایسه کنیم.
دستور diff یک ابزار ساده می باشد که دو فایل متفاوت را تجزیه و تحلیل میکند و تفاوتهای موجود در فایلها را با مقایسه خط به خط به ما نشان می دهد . در صورتی که بخواهید دو فایل متفاوت از نظر محتوا یکسان شوند دستور diff یک سری دستورالعمل نیز برای یکسان سازی فایل به شما نشان می دهد.
برای مقایسه یا یافتن تفاوت بین دو فایل در مکان های مختلف، فرمان زیر را اجرا کنید. به یاد داشته باشید که کاربر [user] و میزبان [remote-host] را با پارامترهای واقعی خود تعویض کنید .
$ ssh user@remote-host "cat /home/root/file_remote" | diff - file_local
توجه داشته باشید که همچنین میتوان تفاوت بین دو فایل را در یک فایل مجزا، با استفاده از ویژگی تغییر مسیر خروجی ذخیره کرد . برای مثال :
$ ssh user@remote-host "cat /home/root/file_remote" | diff - file_local > diff_output.txt
سپس با دستور cat می توانید محتویات فایل diff را مشاهده کنید .
$ cat diff_output.txt
OR
$ bcat diff_output.txt
علاوه بر این ، همچنین میتوانید تفاوت بین دو فایل را که در دو سرور مجزا قرار دارند نیز مقایسه کنید ، مطابق دستور زیر :
$ diff <(ssh user@remote-host1 'cat /path/to/file1') <(ssh user@remote-host2 'cat /path/to/file2')
برای کسب اطلاعات بیشتر، می توانید از دستور man استفاده کنید .
$ man diff
منبع :
https://www.tecmint.com/compare-local-and-remote-files-in-linux/
تهیه کننده : امین طاهری - ۹۵۱۸۳۰۲۴۶
می دانیم که بعضی از نرم افزار هایی که امکان استفاده از آنها در ویندوز برایمان راحت است ممکن است در لینوکس نتوانیم به آنها دسترسی پیدا کنیم .
یکی از این برنامه های کاربردی که ممکن است در حین استفاده از لینوکس به آنها نیاز پیدا کنیم نرم افزار هایی مثل word / powerpoint / excel و ... است .
برای استفاده از آنها در لینوکس سه روش وجود دارد :
روش اول ) استفاده از این نرم افزار ها به صورت آنلاین
روش دوم ) نصب مایکرو سافت آفیس با استفاده از PlayOnLinux
روش سوم ) از Microsoft Office در یک ماشین مجازی ویندوز استفاده کنید
در این مطلب روش دوم را توضیح خواهیم داد :
شما می توانید مایکروسافت آفیس را با استفاده از Wine و PlayOnLinux نصب کنید.
*** دستورالعمل های زیر برای اوبونتو هستند ***
مراحل نصب:
با باز کردن یک پنجره ترمینال و وارد کردن شروع کنید:
wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
بعد، کلید عمومی برای نرم افزار PlayOnLinux که در کنار wine اجرا می شود را اضافه کنید:
wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add -
با اضافه کردن اطلاعات PPA به package manager، این را دنبال کنید:
sudo wget http://deb.playonlinux.com/playonlinux_precise.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt update
sudo apt install playonlinux
اکنون، تنها کاری که باید انجام دهید این است که PlayOnLinux را ازMenu > Applications راه اندازی کنید. سپس، بر روی زبانه Office کلیک کنید، سپس گزینه Microsoft Office مناسب را انتخاب کنید.
حال تنها کاری که مانده نصب مایکروسافت آفیس است :
توجه کنید که با PlayOnLinux، شما محدود به مایکروسافت آفیس 2013 به عنوان آخرین نسخه (نسخه 32 بیتی، در بهترین حالت) هستید. اما بهتر است از مایکروسافت آفیس 2010 استفاده کنید. برای این کار، شما باید دیسک (یا فایل ISO) و یک کلید واقعی(لایسنس) را داشته باشید.
شما دانلود رسمی را در آدرس microsoft.com/en-gb/software-download/office پیدا خواهید کرد، در آنجا قبل از اینکه بتوانید مجموعه را دانلود کنید، باید کلید محصول را وارد کنید(باید قبل از دانلود ، لایسنس مربوطه را که خریداری کرده اید وارد کنید)
PlayOnLinux از شما خواسته است که یک DVD-ROM یا یک فایل نصب را انتخاب کنید. با توجه به اینکه فایل نصب دارید یا میخواهید با استفاده از DVD-ROMنرم افزار را نصب کنید گزینه مناسب را انتخاب کنید.
با کلیک بر روی Next، نصب ادامه خواهد یافت و پس از انجام این کار، شما آماده استفاده از مایکروسافت آفیس 2010 خواهید بود. این آخرین نسخه است که می تواند باPlayOnLinux در سیستم نصب شود، هرچند برای برنامه های مایکروسافت آفیس روی ویندوز نسخه های 2016 هم وجود دارد. .
اگر به دلایلی PlayOnLinux برای شما کار نمی کند، CrossOver را نیز در نظر بگیرید. این یک ابزار است و می تواند نسخه های بعدی مایکروسافت آفیس را اجرا کند. اگر برنامه ها توسط PlayOnLinux / Wine به طور کامل پشتیبانی نمی شد، می توانید در CrossOver اجرا کنید.نصب CrossOver ساده تر ازPlayOnLinux است.
داشتن نرم افزار ویندوز روی سیستم عامل لینوکس روی کامپیوتر شما بسیار شگفت انگیز است. شما خواهید دید که PlayOnLinux می تواند چندین برنامه دیگر و همچنین بسیاری از بازی های ویندوز را پشتیبانی کند.
تهیه و تنظیم مطلب :
ریحانه علیزاده باغبانان (شماره دانشجویی:951830253)
منبع:
/https://www.makeuseof.com/tag/install-use-microsoft-office-linux
Elasticsearch یک پایگاه داده ی No SQL است و به خاطر اینکه تعداد این پایگاه داده ها زیاد است ابتدا به توصیف آن می پردازیم.
مقدمه ای بر Elasticsearch
Elasticsearch یک پایگاه داده No SQL ، real time ،document based ،distributed ،
full text based search engine، power full analytics engine و REST محور می باشد.
ابتدا open JDK 8 را نصب میکنیم:
تایید کردن نصب Java با دستور java version :
خروجی به شکل زیر خواهد بود:
وارد کردن کلید GPG ریپازیتوری با دستور زیر:
ویرایشگر متن خود را باز کرده و ریپازیتوری زیر را ایجاد کنید
موارد زیر را درون فایل ذخیره کنید
حال به دانلود package می پردازیم
فعال کردن سرویس
شما می توانید برنامه در حال اجرا را با ارسا در خواست http به پورت9200 در لوکال هاست با دستور curl زیر تایید کنید
که خروجی به شکل زیر خواهد بود
که ممکن است بین 10 تا 15 ثانیه وقت بگیرد که برای دیدن پیام های لاگ شده توسط سرویس elastic search میتوانید از دستور زیر استفاده کنید
که با اعمال این دستورات برنامه در حال اجرا قرار می گیرد.
کانفیگ کردن
برای اجازه ی دسترسی به elastic search از سرور های دیگر باید ابتدا کانفیگ های مورد نیاز را انجام بدهید که در
زیر به شرح آهن میپردازیم
دستور زیر را برای اجازه دسترسی خارجی به سرور از طریق سرور های قابل اعتماد در پورت 9200 وارد کنید
که اگر در ادامه خواستید به سرور های دیگ هم اجازه دهید دستور زیر را وارد کنیدبعد از کانفیگ کردن فایر وال نوبت به کانفیگ های مربوط به elastic search می رسد که برای آن فایل elasticsearch.yml را باز کنید
سپس دنبال خطی که شامل network.host است بگردید و مقادی آن را به0.0.0.0 تبدیل کنید
در نهایت با دستور زیر ریستارت کنید تا دستورات آخر اعمال شوند
منبع: https://linuxize.com/post/how-to-install-elasticsearch-on-centos-7/
تهیه کننده: ارشیا نظرلطفی/951830277
چهار روش برای غیر فعال کردن حساب ریشه در لینوکس
حساب ریشه ، یک حساب نهایی در لینوکس و سایر سیستم عامل های مشابه یونیکس است. این حساب به تمامی دستورات و فایل ها در یک سیستم با مجوز کامل خواندن، نوشتن و اجرا، دسترسی دارد. برای انجام هر کاری در یک سیستم استفاده می شود؛ برای ایجاد، به روز رسانی، دسترسی، حذف حساب های کاربران دیگر، نصب، حذف، ارتقاء بسته های نرم افزاری و خیلی موارد بیشتر.
از آنجا که کاربر ریشه دارای قدرت مطلق است، هر گونه فعالیتی که وی انجام می دهد در یک سیستم حیاتی است. در این راستا، هر گونه خطا توسط کاربر ریشه ممکن است پیامدهای بزرگی در عملکرد عادی یک سیستم داشته باشد. علاوه بر این، این حساب نیز ممکن است با استفاده نامناسب از آن یا به طور تصادفی و یا از طریق نادیده انگاشتن سیاست ها مورد سوء استفاده قرار گیرد. بنابراین، بهتر است دسترسی ریشه در سرور لینوکس خود را غیر فعال کنید، در عوض، یک حساب مدیریتی ایجاد کرده و برای به دست آوردن امتیازات ریشه با استفاده از دستور sudo، برای انجام وظایف مهم در سرور، حساب مورد نظر را پیکربندی کنید.
در این مقاله، ما چهار راه برای غیر فعال کردن ورود به حساب کاربریroot در لینوکس را توضیح خواهیم داد.
توجه: قبل از اینکه شما دسترسی به حساب ریشه را مسدود کنید، مطمئن شوید که یک حساب کاربری ایجاد کرده اید، دستور useradd، به استفاده از دستور sudoبرای به دست آوردن امتیازات کاربر ریشه کمک میکند و یک رمز عبور قوی برای حساب کاربری ارائه می دهد. پرچم m به معنی ایجاد دایرکتوری خانگی کاربر است و c اجازه می دهد تا یک نظر را مشخص کند:
# useradd –m –c "Admin User" admin
# passwd admin
سپس، این کاربر را به گروه مناسب از مدیران سیستم با استفاده از دستور usermod اضافه کنید، جایی که سوئیچ -a، به معنی اضافه کردن حساب کاربری است و -G ، یک گروه را برای اضافه کردن کاربر (wheel or sudo) در توزیع لینوکس شما مشخص می کند:
# usermod -aG wheel admin #Centos
# usermod -aG sudo admin #Debian
هنگامی که یک کاربر را با امتیازات مدیریتی ایجاد کرده اید، برای مسدود کردن دسترسی ریشه، به این حساب بروید.
# su admin
1) تغییر ریشه کاربر Change root User’s Shell) Shell )
ساده ترین روش برای غیرفعال کردن ورود کاربر root این است که پوسته خود را از/bin/bash (یا هر پوسته دیگری که اجازه ورود کاربر را دارد) به /sbin/nologin درفایل /etc/passwd تغییردهید.
$ sudo vim /etc/passwd
تغییر خط:
root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin
درانتها فایل را ذخیره کرده و ببندید.
ازاین پس، هنگامی که کاربر ریشه وارد سیستم می شود، پیامی دریافت می کند: "این حساب در حال حاضر در دسترس نیست." این پیام پیش فرض است، اما شما می توانید آن را تغییر دهید و یک پیام سفارشی در فایل /etc/nologin.txt تنظیم کنید. این روش تنها برای برنامه هایی که نیاز به پوسته برای ورود به سیستم دارند موثر است، در غیر این صورت، سرورهای sudo، ftp و ایمیل می توانند به حساب root دسترسی پیدا کنند.
2) غیرفعال کردن ورود کاربر root از طریق کنسول ((Disable root Login via Console Device (TTY)
روش دوم از یک ماژول PAM به نام pam_securetty استفاده می کند که اجازه دسترسی به ریشه را فقط در صورتی که کاربر در TTY "امن" وارد شده باشد، می دهد. همانطور که در فهرست etc / securetty تعریف شده است. فایل فوق به شما اجازه می دهد که مشخص کنید کدام دستگاه های TTY کاربر ریشه، مجاز به ورود به سیستم است، تخلیه این فایل از ورود ریشه در هر دستگاه متصل به سیستم کامپیوتری جلوگیری می کند.
$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty
این روش دارای برخی محدودیت هاست و تنها بر روی برنامه هایی نظیر ورود به سیستم، مدیران نمایش (i.e gdm، kdm و ( xdm و سایر سرویس های شبکه ای که TTY را راه اندازی می کنند، تاثیر می گذارد. برنامه هایی مانند su، sudo، ssh و سایر ابزارهای باز شده به حساب root دسترسی خواهند داشت.
3) غیر فعال کردن ریشه ورود به سیستم SSH (Disable SSH Root Login)
رایج ترین راه برای دسترسی به سرورهای از راه دور و یا VPS ها از طریق SSH است و برای مسدود کردن ورود کاربر ریشه تحت آن، شما باید فایل /etc / ssh / sshd_config را ویرایش کنید.
$ sudo vim /etc/ssh/sshd_config
سپس دستورPermitRootLogin مطابق شکل زیر اجراکرده و مقدار آن را به no تغییر دهید.
پس از پایان کار، فایل را ذخیره کرده و ببندید. سپس سرویس sshd را مجددا راه اندازی کنید تا تغییرات اخیر در تنظیمات اعمال شود.
$ sudo systemctl restart sshd
or
$ sudo service sshd restart
این روش فقط بر روی مجموعه ابزار openssh تاثیر می گذارد؛ برنامه هایی مانند ssh، scp، sftp از دسترسی به حساب root رد می شوند.
4) دسترسی ریشه به خدمات را از طریق PAM محدود کنید (Restrict root Acess to Services Via PAM)
ماژول های تأیید هویت انطباق پذیر (PAM در کوتاه مدت) یک روش متمرکز، پلاگین، انعطاف پذیر برای احراز هویت در سیستم های لینوکس است. PAM از طریق ماژولlib/security/pam_listfile.so / به انعطاف پذیری زیاد در محدود کردن امتیازات حساب های خاص اجازه می دهد. ماژول بالا می تواند برای ارجاع به یک لیست از کاربران که مجاز به ورود از طریق برخی از خدمات هدف مانند ورود به سیستم، SSH و هر برنامه آگاه از PAM نیستند، استفاده شود.
در این مورد، ما می خواهیم دسترسی ریشه به یک سیستم را با محدود کردن دسترسی به ورود و سرویس های sshd غیرفعال کنیم. ابتدا فایل را برای سرویس هدف در دایرکتوری /etc/pam.d/باز کرده و ویرایش کنید.
$ sudo vim /etc/pam.d/login
or
sudo vim /etc/pam.d/sshd
بعد، پیکربندی زیر را در هر دو فایل اضافه کنید.
auth required pam_listfile.so \
onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers
هرفایل را ذخیره کرده و ببندید.سپس فایل ساده / etc / ssh / deniedusers را ایجاد کنید که باید حاوی یک مورد در هر خط باشد. نام ریشه را در آن اضافه کنید، سپس آن را ذخیره کرده و آن را ببندید.
$ sudo vim /etc/ssh/deniedusers
همچنین مجوزهای مورد نیاز در این را تنظیم کنید.
$ sudo chmod 600 /etc/ssh/deniedusers
این روش تنها بر برنامه ها و سرویس هایی که PAM آگاه هستند، تاثیر می گذارد. شما می توانید دسترسی ریشه به سیستم را از طریق FTP و ایمیل مشتریان و غیره مسدود کنید. برای اطلاعات بیشتر، به صفحات مربوط بهman مراجعه کنید.
$ man pam_securetty
$ man sshd_config
$ man pam
در این مقاله، ما چهار راه را برای غیر فعال کردن حساب ریشه (root) در لینوکس توضیح دادیم.امیدوارم مطالب این بخش ازلینوکس برای شما مفید باشد.
منبع : https://www.tecmint.com/disable-root-login-in-linux/
تهیه کننده : رضا لطیفی – 951830260