FreeOS.com logo

FreeOS Most Popular
* Most Read stories
* Commented Stories
* Active Categories
* Non Linux Section
* User Submitters
* Top Polls
* Top Authors
* Top Reviews
* Top Rated
* Top Search Terms

Top Articles
* Writing a Linux device driver
* The Linux filesystem explained
* Samba NT Domain Controller
* Setting up Squid as your caching HTTP/FTP proxy
* Web server tutorial - Part 1

FreeOS Highlights
* Howtos (72)
* Reviews (20)
* Opinions (18)
* Interviews (8)
* News (3)

My FreeOS

Nick:
Pass:
Register

Forgot your password?

Contact Us
Contact Us

       

Project: Linux triangle Articles triangle

File Permissions and the chmod/chgrp/chown commands

By Aarjav Trivedi <aarjavtNOSPAM@yahoo.com>
Posted: ( 2002-02-19 14:24:58 EST by prakash )

A guide to setting up and changing file permissions in the Linux Operating Systerm.

The chmod/chgrp/chown commands are used to change the permissions/ownership of files and/or directories. Linux is often used as a multi-user system and it is not desirable that all users have access to all files and directories.

For eg. : On a multi-user environment in a corporate office using a central server running linux , it might be required the accounts documents be shared between employees of the acccounts department . At the same time, it might be undesirable and indeed dangerous if anyone having access to the server is able to read/edit them.

It is for such situations that Linux has a 3X3 permission system.

There are 3 levels of security for a file :

Read Permission : Permission to read a file (r)

Write Permission : Permission to edit a file (w)

Execute Permission : Permission to execute a file if it is executable (x)

and 3 different levels for a directory :

Enter Permission : Permission to Enter into the Directory

Show Entry : Permission to see the contents of the Directory

Write Entry : Permission to make a new file or subdirectory in the Directory

For granting the above permissions, users are divided into 3 different sets

User : The owner of the file/directory - mostly the person who created the file/directory

Group : Linux users can be divided in groups and one user can be a member of more than one group.

A Group denotes all users who are members of group(s) to which the owner of a file/directory belongs

Others : All users not in the group(s) of the owner.

For eg :

A user level r/w/x permission means only the owner can read, write and execute the file

A group level r/w/x permission means only the members of group(s) to which the owner belongs can read, write and execute the file

An other level r/w/x permission means Everyone can read/write/execute the file.


The chmod Command

The chmod command is used to change the permissions of files/directories in linux. It\\\'s syntax is as follows :

chmod -R/c/f/v [u / g / o / a] [+ / - / =] [rwxXstugo..]

for eg. if u want to give all users in the group of the owner just read permission to a file called foo.txt, the command is

chmod g+r /home/aarjav/foo.txt

here g stands for group, + stands for giving permission (as against - for taking permission away), r stands for read permission.

so g+r means ?give group read permission?. All users for the owners group now have read permission to foo.txt

Now if they misbehave and u want to take their read permission away. The command is the same as above, just substituting the + sign with a minus sign

chmod g-r /home/aarjav/foo.txt

As shown the general format of the command is

chmod -R/c/f/v [u / g / o / a] [+ / - / =] [rwxXstugo]

here

u : user
g: group
o : others
a : all
+ : give permission
- : take permission away
= : cause the permissions given to be the only permissions of the file
r : read permission
w: write permission
x : execute permission
X: execute only if it is a directory or already has execute permission for some user
s : set user or group ID on execution
t : save program text on swap device
u : the permissions that the user who owns the file has for it
g : the permissions that the owner?s group has for a file
o : the permissions that users not in the owner?s group have for it

(X, s, t, u, g and o are not required for common tasks)

the initial options -R/c/f/v are explained as follows :

-c : Displays names of only those files whose permissions are being changed

( --changes can also be used instead of -c )

-f : Suppresses display of error messages when a file?s permissions cannot be changed

( --silent of --quiet can also be used instead of -f )

-R: Recursively changes the permission of all files in all subdirectories of the directory whose

permissions are being changed

( --recursive can also be used )

-v : Displays results of all permission changes

( --verbose can also be used )


The
chown command

The chown command is used to change the user and/or group which owns one or more files or directories. Its general format is :

chown [-Rcfv] [username][:.][groupname] foo.txt

The flags used above are same as those used in the chmod command . The following are the different ways in which this command can be used :

  • The username followed by a dot or colon followed by a groupname changes both the user and group ownerships to those specified.
  • The username followed by a dot or colon and no groupname changes the user ownership as specified and changes the group ownership to the specified user?s login group.
  • If the colon or dot and groupname are specified without a username, then only the groupownership is changed. This is effectively the same as the chgrp command.

  • If the username is not followed by a dot or a colon, then only the user ownership is changed.

The chgrp command

The chgrp command is used to change the group ownership of one or more files or directories. Its general syntax is :

chgrp [-Rcfv] groupname foo.txt

The flags used here are also the same as those in the chmod command. The changes in ownership are applied to the groupname and the filename specified.


The author grants you express permission to copy/save/republish this article in electronic or hardcopy format as long as its contents including this instruction are not changed.
Created in Linux using Abiword, CoffeeCup and my \\\'rustic\\\' html skills.

Linux Basics : First Steps Into Linux

Linux demystified

Other articles by Aarjav Trivedi

Current Rating: [ 6.44 / 10 ] Number of Times Rated: [ 156 ]

More Articles
* Know Linux
* If I could re-write Linux
* Interview with Mozilla engineering director Chris Hofmann
* Response to SCO's Open Letter
* GNU Linux Security

Contents
Articles
  Howtos
  Interviews
  News
  Opinions
  Reviews
Comparison
Links
  Articles
  Howtos
  Interviews
  Opinions
  Reviews
  Websites
News

Linux
About Linux

Print It!
Printer Friendly Version