اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

مشکل در محدود کردن کاربران به service ها و فایل ها در linux

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    مشکل در محدود کردن کاربران به service ها و فایل ها در linux

    سلام چندنفر به سرورم دسترسی دارم میخوام یه کاری کنم که هرجای سیستم رو خواستند ببینند ولی فقط مسیر /etc/file.php رو بتونند بخونند و اگر خواستند edit هم انجام بدم. ولی ما بقی جاها رو فقط دسترسی read داشته باشند. بعدش میخوام بگم اینا فقط بتونند سرویس httpd رو بتونند restart کنند.

    #2
    ببینید شما اول باید با پرمیژن ها آشنا بشید.
    اینکه فرمودین هر جای سیستم رو خواستن بتونن ببینن یعنی پرمیژن read داشته باشن که این پرمیژن در مورد یه فایل میشه cat و cp , و در مورد یه فولدر میشه ls
    ویرایش یه فایل میشه write
    پرمیژن رو می تونین در غالب یه عدد 3 رقمی تعریف کنید که هر رقم خودش شامل 3 مورد هست به ترتیب : read,write,execute
    read = 4
    write=2
    extecute=1
    ;که باهم میشن 7
    هر رقم مربوط به یه فرد یا افرادمیشن
    رقم اول مربوط به owner فایل یا فولدره (صاحب فایل :کسی که فایل رو ایجاد کرده)
    رقم دوم مربوط به کسانی میشه که تو گروه مربوط به این فایل هستن
    و رقم آخر مربوط به سایر افراد دیگه است . اصطلاحا others
    وقتی پرمیژن 777 میدیم به یه فایل یعنی به owner و اعضای group و other پرمیژن کامل read,write,execute میدیم: (1+2+4=7)
    وقتی پرمیژن 644 میدیم یعنی owner فقط read و write داشته باشه و group و other فقط read داشته باشن: (2+4=6)
    وقتی 660 میدیم یعنی فقط owner و group پرمیژن read و write دارن و بقیه هیچ پرمیژنی ندارن

    برای اینکه شما به همه امکان خوندن و ویرایش فایل
    file.php رو بدید و هیچ کسی پرمیژن execute نداشته باشه (حتی owner) باید پرمیژنش رو بذارید 666 :
    chmod 666 /etc/file.php
    و در مورد بقیه فایلها و دایرکتوریها هم با توجه به پرمیژن مورد نظرتون سطح دسترسی تعیین کنید.
    و اما در مورد سرویس ها در یک جواب کوتاه بگم که به هر کاربری که خواستید پرمیژن اجرا کردنش رو بدین اون کاربر رو در فایل sudoer مجاز کنید. بادستور visudo وارد این فایل بشید:
    visudo
    و مثلا برای سرویس apache خط زیر رو اضافه میکنیم:
    vahid ALL = /etc/init.d/apache2

    موفق باشید.
    آخرین ویرایش توسط masome vahid; در تاریخ/ساعت 11-06-2016, 09:37 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

    کامنت


      #3
      ممنون از توضیحات تون خانم مهندس. من centos 7 دارم که روش یه وب سرویس هست. یه فایل توی مسیر /etc/file.php دارم. میخوام به یکی دوتا از بچه ها دسترسی بدم که فقط از طریق ssh وصل شند به سرور و فقط بتونند اون فایل php رو ویرایش کنند و بعد از ویرایش بتونند سرویس apache رو هم start/stop/restart کنند. به فایل های حیاتی سیستم مثل root و passwd، shadow و غیره هم دسترسی نداشته باشند. یا اینکه نتونند سرویس دیگه ای رو ریست بدند. این مسیری هم که توی فایل visudo گفتید رو من انجام دادم ولی همچنان با یوزری که ساختم ssh میکنم و میخوام سرویس آپاچی رو ریست بدم Access denied میده.

      کامنت


        #4
        سلام . اسم سرویس آپاچی در سنت او اس httpd هست .با توجه به اینکه سنت او اس 7 دارید، دستور زیر رو تست کنید:
        کد:
        vahid ALL=NOPASSWD: /usr/bin/systemctl restart httpd.service
        Instagram : https://www.instagram.com/iranlinuxforum

        Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

        Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
        Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
        Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
        LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

        Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

        کامنت


          #5
          ممنون خانم مهندس. این کارا رو هم انجام دادم ولی اعمال نمیشه. و وقتی میخوام سرویس مورد نظرم رو ریست بدم با خطای Failed to issue method call: Access denied مواجه میشم. بعد از تغییرات در visudo احتیاج نیست سرویسی رو reset بدیم؟
          آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-01-2021, 11:34 AM.

          کامنت


            #6
            سلام . خط زیر رو استفاده کنید :
            کد:
            vahid ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart httpd.service
            Instagram : https://www.instagram.com/iranlinuxforum

            Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

            Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
            Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
            Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
            LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

            Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

            کامنت

            درباره انجمن منطقه لینوکسی ها

            انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

            شبکه های اجتماعی
            در حال انجام ...
            X