CentOS 6 এ "প্রতীকী লিঙ্কটি অনুমোদিত নয় বা লিঙ্ক লক্ষ্যটি অ্যাক্সেসযোগ্য নয়" / অ্যাপাচি


30

আমি একটি নতুন সেন্টোস 6 ইনস্টলেশন পেয়েছি, যা আমার বিকাশের ফাইলগুলিতে ডকুমেন্টের মূলের একটি সিমিলিংক রয়েছে:

[root@localhost html]# ls -l
total 4
-rwxrwxrwx. 1 root root  0 Sep 18 20:16 index.html
-rwxrwxrwx. 1 root root 17 Sep 18 20:16 index.php
lrwxrwxrwx. 1 root root 24 Sep 18 20:19 refresh-app -> /home/billy/refresh-app/

আমার httpd.conf এ আছে:

<Directory "/">
    Options All
    AllowOverride None
    Order allow,deny
    Allow from all
</directory>

প্রতীকী লিঙ্কের টার্গেটে অনুমতি রয়েছে যা অ্যাপাচি যা কিছু চায় তা পড়তে দেয়:

 [root@localhost billy]# ls -l
total 40 (Some entries were omitted because the list was too long
drwxr-xr-x. 7 billy billy 4096 Sep 18 20:03 refresh-app

SELinux অক্ষম করার চেষ্টাও করেছি /etc/selinux/conf:

SELINUX=disabled

তবুও আমি যাই করি না কেন, যখন কেউ সেই লিঙ্কটিতে যাওয়ার চেষ্টা করে http://localhost/refresh-app/, আমি একটি 403 ফরবিডেন ত্রুটি পৃষ্ঠা পাই এবং এটিতে লিখিত আছে /var/log/httpd/error_log:

Symbolic link not allowed or link target not accessible

কেন আপাচি সিমলিংকের লক্ষ্য অ্যাক্সেস করতে পারে না?


কি ব্যবহারকারী আপাচি চলছে? আপনি কি সেই ব্যবহারকারীরূপে সেই সংস্থানটি পড়তে পারবেন?
ড্রিয়েথ

পাশাপাশি, আপনি অনুমতিপ্রাপ্ত মোডে সেলিনাক্স চালিয়ে যাওয়া এবং তারপরে নিরীক্ষার লগটি পার্স করার জন্য সিলার্ট ব্যবহার করা ভাল - এটি আপনাকে / কেন SELinux এটি অস্বীকার করছে এবং প্রায়শই আপনাকে একটি রেজোলিউশনও দেয় তা দেখতে দেয়।
ড্রিয়েথ

@ ডিরাথ: এটি কীভাবে পরীক্ষা করতে হয় তা আমার কোনও ধারণা নেই।
বিলি ওনিল

@ ডিডিয়াথ: ১. এটি কোনও প্রোডাকশন বাক্স নয়; SELinux বন্ধ আছে কিনা তা আমি চিন্তা করি না। ২. যাইহোক, আমি কেবলমাত্র এই মুহুর্তে সমস্যার সমাধান করছি - মূল কারণটি বের করার পরে আমি সম্ভবত এটি পুনরুদ্ধার করব।
বিলি ওনিল

ভেবে দেখার দরকার নেই যে এটি একটি সাধারণ পর্যবেক্ষণ, প্রথমবার আমি এটি করেছিলাম যে আমি কয়েকদিন ধরে আটকে ছিলাম, সার্ভারসফল্ট / প্রশ্নগুলি / ৩১৩৪৮৫/২ :: এটি ত্রুটিগুলির মধ্যে একটি। : ডি
হোয়ামি

উত্তর:


44

বিষয়টি খুঁজে পেয়েছি। দেখা যাচ্ছে, আপাচি কেবল যে ডিরেক্টরিটি আমি পরিবেশন করছি তা নয় /home/billy/refresh-app/, তার উপরে প্রতিটি ডিরেক্টরি যেমন , এবং /home/billy/, এর অ্যাক্সেস চায় । (আমার কোনও ধারণা নেই কেন ... কাউকে উপ-ডিরেক্টরিতে অ্যাক্সেস দেওয়ার জন্য সেই উপ-ডিরেক্টরিটির উপরে থাকা সমস্ত কিছুর অনুমতি দেওয়ার প্রয়োজন হবে না ....)/home/

আমি অনুমান করব যে এটি অনুসন্ধান করছে .htaccessবা কিছু, বা সম্ভবত * নিক্স এটি ডিরেক্টরি ট্রান্সভার্সালের অনুমতিগুলির সাথে কীভাবে আচরণ করে সে সম্পর্কে আশ্চর্যজনক।


15
অদ্ভুত নয়। এটি কিভাবে এটি কাজ করে। আপনি যে সমস্ত পথ অ্যাক্সেস করার চেষ্টা করছেন তার জন্য আপনার কাছে এক্স থাকতে হবে।
বাহামাত

4
@ বাহাহাত: এতে কোন মানে হয় না। যে ফাইলগুলি কার্যকর করা হয় না তার জন্য কারও জন্য মৃত্যুদণ্ড কার্যকর করার কী প্রয়োজন হবে? (এটি পুরোপুরি ছাড় দিচ্ছে যে /... কারও কাছে কোনও অধিকার দেওয়া উচিত নয় ) এসিএলযুক্ত সিস্টেমে সাধারণত একটি পৃথক ডিরেক্টরি ট্রান্সভার্স বিকল্প থাকে। আপনি ইউনিক্স ডিজাইন করার পরে 30 বছর পরে এবং এসিএল সিস্টেমগুলির বিস্তৃত উপলব্ধতার পরে এসিএল মানক হবেন বলে ভাববেন। : দীর্ঘশ্বাস:
বিলি ওনেল

11
আমি বিশ্বাস করি যে তিনি ডিরেক্টরিতে এক্সকে বোঝাতে চেয়েছিলেন। ব্যবহারকারীর মধ্যে স্যুইচ করার চেষ্টা করুন এবং ডাব্লু / ও + এক্স ডিরেক্টরিতে সিডি-ইনিং করুন। মেমরি থেকে + এক্স আপনাকে অ্যাক্সেস করতে দেয় তবে ডিরেক্টরিটি দেখতে দেয় না, যখন + আর আপনাকে ফাইল

1
@ বিলিওনজিয়েল: "পুরো পথ" এই শব্দবন্ধটি ডিরেক্টরি বোঝায়।
বাহামাত

5
এটি ইউনিক্সে সঠিক আচরণ। আপনি যে প্যারেন্ট ডিরেক্টরিগুলিতে সেগুলির নীচে উপ-ডিরেক্টরিতে পরিবর্তনের চেষ্টা করছেন সেগুলির জন্য প্রযোজ্য সুবিধাগুলি (+ x বা g এর জন্য) চালানো দরকার।
slm

11

আমার একই ধরণের সমস্যা হয়েছিল যেখানে আমার নিম্নলিখিত কনফিগারেশন ছিল যা উবুন্টু 10 এর সাথে কাজ করত, তবে উবুন্টু 14 (অ্যাপাচি ২.৪) এর সাথে কাজ করা বন্ধ করে দিয়েছে:

<Directory /var/www/vhosts/example.com/httpdocs>
    Options +FollowSymLinks
</Directory>

এই সমস্যার সমাধান করাতে স্যুইচ করা (ওয়েব সার্ভার ব্যবহারকারী সরাসরি সিমলিংকে অ্যাক্সেস করতে সক্ষম না হলেও)

<Directory /var/www/vhosts/example.com/httpdocs>
    Options +ExecCGI +FollowSymlinks -SymLinksIfOwnerMatch
</Directory>

আমি তার ঠিক -SymLinksIfOwnerMatchসেটিংসটি কী বলতে পারি এবং অ্যাপাচি ২.৪-এর পরিবর্তনের সাথে কিছু করার আছে তবে সঠিক কারণটি নিয়ে গবেষণার চেষ্টা করি নি।

আমিও ভেবেছিলাম openbase_dirপিএইচপি-তে এটি নিষেধাজ্ঞার নিচে নামতে পারে তবে এটি ছিল না।


6

আপনি যদি কোনও এনক্রিপ্ট করা ফোল্ডারে লিঙ্ক করে থাকেন তবে এই ত্রুটিও ঘটতে পারে।


4

এটি প্রদর্শিত হয় "ফলোসিমলিংকস" হ'ল বিকল্পটি আপনার প্রয়োজন httpd.conf এ। এটা তোলে বিস্তারিত হয় এখানে । দেখে মনে হচ্ছে আপনার hdococs এও একটি নিয়মের দরকার হতে পারে ... তবে এটি আপনার প্রয়োজন বিকল্প।


3
দেখুন Options All- FollowSymLinksইতিমধ্যে নির্দিষ্ট করা আছে।
বিলি ওনিল

2

আপনি সেলিনাক্স প্রয়োগ করেছেন কি না তাও পরীক্ষা করতে চাইতে পারেন। রেডহ্যাট / ফেডোরায়, এটি সম্পাদন করুন:

getenforce

প্রতিক্রিয়া যদি 'এনফোর্সিং' হয় তবে আপনি কার্যকর করতে চাইতে পারেন

setenforce 0

এবং আপনার ব্রাউজারে আবার url চেষ্টা করুন।

মনে রাখবেন যে আমি বলছি না যে এই সমস্যাটি সমাধান করার জন্য সেলিনাক্স অক্ষম করা সর্বোত্তম উপায়, তবে এটি কারণটি সনাক্ত করতে সহায়তা করতে পারে।


এই সিম লিঙ্ক সমস্যা ঠিক করেছে কিন্তু কোন নেতিবাচক প্রভাব আছে?
digz6666

2
Options +FollowSymLinks

এটি দিয়ে আমার জন্য কৌতুকটি তৈরি করে একটি .htaccess ফাইল তৈরি করুন (এটি সিমলিংকের আগে একটি ডিয়ারে রেখে দিন)।


আমার ক্ষেত্রে, আমি /var/wwwঅন্য মধ্যবর্তী প্রতীকী লিঙ্কে একটি প্রতীকী লিঙ্ক তৈরি করছিলাম । যদি আপনাকে অবশ্যই প্রতীকী লিঙ্কগুলি ব্যবহার করা হয় তবে এটিকে সরাসরি আপনার গন্তব্যে প্রতীকী লিঙ্ক তৈরি করুন।
শ্রীধর সারনোবাত

0

যা সমস্ত সমস্যার অনুমতি দেওয়ার পরে আমার সমস্যার সমাধান করে এবং ফায়লসিলিমিংকটিকে অনুমতি দেয় "ফলোসিমলিংকের ক্ষেত্রে বিশেষত এটি .conf ফাইলের মধ্যে ডিরেক্টরি কাঠামোর ভিতরে থাকা আবশ্যক। অ্যাপাচি বর্তমান ম্যানুয়াল থেকে

ফলোসিমলিংকস এবং সিমলিংকস আইফওউনারম্যাচ বিকল্পগুলি কেবল বিভাগ বা .htaccess ফাইলগুলিতে কাজ করে।

এখান থেকে উত্তর


0

আমার সমাধানটি হ'ল নামের সমস্ত সংগ্রহস্থলের জন্য একটি ভাগ করা ফোল্ডার তৈরি করা /home/repo

তারপরে আমার নিজের বাড়ি থেকে সিমলিংক করুন: ln -s /home/repo ~/Code সুতরাং ~/Code/www.xxxx.com/public নির্দেশ করুন /home/repo/www.xxxx.com/public

এবং অ্যাপাচি ওয়েব রুট /var/www/html পয়েন্টগুলিতে একটি লিঙ্ক /home/repo/www.xxxx.com/public

এটি এখানে খুঁজে পেয়েছে: https://github.com/alghanmi/ubuntu-desktop_setup/wiki/Git-Local-Repository-Setup-Guide

কিছু সিমলিংক + ব্যবহারকারী গোষ্ঠীগুলির এক্রোব্যাসির সাহায্যে আপনার একাধিক ব্যবহারকারী / সংস্করণ স্থাপন করা যেতে পারে।


0

@ বিলে ওনিল @ ফ্লিয়ন আমি লাইনে উত্তর দিতে পারিনি (কম রেপ গণনা)
এখানে আমাকে করণীয় ছিল:
( দ্রষ্টব্য: ওরফে ll = 'ls $ LS_OPTIONS -lh')

root@Bellach:/var/www/html# ll lego
lrwxrwxrwx 1 root root 43 Sep 10 21:21 lego -> /home/DATA/Documents/Chris/Synced/web/lego/

এখন সোর্স লিঙ্কে প্রতিটি ডিরেক্টরি দেখুন

root@Bellach:/var/www/html# ll -d /home/DATA/Documents/Chris/Synced/web/
drwxr-xr-x 9 chris chris 4.0K Sep 12  2017 /home/DATA/Documents/Chris/Synced/web/
root@Bellach:/var/www/html# ll -d /home/DATA/Documents/Chris/Synced/
drwxr-xr-x 20 chris chris 4.0K Mar 27 18:52 /home/DATA/Documents/Chris/Synced/
root@Bellach:/var/www/html# ll -d /home/DATA/Documents/Chris/
drwxr-xr-x 36 chris chris 4.0K Jun 17 23:31 /home/DATA/Documents/Chris/
root@Bellach:/var/www/html# ll -d /home/DATA/Documents/
drwxr-xr-x 21 chris chris 4.0K Aug  7 18:22 /home/DATA/Documents/
root@Bellach:/var/www/html# ll -d /home/DATA/
drwxrwxr-- 10 root users 4.0K Sep 10 11:17 /home/DATA/
root@Bellach:/var/www/html# ll -d /home/
drwxr-xr-x 5 root root 4.0K Sep 10 10:37 /home/

/ হোম / ডেটা ডিরেক্টরিটি অপরাধী।
এটি দিয়ে এটি ঠিক করুন:

root@Bellach:/var/www/html# chmod +x /home/DATA/
root@Bellach:/var/www/html# ll -d /home/DATA/
drwxrwxr-x 10 root users 4.0K Sep 10 11:17 /home/DATA/

ফিক্সটি তাত্ক্ষণিক - অ্যাপাচি পুনরায় চালু করার দরকার নেই।


-1

আপনি নিজের সেলইনাক্স সেটিংসও সামঞ্জস্য করতে পারেন এবং সেটেনফোর্স আপনার পথে নাও থাকতে পারে। সুতরাং এটি চেষ্টা করুন:

sudo /usr/sbin/setenforce 0

এবং এটি পুনরায় বুটের মধ্যে স্থির রাখতে

sudo vi /etc/sysconfig/selinux
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.