یک اسکریپت بش بنویسید که مالکیت یک دایرکتوری و تمام زیرمجموعههای آن را به یک کاربر و گروه مشخص تغییر دهد و بهصورت بازگشتی برای همهی پوشهها مجوز 755 و برای همهی فایلها مجوز 644 را تنظیم کند.
3.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 01:59 0.0
برای حل این مسئله از دستورات استاندارد لینوکسی مثل chown و chmod استفاده کنید؛ برای تغییر مالکیت بهصورت بازگشتی chown -R user:group /path، و برای تنظیم مجوزها بهصورت جداگانه برای پوشهها و فایلها از find استفاده کنید: find /path -type d -exec chmod 755 {} \; و find /path -type f -exec chmod 644 {} \;. در اسکریپت ورودیها (کاربر، گروه و مسیر) را پارس کنید، وجود دایرکتوری را با test بررسی کنید، و در صورت نیاز از sudo استفاده کنید؛ در پایان با ls -lR /path صحت تغییرات را بررسی کنید. نکتهها: از chmod -R استفاده نکنید اگر میخواهید فایلها و پوشهها مجوزهای متفاوت داشته باشند و قبل از اجرای اسکریپت روی مسیرهای حساس، از پشتیبانگیری استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
این کار را میتوان با chown -R و استفاده از find برای تفکیک مجوزهای پوشهها و فایلها انجام داد؛ اما قبل از اجرا حتماً وجود مسیر هدف و دسترسیهای لازم را با test -d بررسی کنید. برای جلوگیری از تغییر ناخواسته لینکها و نام فایلها، بهجای chmod -R از روش تفکیک فایلها و پوشهها استفاده کنید و در صورت نیاز از sudo بهره ببرید. پس از اجرا، صحت تغییرات را با ls -lR /path بررسی کنید و از داشتن پشتیبان قبل از اجرا مطمئن شوید.
گزارش