운영 및 유지보수 리눅스 운영 및 유지 관리 Linux에서 웹사이트 디렉터리에 권한을 할당하는 방법에 대한 샘플 코드 공유

Linux에서 웹사이트 디렉터리에 권한을 할당하는 방법에 대한 샘플 코드 공유

Jun 18, 2017 am 09:09 AM

웹사이트를 구축할 때 디렉터리에 권한을 할당하는 것은 매우 중요하며, 웹사이트를 구축하는 프로그래머가 꼭 알아야 할 사항이기도 합니다. 다음 글에서는 에 따라 웹사이트를 구축할 때 디렉터리에 권한을 할당하는 경험과 기술을 주로 요약합니다. linux 필수입니다. 친구가 참고할 수 있으니 아래를 살펴보겠습니다.

머리말

인터넷 검색웹 사이트 폴더 권한 구성은 일반적으로 다음과 같습니다. 폴더 권한 최소 권한 755 파일 최소 권한 644

읽기, 쓰기 및 실행 가능한 파일은 이해하기 쉽지만 파일 폴더 권한은 다음은 제 경험 중 일부입니다. 필요하신 경우 자세한 소개를 살펴보세요.

사전 작업

먼저 폴더 만들기 테스트

mkdir test
로그인 후 복사

이 디렉터리에 1.txt 파일을 생성하고 111

cat > 1.txt
111
로그인 후 복사

Now

Exit을 작성합니다. 디렉터리 권한을 하나씩 분석하고 변경합니다.

파일 권한 구성이 잘못되었으므로 루트 사용자를 사용하여 폴더를 생성하지 마십시오. 루트 사용자의 경우

디렉토리의 실행 권한

chmod 111 test
로그인 후 복사

테스트 후 현재는 cd test 디렉토리에 들어갈 수 있지만 ls 나열은 불가능합니다. 디렉토리도 아니고 2.txt를 터치해도 새 파일이 있지만 cat 1.txt는 여전히 내용을 읽을 수 있습니다

cd test进入目录,但既无法ls列目录,也无法touch 2.txt一个新的文件,但cat 1.txt还是可以读取到内容的

于是我们总结

目录的可执行权限是用户可以进入或者说切换到该目录下,但无法列目录和创建新文件,能读取原来文件是属于文件的权限设置为可读

目录的可写权限

chmod 222 test
로그인 후 복사

最直观的变化是该目录颜色变深了( ps,文件赋予可执行权限时也会颜色变深)

可以尝试一些我们常见的命令

ls test
cd test
cat test/1.txt
touch test/2.txt
로그인 후 복사

结果是什么都不能做

ubuntu@VM-8-81-ubuntu:~$ ls test
ls: cannot open directory test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cd test
bash: cd: test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt
cat: test/1.txt: Permission denied
ubuntu@VM-8-81-ubuntu:~$ touch test/2.txt
touch: cannot touch ‘test/2.txt': Permission denied
로그인 후 복사

现在我们在给改目录加上可执行权限

chmod 333 test
로그인 후 복사

发现,除了不能正常ls列目录外,其余cd touch cat그래서 우리는 디렉토리의 실행 권한이 다음과 같다고 결론을 내립니다

사용자는 디렉터리에 들어가거나 전환할 수 있지만 디렉터리를 나열하거나 새 파일을 만들 수는 없습니다. 파일 권한이 읽기 가능으로 설정되어 있기 때문에 원본 파일을 읽을 수 있습니다

디렉토리에 대한 쓰기 권한

chmod 444 test
로그인 후 복사

가장 직관적인 변화는 디렉토리의 색상이 더 어두워졌다는 것입니다. (ps, 파일에 실행 권한이 부여되면 색상이 더 어두워질 것입니다.)우리의 일반적인 명령 중 일부를 시도해 볼 수 있습니다

ubuntu@VM-8-81-ubuntu:~$ ls test
ls: cannot access test/1.txt: Permission denied
ls: cannot access test/2.txt: Permission denied
1.txt 2.txt
ubuntu@VM-8-81-ubuntu:~$ cd test
bash: cd: test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt
cat: test/1.txt: Permission denied
로그인 후 복사
결과는 아무것도 불가능하다는 것입니다. done

ubuntu@VM-8-81-ubuntu:~$ chmod 555 test
ubuntu@VM-8-81-ubuntu:~$ cd test/
ubuntu@VM-8-81-ubuntu:~/test$ ls
1.txt 2.txt
ubuntu@VM-8-81-ubuntu:~/test$ touch 3,txt
touch: cannot touch ‘3,txt': Permission denied
로그인 후 복사

이제 변경된 디렉터리에 실행 권한을 추가합니다

rrreee

ls로 해당 디렉터리를 정상적으로 나열할 수 없는 것을 제외하고 나머지 cd touch cat은 실행할 수 있는 것으로 확인되었으므로 Linux 폴더에 파일을 생성하려면 쓰기 및 실행 권한, 즉 권한이 있어야 한다고 결론을 내릴 수 있습니다. 크기는 333입니다. 쓰기 권한만 주면 아무것도 할 수 없습니다

읽기 가능. 디렉토리에 대한 권한

rrreeerrreee

요약: 디렉토리에 대한 읽기 권한은 디렉토리를 나열할 수 있습니다.

웹사이트에는 읽기 가능한 권한만 있습니다. 디렉토리는 나열할 수 있지만 다른 CD Cat은 실행할 수 없습니다. 555 웹사이트가 설정되어 있으면 rrreee 새 파일을 생성할 수 없는 touch 명령을 제외하고는 다른 명령은 계속 실행되는 것을 볼 수 있습니다 이쯤 되면 당연히 666 권한이 있는 폴더는 읽기가 가능하다고 유추하기 쉽습니다. 쓰기는 가능하지만 실행권한은 없지만 디렉토리 진입은 불가능하지만 가독성과 쓰기권한으로 기본권한도 가능합니다

🎜 의 첫문장을 다시 보시면서 분석해 보세요. 기사에 따르면, 웹 사이트 구축 시 폴더의 최소 권한은 755, 파일의 최소 권한은 644입니다🎜🎜사용자 권한 할당 문제가 있습니다🎜🎜chmod가 권한을 변경하면 각 파일이나 디렉터리의 접근 권한이 틀리네요. 세 개의 그룹이 있으며, 각 그룹은 파일 소유자의 읽기, 쓰기 및 실행 권한을 나타내는 세 자리 숫자로 표시됩니다. 이는 소유자와 동일한 그룹에 있는 사용자의 읽기, 쓰기 및 실행 권한입니다. 🎜Folder 권한 7과 파일 권한 6은 Linux 관리 사용자에게 할당됩니다. Apache는 웹 사이트에 액세스할 때 기본적으로 www 일반 사용자로 설정되므로 파일 권한 755는 일반 사용자가 웹 사이트를 보고 탐색할 수만 있음을 의미합니다. 파일 생성 또는 파일 🎜업로드🎜 권한 일반적으로 일부 임시 파일을 저장하기 위해 업로드 또는 tmp 폴더와 같은 특수 폴더가 필요한 경우 폴더 권한을 777로 설정하고 파일 권한을 644로 설정해야 합니다. 볼 수만 있고 수정할 수는 없습니다🎜🎜🎜 🎜요약🎜🎜🎜

위 내용은 Linux에서 웹사이트 디렉터리에 권한을 할당하는 방법에 대한 샘플 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MySQL에 루트로 로그인 할 수 없습니다 MySQL에 루트로 로그인 할 수 없습니다 Apr 08, 2025 pm 04:54 PM

Root로 MySQL에 로그인 할 수없는 주된 이유는 권한 문제, 구성 파일 오류, 암호 일관성이 없음, 소켓 파일 문제 또는 방화벽 차단입니다. 솔루션에는 다음이 포함됩니다. 구성 파일의 BAND-ADDRESS 매개 변수가 올바르게 구성되어 있는지 확인하십시오. 루트 사용자 권한이 수정 또는 삭제되어 재설정되었는지 확인하십시오. 케이스 및 특수 문자를 포함하여 비밀번호가 정확한지 확인하십시오. 소켓 파일 권한 설정 및 경로를 확인하십시오. 방화벽이 MySQL 서버에 연결되는지 확인하십시오.

C 언어 조건부 편집 : 초보자가 실제 응용 프로그램에 대한 자세한 안내서 C 언어 조건부 편집 : 초보자가 실제 응용 프로그램에 대한 자세한 안내서 Apr 04, 2025 am 10:48 AM

C 언어 조건부 컴파일은 컴파일 시간 조건을 기반으로 코드 블록을 선택적으로 컴파일하는 메커니즘입니다. 입문 방법에는 다음이 포함됩니다. #IF 및 #ELSE 지시문을 사용하여 조건에 따라 코드 블록을 선택합니다. 일반적으로 사용되는 조건부 표현에는 STDC, _WIN32 및 LINUX가 포함됩니다. 실제 사례 : 운영 체제에 따라 다른 메시지를 인쇄합니다. 시스템의 숫자 수에 따라 다른 데이터 유형을 사용하십시오. 컴파일러에 따라 다른 헤더 파일이 지원됩니다. 조건부 컴파일은 코드의 휴대 성과 유연성을 향상시켜 컴파일러, 운영 체제 및 CPU 아키텍처 변경에 적응할 수 있도록합니다.

Linux의 5 가지 기본 구성 요소는 무엇입니까? Linux의 5 가지 기본 구성 요소는 무엇입니까? Apr 06, 2025 am 12:05 AM

Linux의 5 가지 기본 구성 요소는 다음과 같습니다. 1. 커널, 하드웨어 리소스 관리; 2. 기능과 서비스를 제공하는 시스템 라이브러리; 3. 쉘, 사용자가 시스템과 상호 작용할 수있는 인터페이스; 4. 파일 시스템, 데이터 저장 및 구성; 5. 시스템 리소스를 사용하여 기능을 구현합니다.

MySQL을 해결하는 방법을 시작할 수 없습니다 MySQL을 해결하는 방법을 시작할 수 없습니다 Apr 08, 2025 pm 02:21 PM

MySQL 시작이 실패하는 데는 여러 가지 이유가 있으며 오류 로그를 확인하여 진단 할 수 있습니다. 일반적인 원인에는 포트 충돌 (포트 점유 체크 및 구성 수정), 권한 문제 (서비스 실행 사용자 권한 실행), 구성 파일 오류 (파라미터 설정 확인), 데이터 디렉토리 손상 (데이터 복원 또는 테이블 공간 재건), IBDATA 테이블 공간 문제 (IBDATA1 파일 확인), 플러그로드 (확인 오류 로그)가 포함됩니다. 문제를 해결할 때 오류 로그를 기반으로 문제를 분석하고 문제의 근본 원인을 찾고 문제를 방지하고 해결하기 위해 정기적으로 데이터를 백업하는 습관을 개발해야합니다.

MySQL은 Android에서 실행할 수 있습니다 MySQL은 Android에서 실행할 수 있습니다 Apr 08, 2025 pm 05:03 PM

MySQL은 Android에서 직접 실행할 수는 없지만 다음 방법을 사용하여 간접적으로 구현할 수 있습니다. Android 시스템에 구축 된 Lightweight Database SQLite를 사용하여 별도의 서버가 필요하지 않으며 모바일 장치 애플리케이션에 매우 적합한 작은 리소스 사용량이 있습니다. MySQL 서버에 원격으로 연결하고 데이터 읽기 및 쓰기를 위해 네트워크를 통해 원격 서버의 MySQL 데이터베이스에 연결하지만 강력한 네트워크 종속성, 보안 문제 및 서버 비용과 같은 단점이 있습니다.

특정 시스템 버전에서 MySQL이보고 한 오류에 대한 솔루션 특정 시스템 버전에서 MySQL이보고 한 오류에 대한 솔루션 Apr 08, 2025 am 11:54 AM

MySQL 설치 오류에 대한 솔루션은 다음과 같습니다. 1. MySQL 종속성 라이브러리 요구 사항이 충족되도록 시스템 환경을주의 깊게 확인하십시오. 다른 운영 체제 및 버전 요구 사항이 다릅니다. 2. 오류 메시지를주의 깊게 읽고 프롬프트 (예 : 라이브러리 파일 누락 또는 부족한 권한)에 따라 종속성 설치 또는 Sudo 명령 사용과 같은 해당 조치를 취합니다. 3. 필요한 경우 소스 코드를 설치하고 컴파일 로그를주의 깊게 확인하십시오. 그러나 일정량의 Linux 지식과 경험이 필요합니다. 궁극적으로 문제를 해결하는 핵심은 시스템 환경 및 오류 정보를 신중하게 확인하고 공식 문서를 참조하는 것입니다.

다운로드 후 MySQL을 설치할 수 없습니다 다운로드 후 MySQL을 설치할 수 없습니다 Apr 08, 2025 am 11:24 AM

MySQL 설치 실패의 주된 이유는 다음과 같습니다. 1. 권한 문제, 관리자로 실행하거나 Sudo 명령을 사용해야합니다. 2. 종속성이 누락되었으며 관련 개발 패키지를 설치해야합니다. 3. 포트 충돌, 포트 3306을 차지하는 프로그램을 닫거나 구성 파일을 수정해야합니다. 4. 설치 패키지가 손상되어 무결성을 다운로드하여 확인해야합니다. 5. 환경 변수가 잘못 구성되었으며 운영 체제에 따라 환경 변수를 올바르게 구성해야합니다. 이러한 문제를 해결하고 각 단계를 신중하게 확인하여 MySQL을 성공적으로 설치하십시오.

MySQL을 설치할 때 누락 된 종속성 문제를 해결하는 방법 MySQL을 설치할 때 누락 된 종속성 문제를 해결하는 방법 Apr 08, 2025 pm 12:00 PM

MySQL 설치 실패는 일반적으로 종속성 부족으로 인해 발생합니다. 솔루션 : 1. 시스템 패키지 관리자 (예 : Linux Apt, YUM 또는 DNF, Windows VisualC 재분배 가능)를 사용하여 Sudoaptinstalllibmysqlclient-dev와 같은 누락 된 종속성 라이브러리를 설치하십시오. 2. 오류 정보를주의 깊게 확인하고 복잡한 종속성을 하나씩 해결하십시오. 3. 패키지 관리자 소스가 올바르게 구성되어 네트워크에 액세스 할 수 있는지 확인하십시오. 4. Windows의 경우 필요한 런타임 라이브러리를 다운로드하여 설치하십시오. 공식 문서를 읽고 검색 엔진을 잘 활용하는 습관을 개발하면 문제를 효과적으로 해결할 수 있습니다.

See all articles