SecurityFTPFile ManagementTutorials Article 8 min read
On this page0

FTP File Permissions Explained: CHMOD, 644, 755 and 777

If you manage website files through FTP or SFTP, you will eventually encounter permission values such as 644, 755 and 777. These numbers determine who can read, modify or execute files and directories on many Unix-like web servers.

File permissions can look complicated at first, but the numbering system is quite logical once you understand what each digit represents.

This guide explains how CHMOD permissions work, why files and directories often use different values, and why changing everything to 777 is usually a bad solution to a permission problem.

What Is CHMOD?

CHMOD means “change mode.” It is the operation used on Unix-like systems to change the permission mode of a file or directory.

You may encounter CHMOD through:

  • An FTP or SFTP client
  • A hosting control panel
  • An SSH terminal
  • A server administration tool
  • A browser-based file manager

Regardless of the interface, values such as 644 and 755 describe combinations of three basic permissions: read, write and execute.

The Three Basic Permissions

Unix-style permissions use three capabilities:

Permission Letter Numeric Value Meaning Read r 4 Allows the content to be read Write w 2 Allows modification Execute x 1 Allows execution or directory traversal

The numeric values are added together to represent a combination of permissions.

For example:

  • 4 = read
  • 2 = write
  • 1 = execute
  • 6 = read + write (4 + 2)
  • 5 = read + execute (4 + 1)
  • 7 = read + write + execute (4 + 2 + 1)

This is where permission numbers such as 644, 755 and 777 come from.

What Do the Three Digits Mean?

Each digit applies to a different class of users.

Digit Applies To First Owner Second Group Third Others

So a permission of 755 means:

  • Owner: 7 = read + write + execute
  • Group: 5 = read + execute
  • Others: 5 = read + execute

A permission of 644 means:

  • Owner: 6 = read + write
  • Group: 4 = read
  • Others: 4 = read

What Does CHMOD 644 Mean?

644 is a common permission for ordinary website files.

It allows the file owner to read and modify the file while allowing the group and other users to read it without modifying it.

User Class Permission Owner Read + Write Group Read Others Read

On many conventional web-hosting configurations, 644 is commonly seen on files such as:

  • HTML files
  • CSS files
  • JavaScript files
  • Images
  • Many PHP files

However, you should not assume that every server or every file should use 644. Applications and hosting environments can require different permission models.

What Does CHMOD 755 Mean?

755 gives the owner read, write and execute permission while giving the group and others read and execute permission.

User Class Permission Owner Read + Write + Execute Group Read + Execute Others Read + Execute

This is commonly used for directories on web servers.

Why do directories need execute permission?

Execute has a different practical meaning for a directory than it does for a normal file.

For a directory, execute permission controls the ability to enter or traverse that directory and access entries within it, subject to the other applicable permissions.

This is one reason you frequently see a pattern such as:

  • Files: 644
  • Directories: 755

That is a common configuration, not a universal rule.

What Does CHMOD 777 Mean?

777 gives read, write and execute permission to everyone covered by all three permission classes.

User Class Permission Owner Read + Write + Execute Group Read + Write + Execute Others Read + Write + Execute

Because it appears to remove permission barriers, 777 is sometimes suggested as a quick fix when a website cannot write to a file or directory.

That does not make it a good default solution.

Why Is CHMOD 777 Potentially Dangerous?

The problem with 777 is the write permission granted to all three classes.

Depending on the server architecture, this can allow users or processes that should not be modifying a file or directory to write to it.

Broadly changing website directories to 777 can therefore increase the impact of another security weakness or expose files to unintended modification.

It can also hide the actual cause of a problem.

A “Permission denied” error might really be caused by:

  • Incorrect file ownership
  • An FTP/SFTP account restriction
  • The wrong destination directory
  • A hosting security policy
  • A read-only filesystem
  • A storage or account quota

Changing permissions to 777 does not necessarily solve any of those issues.

If you are currently troubleshooting an access error, see our guide to fixing FTP and SFTP permission denied errors.

Common File Permission Values

Value Owner Group Others Typical Context 600 Read, Write None None Private files 644 Read, Write Read Read Common website files 700 Read, Write, Execute None None Private directories or executables 755 Read, Write, Execute Read, Execute Read, Execute Common website directories 775 Read, Write, Execute Read, Write, Execute Read, Execute Shared group-writable directories 777 Read, Write, Execute Read, Write, Execute Read, Write, Execute Very broad access; generally avoid as a default

Files and Directories Do Not Need the Same Permissions

One of the most common mistakes is applying the same permission recursively to every file and directory.

Files and directories behave differently.

A normal website file often does not need execute permission. A directory, however, generally requires execute permission for users who need to traverse it.

As a result, recursively setting an entire website to one value can produce incorrect permissions.

For example, setting every file and directory to 755 may unnecessarily give execute permission to ordinary files. Setting everything to 644 can prevent directories from being traversed by users who require that access.

What Is the Difference Between CHMOD and Ownership?

Permissions and ownership are related, but they are not the same thing.

CHMOD determines what the owner, group and others are allowed to do. Ownership determines which user and group occupy those roles.

Consider a file configured as 644. The owner can modify it, but other users normally cannot.

If your FTP account is not the file owner and does not otherwise receive write permission through the applicable group or server configuration, you may be unable to overwrite the file even though 644 itself is a perfectly normal permission value.

This is why changing CHMOD values is not always the correct solution to a failed upload.

Can You Change Permissions Through FTP?

Many FTP clients provide an interface for changing permissions when the server supports the operation and the connected account is authorized to perform it.

The option may be called:

  • Permissions
  • File permissions
  • CHMOD
  • Change mode

SFTP clients can also expose permission-management functionality through the underlying SSH/SFTP service.

However, the client cannot override the remote server. If your account is not authorized to change a file's mode, the server can reject the request.

Changing File Permissions with BrowserFTP

BrowserFTP provides remote file-management controls for FTP, FTPS and SFTP connections, including permission changes where the connected server and account support them.

The same security principle applies as with a desktop client: BrowserFTP sends the requested operation to the remote server, but the server remains responsible for deciding whether the account is permitted to perform it.

For this reason, changing a permission through BrowserFTP cannot bypass server ownership or account restrictions.

Should You Change Permissions Recursively?

Recursive permission changes deserve particular care because a single action can affect a large directory tree.

Before applying a recursive change, determine:

  • Whether files and directories need different values
  • Whether application-specific directories require write access
  • Whether sensitive files require more restrictive permissions
  • Whether the existing ownership is correct
  • Whether your hosting provider documents recommended permissions

If you are uncertain, avoid applying broad recursive changes to a production website.

What Permissions Should a Website Use?

There is no permission value that is correct for every website and server.

On many conventional hosting environments, you will commonly encounter:

  • Regular files: 644
  • Directories: 755

But applications may need specific writable directories, private files may need stricter permissions, and servers using different ownership or process models may use other values.

The safest approach is to follow the requirements of your application and hosting provider while granting no more access than necessary.

Permission Troubleshooting Checklist

If you cannot modify a file through FTP or SFTP, check the following before changing permissions broadly:

  1. Confirm that you are working in the correct remote directory.
  2. Check the permission of the affected file.
  3. Check the permission of its parent directory.
  4. Determine who owns the file and directory.
  5. Confirm that your account is authorized to modify them.
  6. Check whether only one file is affected or the entire directory.
  7. Check server storage and account quotas.
  8. Review your hosting provider's recommended permission values.
  9. Avoid using 777 merely to make the error disappear.

The Key Principle: Use the Minimum Access Required

File permissions are a security control, not simply an obstacle to uploading files.

Values such as 644 and 755 are common because they can allow a website to operate while limiting who is permitted to modify its files. Values such as 777 remove much of that restriction and should not be treated as a universal troubleshooting tool.

Understand which user needs access, which operation is required and whether the problem is actually caused by permissions before changing them.

If you need to understand the connection itself first, read our FTP vs SFTP vs FTPS comparison. For a practical browser-based workflow, see How to Use FTP in a Browser.

Common Questions Asked

What does CHMOD 644 mean?

CHMOD 644 gives the file owner read and write permission while the group and others receive read-only permission. It is commonly used for regular website files on many Unix-like hosting environments.

What does CHMOD 755 mean?

CHMOD 755 gives the owner read, write and execute permission while the group and others receive read and execute permission. It is commonly used for website directories because execute permission allows directory traversal.

Is CHMOD 777 dangerous?

It can be. CHMOD 777 grants read, write and execute permissions to the owner, group and others. This is much broader access than most website files or directories require and can create unnecessary security exposure.

Should website files be 644 and folders be 755?

644 for regular files and 755 for directories is a common configuration, but it is not a universal rule. The correct permissions depend on your server, file ownership, application requirements and hosting configuration.

Why do I still get permission denied when a file has the correct CHMOD value?

CHMOD is only part of the permission system. File ownership, parent-directory permissions, FTP or SFTP account restrictions, server policies and hosting quotas can also prevent an operation even when the numeric permission appears correct.