سوال: نداشتن پرم برای سیملینک

جمع کردن
X
 
  • زمان
  • نمایش
پاک کردن همه
پست‌های جدید
  • Coder
    تازه وارد
    • Feb 2014
    • 4

    #1

    سوال: نداشتن پرم برای سیملینک

    سلام روی یکی از سایت های یه سرور شل دارم.

    cgi رو میتونم اجرا کنم به هنگام زدن دستور ln -s / root.txt با خطای زیر مواجه میشم :

    [font]ln: creating symbolic link `root.txt': Permission denied[/font]

    چطوری میتونم دورش بزنم؟

    اطلاعات تکمیلی :

    1- ln اپلود کردم و پرم 755 دادم بهش باز همان خطا رو داد.

    2-از Webr00t v2 استفاده کردم باز هم نه از طریق کانفینگ ف**ر و نه از طریق گزینه های دیگه نتیجه ای گرفته نشد.

    2- از بعضی از اسکریپت های Open_Basedir Bypass استفاده کردم باز هم نتیجه نداد.
  • Moji.Rider
    عضو متعهد
    • Jun 2012
    • 299

    #2
    RE: سوال: نداشتن پرم برای سیملینک

    سلام
    با آپلود یک ln جدید باید مشکل شما برطرف بشه احتمالاً شما اشتباه اجرا می کنید ln جدید رو.
    فرض کنید ما یک سرور داریم که پرمیشن ln در آن بسته شده و ما نیمتونیم با ln اصلی سیم بزنیم.
    حالا میایم یک ln جدید آپلود میکنیم پرمیشن مورد نظر رو میدیم و به این شکل اجراش میکنیم :
    ln -s /home/user/public_html/config.php sym.txt/.

    من فکر میکنم شما با بعد از مراحل 1 و 2، با همون ln اصلی میخواستید سیم بزنید که به مشکل خوردید یعنی قبل از آن /. نزدید.
    موفق باشید
     
    [align=center]مشاجره، نادانی انسان را آشکار می کند و چیزی به مطلب حق او نمی افزاید. امام علی (ع)

    همانا ارزشمند ترين بی نيازی عقل، بزرگ ترين فقر بی خردی، ترسناك ترين تنهايی خود پسندی و گرامی ترين ارزش خانوادگی، اخلاق نيكوست. امام علی (ع)[/align]
     

    نظر

    • Coder
      تازه وارد
      • Feb 2014
      • 4

      #3
      RE: سوال: نداشتن پرم برای سیملینک

      ممنون از پاسختون ولی قبل از باز کردن این تاپیک به صورت صحیح و به همان صورت که نوشتید عمل کردم ولی باز هم خطای ذکر شده در پست یک نمایش داده شد.

      نظر

      • AL1R3Z4
        عضو متعهد
        • Jun 2012
        • 138

        #4
        RE: سوال: نداشتن پرم برای سیملینک

        برای بایپس این مشکل ابتدا به کانفیگ مورد نظر سیم زده و فایل config.txt را بسازید :
        ln -s /home/user/public_html/config.php config.txt

        بعد یک فایل htaccess بسازید و کد زیر رو وارد کنید:

        کد:
        RewriteEngine on    
        RewriteRule ^file.config config.txt
        بعد در پوشه ای که این کار ها رو انجام دادید به مسیر زیر بروید :

        site.com/sym/file.config

        مسیر که من نوشتم یک مثال بود هر جا که این کار هارو انجام دادید اخرش file.config رو بزنید و صفحه رو لود کنید

        نظر

        • Coder
          تازه وارد
          • Feb 2014
          • 4

          #5
          RE: سوال: نداشتن پرم برای سیملینک

          مشکل تو همون سیم زدن هست نه خواندن فایل سیم خورده به پست یک مراجعه کنید.

          نظر

          • FTA_Boy
            تازه وارد
            • Jan 2013
            • 11

            #6
            RE: سوال: نداشتن پرم برای سیملینک

            سلام. شما اگه لینوکس داری رو سیستم یا روی VMWare ، میتونی به مسیره اون سایته مورده نظرت سیملینک بزنی بعد فایله سیملینکی که ساخته شد رو سیستمت رو zip یا tar بکنی ، حالا آپلود کنی روی سرور و از حالت فشرده خارجش کنی. حالا سیملینک داری به یوزره اون سایتی که میخوای!! که 99% احتمال میدم بایپس نشه و ارور 403 بگیری. باز بستگی به وب سرورش داره. موفق باشی.
            [hr]
            روش دیگه اینه که سعی کنی تابع (function) های PHP رو غیرفعال کنی یعنی disable functions = none بعد از طریق یه اسکریپت یا eval سیملینک بزنی و .... که اگه وب سرور LiteSpeed باشه فکر کنم راحت Off بشه ...

            نظر

            • Coder
              تازه وارد
              • Feb 2014
              • 4

              #7
              RE: سوال: نداشتن پرم برای سیملینک

              مشکل در سیم زدن هست نه مشکلات خواندن فایل سیم خورده.

              نظر

              • Moji.Rider
                عضو متعهد
                • Jun 2012
                • 299

                #8
                RE: سوال: نداشتن پرم برای سیملینک

                از توابع symlink و readfile هم استفاده کنید.

                کد:
                <?php
                $irh = symlink('/home/user/public_html/config.php');
                echo $irh;
                ?>
                و یا


                کد:
                <?php
                $irh = readfile('/home/user/public_html/config.php');
                echo $irh;
                ?>
                البته این توابع زمانی احتمال نتیجه گرفتن ازشون هست که توسط ادمین سرور disable نشده باشند.
                اگر با php هم نتونستید با perl امتحان کنید با استفاده از تابع symlink
                اگر هم بتونید سرور رو روت کنید که کارتون راحت تر میشه.
                موفق باشید.
                 
                [align=center]مشاجره، نادانی انسان را آشکار می کند و چیزی به مطلب حق او نمی افزاید. امام علی (ع)

                همانا ارزشمند ترين بی نيازی عقل، بزرگ ترين فقر بی خردی، ترسناك ترين تنهايی خود پسندی و گرامی ترين ارزش خانوادگی، اخلاق نيكوست. امام علی (ع)[/align]
                 

                نظر

                • FTA_Boy
                  تازه وارد
                  • Jan 2013
                  • 11

                  #9
                  RE: سوال: نداشتن پرم برای سیملینک

                  دوسته گلم منم راه حله اینکه چطوری سیملینک بزنی رو بهت گفتم. چیزایی که گفتم هیچ ربطی به خوندنش نداشت. روش اولی که گفتم تو سیستم خودتون (لینوکس) یا یک شل از سرور دیگه ، سیملینک رو بسازید فایلش رو فشرده کنید و منتقلش کنید رو این سروری که پرمیشین نداره و از حالت فشرده خارج کنید. کاملا واضحه !
                  همچنین دوستم Moji Rider هم گفتن میتونی با تابع symlink زبان پرل هم تست کنی که میشه سیملینک بسازی یا نه.

                  نظر

                  • AL1R3Z4
                    عضو متعهد
                    • Jun 2012
                    • 138

                    #10
                    RE: سوال: نداشتن پرم برای سیملینک

                    ممنون ازMoji.Rider و FATA_Boy عزیز 
                    ln پرم ندارد پس ما میام خودمون یک ln میسازیم (cd /bin;ls -la)
                    ln,chmod,htaccess
                    این فایل دارای  ln و پرمیشن (chmod.php) برای پرم دادن به ln ویک htaccess هست برای اجرای سیملینک هست این 3 فایل رو اپلود کنید روی سرور

                    و بعد با استفاده از این اسکریپت پرل :
                    perl script


                    در خط اول این اسکریپت که کانفیگ مورد نظر شماست (کانفیگی میخواهید ببینید) خط دوم هم برای مکان ایجاد فایل symlink هست (خط دوم را مانند من اخرش symlink بگذارید)
                    submit رو بزنید و بعد به مسیری که فایل سیملینکو ایجاد کردید برید
                    بدون این اسکریپت هم میتوانید تست بزنید با همان دستور ln -s/. ........
                    site.com/file/file/symlink

                    به احتمال زیاد با این راه بایپس خواهد شد
                    پست قبلیم هم ماله مرحله بعده اگه باز ارور داد

                    موفق باشید

                    نظر

                    در حال کار...