묻고답하기
계정 홈에 제로보드xe설치할 때 퍼미션 불가능
2009.02.09 23:31
페도라 9 에 제로보드xe 설치했습니다.
1. useradd -d /home/aaa aaa
2. passwd aaa
3. chmod 707 aaa /home/aaa
4. chown aaa /home/aaa
5. chgrp aaa /home/aaa
6. ftp로 XE 업로드(저는 rz 명령으로 업로드했습니다)
7. tar xvfz xe.full.1.1.5.tgz
8. chmod 707 xe
1번,2번,3번,4번,5번은 root 계정으로
6번,7번,8번은 aaa 계정으로
작업을 했습니다.
http://211.182.247.250/xe ---- /var/www/html에 설치(root 계정)
http://211.182.247.250/~aaa/xe ---- /home/aaa/public_html에 설치(aaa 계정)
root 계정에 설치된 것은 제대로 작동되지만
aaa 계정은 설치 중에 퍼미션 불가능 에러가 뜹니다.
여기저기 검색해봐도 해당되는 내용이 없습니다.
포맷하고 다시 설치하는 것도 그렇고.... ㅡ.ㅡ;
도움바랍니다..
댓글 16
-
지연아빠
2009.02.09 23:47
http://211.182.247.250/~aaa/xe 폴더 안에 있는 files폴더도 퍼미션을 707로 해주세요... -
youdw
2009.02.10 00:11
xe 폴더 안에는
addons, classes, common, config, index.php, layouts, libs, modules, widgets 만 있고
files 폴더는 없습니다.
files 폴더를 만들어야 하나요?? -
지연아빠
2009.02.10 00:15
폴더(files)를 생성하신후 권한을 주시기 바랍니다.
만일 동일증상이 발생하면 다시 댓글 남겨주세요... -
youdw
2009.02.10 00:37
답해주셔서 감사합니다..
files 폴더를 만들어서 707 권한 부여해도
같은 결과입니다.. -
youdw
2009.02.10 00:40
211.182.247.250
아이디 : aaa
비번 : 1 -
지연아빠
2009.02.10 00:44
윽..비밀글은 제가 볼수 있는 권한이 없습니다.....^^
http://211.182.247.250/~aaa/xe 에 접근할때 나오는 메시지는 분명히 권한 설정 부분의 문제인데요...
말씀하신대로 707 퍼미션이 안된다면 755로 변경해보세요.....
chmod 755 xe -
비나무
2009.02.10 01:00
분명히 폴더의 퍼미션 문제인데요...
혹시, 해당 폴더의 소유권이 누구에게 있는지 확인하세요.
그리고 퍼미션 확인...
소유권이나 퍼미션을 지정할 때 오타를 내고도 제대로 값을 입력했다고 생각하는 경우도 있습니다. ^^;;;
정확하게 변경되었는지 확인해 보세요. -
youdw
2009.02.10 01:14
조언해 주신 분들 모두 ... 정말 감사합니다.
님들이 말씀해주신대로
해봤습니다.
/home/aaa/public_html/xe
/home/aaa/public_html/xe/files
두 폴더의 소유권은 aaa 으로 하고.. 퍼미션을 777로 해봐도 안됩니다... ㅡㅡ;
-----------------------------
211.182.247.250
아이디 : aaa
비번 : 1
-------------------------------- -
비나무
2009.02.10 01:52
쩝...
서버의 '/etc/httpd/conf/httpd.conf' 파일을 에디터(주로 리눅스에선 vi나 vim을 이용하죠?)로 373라인 근처의 아래 부분의 주석처리를 제거하신 후 아파치를 재가동하세요...
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory> -
비나무
2009.02.10 01:58
주석처리를 제거하라는 의미는 아시겠죠?
저 부분을 삭제하는 것이 아닌 '#'만 지우는 겁니다.. ^^ -
백성찬
2009.02.10 01:52
502가 누구죠?
aaa로 되어야 하는데 -
비나무
2009.02.10 01:58
502 = aaa ^^;;; -
비나무
2009.02.10 02:26
질문자분께서는 숙제만 남겨두시고 주무시는 듯...
주석처리된 부분 처리를 아직 안 하시는 걸 보니... 허~ -
youdw
2009.02.10 08:23
지연아빠님, 비나무님
정말 감사합니다..
아기보러 갔다가.. 같이 잠들었습니다...죄송..
httpd.conf 파일의 373-384 라인 부분의 주석을 제거한후
# service httpd restart 해봐도
퍼미션 불가능이라고 뜹니다.
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
고맙습니다.
제가 좀 더 찾아보겠습니다.. -
youdw
2009.02.10 10:22
setroubleshoot 브라우저에서 확인해보니
http://211.182.247.250/~aaa/xe
에 접속할때마다
"SELinux는 http 파일로 httpd reading and writing 액세스하지 못하게 합니다."
라는 메세지가 뜹니다.
그 아래에 확인을 해보니
Fix Command
setsebool -P httpd_unified=1
이라고 되어있습니다.
# setsebool -P httpd_unified=1 이라고 실행하면
Selinux Administration 창에서 확인을 하보니
V apache unify HTTPD handling of all content files. httpd_unified
가 실행되고 있었습니다.
제 생각으로는...
Selinux 에서 시작된 문제인듯한데..
Fix Command 에서의 설명대로 해봐도 되지 않고..
ㅡㅡ;
-------------------------------------------------------------------------------------------------------
요약:
SELinux는 http 파일로 httpd reading and writing 액세스하지 못하게
합니다.
상세 설명:
SELinux prevented httpd reading and writing access to http files. Ordinarily
httpd is allowed full access to all files labeled with http file context. This
machine has a tightened security policy with the httpd_unified turned off, this
requires explicit labeling of all files. If a file is a cgi script it needs to
be labeled with httpd_TYPE_script_exec_t in order to be executed. If it is
read-only content, it needs to be labeled httpd_TYPE_content_t, it is writable
content. it needs to be labeled httpd_TYPE_script_rw_t or
httpd_TYPE_script_ra_t. You can use the chcon command to change these contexts.
Please refer to the man page "man httpd_selinux" or FAQ
(http://fedora.redhat.com/docs/selinux-apache-fc3) "TYPE" refers to one of
"sys", "user" or "staff" or potentially other script types.
액세스 허용:
"httpd_unified" 부울을 true로 변경하는 것은 이러한 액세스를
허용합니다: "setsebool -P httpd_unified=1"
Fix Command:
setsebool -P httpd_unified=1
자세한 정보:
소스 문맥 system_u:system_r:httpd_t:s0
대상 문맥 unconfined_u:object_r:httpd_user_content_t:s0
대상 객체 ./files [ dir ]
Source httpd
Source Path /usr/sbin/httpd
Port <알려지지 않음>
Host youdw
Source RPM Packages httpd-2.2.9-1.fc9
Target RPM Packages
정책 RPM selinux-policy-3.3.1-95.fc9
Selinux 활성화 True
정책 유형 targeted
MLS 활성화 True
강제 모드 Enforcing
플러그인명 httpd_unified
호스트명 youdw
플랫폼 Linux youdw 2.6.26.5-45.fc9.i686 #1 SMP Sat Sep 20
03:45:00 EDT 2008 i686 i686
통지 카운트 700
First Seen 2009년 02월 10일 (화) 오전 12시 42분 32초
Last Seen 2009년 02월 10일 (화) 오전 11시 08분 09초
Local ID 05b91924-9751-4ef3-9efe-a45072f50aeb
줄 번호
원 감사 메세지
host=youdw type=AVC msg=audit(1234231689.783:1412): avc: denied { write } for pid=2347 comm="httpd" name="files" dev=sda8 ino=13508886 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:httpd_user_content_t:s0 tclass=dir
host=youdw type=SYSCALL msg=audit(1234231689.783:1412): arch=40000003 syscall=39 success=no exit=-13 a0=b9881610 a1=1ed a2=10c7a78 a3=b9881610 items=0 ppid=2317 pid=2347 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="httpd" exe="/usr/sbin/httpd" subj=system_u:system_r:httpd_t:s0 key=(null)
--------------------------------------------------------------------------------------------------------------- -
youdw
2009.02.12 23:14
SELinux 에서 문제가 있었던 거 같습니다.
setenforce 0
상태에서는 설치가 진행이 됩니다.
그런데 SELinux 활성화 상태에서는 왜 불가능했었는지는 .... 모르겠습니다..
좀 더 찾아봐야겠습니다.