I am using Linux. What is the meaning of chmod 666?
-
38aka, the Satan command. – Moab Jun 10 '11 at 21:29
-
7If that bothers you (or if you can't be bothered to remember those numbers) you can also write it as `chmod a=rw`. – starblue Jun 11 '11 at 06:48
-
1useless command, since the third argument is not given ^^ – kokbira Feb 04 '19 at 15:15
-
also it can produce security flaws (all users can write the file/folder) or useless file/folder permissions – kokbira Feb 04 '19 at 15:17
5 Answers
chmod command change attributes from a file/folder:
chmod 666 file/foldermeans that all users can read and write but cannot execute the file/folder;chmod 777 file/folderallows all actions for all users;chmod 744 file/folderallows only user (owner) to do all actions; group and other users are allowed only to read.permission to: user(u) group(g) other(o) /¯¯¯\ /¯¯¯\ /¯¯¯\ octal: 6 6 6 binary: 1 1 0 1 1 0 1 1 0 what to permit: r w x r w x r w x binary - 1: enabled, 0: disabled what to permit - r: read, w: write, x: execute permission to - user: the owner that create the file/folder group: the users from group that owner is member other: all other users
Alternatively, you can execute the command with a more intuitive syntax, without needing to think in binary or octal (but the knowledge of numeric syntax is so important): chmod u=rw, g=rw, o=rw file/folder
Remember that the permission changes with chmod command requires at least 3 arguments, so chmod 666 does nothing without explicit file/folder to change permissions.
Also be sure to criticize if it does not produce insecure issues or simply if it is an useless permission change, because chmod 666 will allow file/folder write to all and the execution to none.
- 5,307
- 12
- 42
- 74
-
5
-
4It only goes to 7 anyway, so there's no difference between octal and decimal in this case. :/ – Rob Aug 29 '12 at 16:49
-
2The third point mentioned in the first post is incorrect - chmod 711 allows only owner to do all actions, group and other are allowed only to read ![enter image description here][1] This is the table for rwx for octal rwx 000 001 010 011 100 101 110 111 Octal 001, or 1 denotes execute permission Octal 7, 111 denotes read write and execute permission hence 711 denotes, rwx for owner, and x for groups and others. – Aug 29 '12 at 16:04
-
yeah, @Yash, and after 1 year, 2 months and 18 days after the original post someone saw that error :) I'll correct it to 744 on example. – kokbira Aug 29 '12 at 20:58
-
@Rob, you are right, but I do it to explicit that is a number from 0 to 7 :) as suggested by ben – kokbira Aug 29 '12 at 21:00
-
-
-
2@KyleVassella, `owner` is the owner of file or folder, generally the one that created it. `group` is the group of users associated with that file or folder, generally the group that owner is in. So imagine that I am rootbira and my groop is rootusers and you are on that group too, and all other SU forum members are in other group. If I create a file and do a with chmod 750, I would read, write and execute it, you would only read and execute and SU users won't do anything - it is our secret ¬¬ – kokbira Nov 22 '17 at 19:53
As mentioned in other answers, chmod means change mode. It affects the read, write and executable permissions for the owner, group and other categories of users. The numbers that follow the command (in this case 666), indicate how those permissions are modified for the file the command is run on (for 666, it means that owner, group and other have read and write permissions, but no executable permissions).
By changing the numbers to different values you effectively change the permissions for the file. The link I've referenced above has a little tool for figuring out what values you need to put in to get the permissions scheme you're after. It also goes over the switch options available for the command and some examples to help you understand better how it works.
- 13,149
- 4
- 40
- 61
In really plain speak: it makes a file read- and write-able by the file owner, the file owner's group and every one else using the machine (all). Applied against a directory it lets everyone read (get file contents lists) of a directory and write (create, edit files in the directory) but not execute files from the directory.
For more detailed information how chmod works check out this handy tutorial.
- 6,073
- 3
- 29
- 29
-
2...Don't you mean lets everyone read/write files but not execute, and let's everyone read/write files in a directory, but not list all of the files? – Earlz Jun 10 '11 at 20:44
-
2what @earlz says, plus write on a dir does not mean you can edit files there (write perms on a file does) but solely means you can create new entries (dirs, files, symlinks, etc.). Also, its nice of you to mention dirs for completeness, but 666 doesn't make sense for a dir; you'd never eliminate x for owner. – Rich Homolka Jun 10 '11 at 21:01
-
1@Earlz: thanks for that. I always forget what 666 does for dirs because, well, I never set rw- for a user on a dir. :) – Ian C. Jun 10 '11 at 21:04
If your questions is more about the 666 part than the chmod part, I would refer you to The Linux Documentation Project where is a decent explanation of how file permissions work in Linux.
- 2,382
- 17
- 19