مدیریت لینوکس برای DevOps – انجمن DEV

هدف پروژه
این پروژه شامل راهاندازی یک محیط لینوکس، ایجاد و مدیریت کاربران/گروهها، تنظیم مجوزهای مناسب و خودکارسازی وظایف رایج با استفاده از اسکریپتهای پوسته است. این یک راهنمای عملی برای مهندسان DevOps است که سرورهای لینوکس را مدیریت می کنند.
مرحله 1: محیط لینوکس را تنظیم کنید
- راه اندازی یک نمونه Ubuntu EC2 یک نمونه EC2 با پیکربندی زیر ایجاد کنید: نوع نمونه: t2.micro AMI: سرور اوبونتو 20.04 LTS فضای ذخیره سازی: 20 گیگابایت SSH در نمونه:
ssh -i key.pem ubuntu@
مرحله 2: مدیریت کاربران و گروه ها
- ایجاد کاربران سه کاربر اضافه کنید: devuser1، devuser2 و devopsadmin.
sudo useradd -m -s /bin/bash devuser1
sudo useradd -m -s /bin/bash devuser2
sudo useradd -m -s /bin/bash devopsadmin
تعیین رمز عبور برای کاربران:
echo “devuser1:password123” | sudo chpasswd
echo “devuser2:password123” | sudo chpasswd
echo “devopsadmin: adminpass” | عرق chpasswd
- ایجاد گروه ها دو گروه ایجاد کنید: توسعه دهندگان و مدیران.
توسعه دهندگان sudo groupadd
ادمین های sudo groupadd
افزودن کاربران به گروه ها:
توسعه دهندگان sudo usermod -aG devuser1
توسعه دهندگان sudo usermod -aG devuser2
sudo usermod -aG admins devopsadmin
- تایید عضویت گروه
گروه devuser1
گروه devuser2
گروه های devopsadmin
مرحله 3: مجوزها را تنظیم کنید
- ایجاد یک فهرست مشترک ایجاد یک فهرست برای توسعه دهندگان:
sudo mkdir /shared/developers
تنظیم مالکیت و مجوزهای گروه:
sudo chown :developers /shared/developers
sudo chmod 770 /shared/developers
- محدود کردن دسترسی ایجاد یک دایرکتوری که فقط برای مدیران قابل دسترسی است:
sudo mkdir /shared/admins
sudo chown :admins /shared/admins
sudo chmod 750 /shared/admins
تأیید مجوزها:
ls -ld /shared/*
مرحله 4: خودکارسازی وظایف با اسکریپت های شل
- ایجاد یک اسکریپت مدیریت کاربر یک اسکریپت برای افزودن کاربران، اختصاص دادن آنها به گروه ها و تنظیم رمزهای عبور پیش فرض ایجاد کنید.
اسکریپت: user_management.sh
اگر [ “$EUID” -ne 0 ]; سپس
echo “لطفا به عنوان root اجرا شود”
خروج 1
فی
create_user() {
نام کاربری محلی = $1
گروه محلی = $2
رمز عبور محلی = $3
# کاربر ایجاد کنید
useradd -m -s /bin/bash “$username”
echo “$username:$password” | chpasswd
# کاربر را به گروه اضافه کنید
usermod -aG “$group” “$username”
echo “User $username ایجاد و به گروه $group اضافه شد.”
}
create_user devuser1 developers password123
create_user devuser2 developers password123
create_user devopsadmin admins adminpass
echo “ایجاد کاربر تکمیل شد.”
- ایجاد یک اسکریپت پشتیبان برای تهیه نسخه پشتیبان از دایرکتوری مشترک / روزانه یک اسکریپت ایجاد کنید.
اسکریپت: backup_shared.sh
SOURCE_DIR=”/اشتراک گذاری شده”
BACKUP_DIR=”/پشتیبان گیری”
TIMESTAMP=$(تاریخ +”%Y%m%d_%H%M%S”)
mkdir -p “$BACKUP_DIR”
tar -czf “$BACKUP_DIR/shared_backup_$TIMESTAMP.tar.gz” “$SOURCE_DIR”
echo “پشتیبان گیری تکمیل شد: $BACKUP_DIR/shared_backup_$TIMESTAMP.tar.gz”
- خودکار کردن اسکریپت ها با Cron Jobs، crontab را ویرایش کنید:
crontab -e
ورودی های زیر را اضافه کنید:
0 2 * * * /path/to/backup_shared.sh
مرحله 5: تنظیم را تأیید کنید
- تست مدیریت کاربر و گروه به عنوان devuser1 وارد سیستم شوید و مطمئن شوید که می توانند به /shared/developers دسترسی داشته باشند. به عنوان devopsadmin وارد شوید و مطمئن شوید که آنها می توانند به /shared/admins دسترسی داشته باشند.
- تست اسکریپت پشتیبان گیری اسکریپت پشتیبان را اجرا کنید:
sudo bash /path/to/backup_shared.sh
فایل پشتیبان را در /backup تأیید کنید.
مرحله 6: مستندسازی و پاکسازی
- مستند کردن همه مراحل شامل دستورات و تنظیمات در یک فایل علامت گذاری برای مراجعات بعدی است.
- پاکسازی (اختیاری) در صورت عدم نیاز، کاربران آزمایشی، گروهها و دایرکتوریها را حذف کنید:
sudo userdel -r devuser1
sudo userdel -r devuser2
sudo userdel -r devopsadmin
توسعه دهندگان sudo groupdel
ادمین های sudo groupdel
sudo rm -rf /shared /backup
برنامه های افزودنی
اضافه کردن نظارت:
از ابزارهایی مانند htop، top یا prometheus-node-exporter برای نظارت بر مصرف منابع استفاده کنید.
ثبت متمرکز:
rsyslog را برای جمع آوری و ارسال گزارش ها پیکربندی کنید.
اتوماسیون پیشرفته:
از Ansible برای مدیریت کاربران، گروه ها و مجوزها در چندین سرور استفاده کنید.
این پروژه یک راهاندازی کامل مدیریت لینوکس را فراهم میکند که برای گردشهای کاری DevOps ضروری است. اگر در مورد هر بخش خاصی به کمک نیاز دارید به من اطلاع دهید!