Home Operation and Maintenance Linux Operation and Maintenance Sample code sharing about assigning permissions to the website directory under Linux

Sample code sharing about assigning permissions to the website directory under Linux

Jun 18, 2017 am 09:09 AM

It is very important to assign permissions to directories when building a website, and it is also something that programmers who build a website must know. The following article mainly summarizes for you linux Friends who need it can refer to the experience and skills of assigning permissions to the website directory. Let’s take a look below.

Preface

On the InternetSearchThe website folder permission configuration is generally: Folder permissions minimum permission 755 Minimum file permissions 644

It is easy to understand that files are readable, writable and executable, but the permissions of folders need to be carefully sorted out. Here are some of my experiences to share with everyone. If you need them, take a look. Detailed introduction:

Preliminary work

First create a folder test

mkdir test
Copy after login

in this directory Create a 1.txt file and write 111

cat > 1.txt
111
Copy after login

NowExitAnalyze and change the directory permissions one by one

Do not use the root user to create files folder, because the file permission configuration is invalid for the root user

The executable permissions of the directory

chmod 111 test
Copy after login

After testing, only cd testEnter the directory, but can neither ls list the directory nor touch 2.txt a new file, but cat 1.txt can still be read to the content

So we summarize

The executable permissions of the directory are that the user can enter or switch to the directory, but cannot list the directory and create new files. The original file can be read The permissions belonging to the file are set to readable

The permissions for the directory are writable

chmod 222 test
Copy after login

The most intuitive change is that the color of the directory becomes darker ( ps, the file will also become darker when executable permission is given)

You can try some of our common commands

ls test
cd test
cat test/1.txt
touch test/2.txt
Copy after login

The result is that nothing can be done

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
Copy after login

Now we are here Add executable permissions to the changed directory

chmod 333 test
Copy after login

and found that except that the directory cannot be listed normally with ls, the rest cd touch cat can be executed, so we draw the conclusion

linux If you want to create a file in a folder, you must have writable and executable permissions, that is, the permission size is 333. If you only give write permissions, nothing can be done

Readable permissions for the directory

chmod 444 test
Copy after login
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
Copy after login

Summary: The directory has readable permissions to list directories

The website only has readable permissions and can only list directories. Other cd cat cannot be executed, so what is the permission if the website is set to 555?

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
Copy after login

You can see that except the touch command that cannot create new files, other commands can still be executed

At this point, it is easy to deduce that the folder with 666 permissions is readable and writable but has no execution permissions. It is impossible to enter the directory, but with readability and writability, the basic permissions are also available. 777 permissions are the maximum permissions of the folder. Permissions

Looking back and analyzing the first sentence of the article, the minimum permissions of the folder when building the website are 755, and the minimum permissions of the files are 644

There is a user permission allocation problem here

When chmod modifies permissions, each file or directory has three groups of access permissions. Each group is represented by three digits, which are the read, write and execute permissions of the file owner; the read and write permissions of users in the same group as the owner. and execution permissions; the read, write and execution permissions of other users in the system

Folder permissions 7 and file permissions 6 are assigned to Linux management users. Apache defaults to www ordinary users for users who access the website. Therefore, the file permissions are 755, which means that ordinary users can only have the permission to view and browse the website, but do not have the permission to create files or upload files. Generally, if you need a special folder such as upload or tmp folder to store some For temporary files, you need to set the folder permission to 777 and the file permission to 644, which means you can only view but not modify it

Summary

The above is the detailed content of Sample code sharing about assigning permissions to the website directory under Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to solve permission issues when using python --version command in Linux terminal? How to solve permission issues when using python --version command in Linux terminal? Apr 02, 2025 am 06:36 AM

Using python in Linux terminal...

Four ways to implement multithreading in C language Four ways to implement multithreading in C language Apr 03, 2025 pm 03:00 PM

Multithreading in the language can greatly improve program efficiency. There are four main ways to implement multithreading in C language: Create independent processes: Create multiple independently running processes, each process has its own memory space. Pseudo-multithreading: Create multiple execution streams in a process that share the same memory space and execute alternately. Multi-threaded library: Use multi-threaded libraries such as pthreads to create and manage threads, providing rich thread operation functions. Coroutine: A lightweight multi-threaded implementation that divides tasks into small subtasks and executes them in turn.

How to open web.xml How to open web.xml Apr 03, 2025 am 06:51 AM

To open a web.xml file, you can use the following methods: Use a text editor (such as Notepad or TextEdit) to edit commands using an integrated development environment (such as Eclipse or NetBeans) (Windows: notepad web.xml; Mac/Linux: open -a TextEdit web.xml)

Can the Python interpreter be deleted in Linux system? Can the Python interpreter be deleted in Linux system? Apr 02, 2025 am 07:00 AM

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

What is the Linux best used for? What is the Linux best used for? Apr 03, 2025 am 12:11 AM

Linux is best used as server management, embedded systems and desktop environments. 1) In server management, Linux is used to host websites, databases, and applications, providing stability and reliability. 2) In embedded systems, Linux is widely used in smart home and automotive electronic systems because of its flexibility and stability. 3) In the desktop environment, Linux provides rich applications and efficient performance.

How is Debian Hadoop compatibility How is Debian Hadoop compatibility Apr 02, 2025 am 08:42 AM

DebianLinux is known for its stability and security and is widely used in server, development and desktop environments. While there is currently a lack of official instructions on direct compatibility with Debian and Hadoop, this article will guide you on how to deploy Hadoop on your Debian system. Debian system requirements: Before starting Hadoop configuration, please make sure that your Debian system meets the minimum operating requirements of Hadoop, which includes installing the necessary Java Runtime Environment (JRE) and Hadoop packages. Hadoop deployment steps: Download and unzip Hadoop: Download the Hadoop version you need from the official ApacheHadoop website and solve it

Is Debian Strings compatible with multiple browsers Is Debian Strings compatible with multiple browsers Apr 02, 2025 am 08:30 AM

"DebianStrings" is not a standard term, and its specific meaning is still unclear. This article cannot directly comment on its browser compatibility. However, if "DebianStrings" refers to a web application running on a Debian system, its browser compatibility depends on the technical architecture of the application itself. Most modern web applications are committed to cross-browser compatibility. This relies on following web standards and using well-compatible front-end technologies (such as HTML, CSS, JavaScript) and back-end technologies (such as PHP, Python, Node.js, etc.). To ensure that the application is compatible with multiple browsers, developers often need to conduct cross-browser testing and use responsiveness

Do I need to install an Oracle client when connecting to an Oracle database using Go? Do I need to install an Oracle client when connecting to an Oracle database using Go? Apr 02, 2025 pm 03:48 PM

Do I need to install an Oracle client when connecting to an Oracle database using Go? When developing in Go, connecting to Oracle databases is a common requirement...

See all articles