IceWalkers.com - Linux Software downloads and news
Name : Password :
Linux SoftwareLinux RPMLinux HowtosLink UsAboutAdvertise

chown (2)

CHOWN(2)                   Linux Programmer's Manual                  CHOWN(2)



NAME
       chown, fchown, lchown - change ownership of a file

SYNOPSIS
       #include<sys/types.h>
       #include<unistd.h>

       intchown(constchar*path,uid_t owner,gid_t group);
       intfchown(int fd,uid_t owner,gid_t group);
       intlchown(constchar*path,uid_t owner,gid_t group);

DESCRIPTION
       The  owner of the file specified by path or by fd is changed.  Only the
       super-user may change the owner of a file.  The owner  of  a  file  may
       change the group of the file to any group of which that owner is a mem-
       ber.  The super-user may change the group arbitrarily.

       If the owner or group is specified as -1, then that ID is not  changed.

       When  the  owner  or  group of an executable file are changed by a non-
       super-user, the S_ISUID and S_ISGID mode bits are cleared.  POSIX  does
       not  specify  whether this also should happen when root does the chown;
       the Linux behaviour depends on the kernel version.  In case of  a  non-
       group-executable  file  (with  clear S_IXGRP bit) the S_ISGID bit indi-
       cates mandatory locking, and is not cleared by a chown.


RETURNVALUE
       On success, zero is returned.  On error, -1 is returned, and  errno  is
       set appropriately.

ERRORS
       Depending  on  the file system, other errors can be returned.  The more
       general errors for chown are listed below:


       EPERM  The effective UID does not match the owner of the file,  and  is
              not zero; or the owner or group were specified incorrectly.

       EROFS  The named file resides on a read-only file system.

       EFAULT path points outside your accessible address space.

       ENAMETOOLONG
              path is too long.

       ENOENT The file does not exist.

       ENOMEM Insufficient kernel memory was available.

       ENOTDIR
              A component of the path prefix is not a directory.

       EACCES Search permission is denied on a component of the path prefix.

       ELOOP  Too many symbolic links were encountered in resolving path.

       The general errors for fchown are listed below:

       EBADF  The descriptor is not valid.

       ENOENT See above.

       EPERM  See above.

       EROFS  See above.

       EIO    A low-level I/O error occurred while modifying the inode.

NOTES
       In  versions of Linux prior to 2.1.81 (and distinct from 2.1.46), chown
       did not follow symbolic links.  Since Linux 2.1.81, chown  does  follow
       symbolic  links,  and  there  is a new system call lchown that does not
       follow symbolic links.  Since Linux 2.1.86, this new call (that has the
       same  semantics  as the old chown) has got the same syscall number, and
       chown got the newly introduced number.

       The prototype for fchown is only available if  _BSD_SOURCE  is  defined
       (either  explicitly,  or  implicitly,  by not defining _POSIX_SOURCE or
       compiling with the -ansi flag).

CONFORMINGTO
       The chown call conforms to SVr4, SVID, POSIX, X/OPEN.  The 4.4BSD  ver-
       sion  can only be used by the superuser (that is, ordinary users cannot
       give away files).  SVr4 documents EINVAL, EINTR, ENOLINK and  EMULTIHOP
       returns,  but  no  ENOMEM.   POSIX.1  does not document ENOMEM or ELOOP
       error conditions.

       The fchown call conforms to 4.4BSD and SVr4.  SVr4 documents additional
       EINVAL, EIO, EINTR, and ENOLINK error conditions.

RESTRICTIONS
       The  chown()  semantics  are  deliberately violated on NFS file systems
       which have UID mapping enabled.  Additionally,  the  semantics  of  all
       system  calls  which  access  the  file  contents are violated, because
       chown() may cause immediate access revocation on  already  open  files.
       Client  side  caching may lead to a delay between the time where owner-
       ship have been changed to allow access for a user and  the  time  where
       the file can actually be accessed by the user on other clients.

SEEALSO
       chmod(2), flock(2)



Linux 2.1.81                      1997-05-18                          CHOWN(2)

_Exitgetsockoptoutwshmat
_exitgettidoutw_pshmctl
_llseekgettimeofdaypauseshmdt
_newselectgetuidpersonalityshmget
_sysctlgttypipeshmop
acceptidlepivot_rootshutdown
accessinbpollsigaction
acctinb_pprctlsigaltstack
adjtimexinlpreadsigblock
afs_syscallinl_pprofsiggetmask
alarminsbpselectsigmask
alloc_hugepagesinslptracesignal
arch_prctlinswpwritesigpause
bdflushintroquotactlsigpending
bindinwreadsigprocmask
breakinw_preaddirsigqueue
brkioctlreadlinksigreturn
cacheflushioctl_listreadvsigsetmask
capgetiopermrebootsigsuspend
capsetioplrecvsigtimedwait
chdiripcrecvfromsigvec
chmodkillrecvmsgsigwaitinfo
chownkillpgrenamesocket
chrootlchownrmdirsocketcall
clonelinksbrksocketpair
closelistensched_get_priority_maxssetmask
connectllseeksched_get_priority_minstat
creatlocksched_getaffinitystatfs
duplseeksched_getparamstime
dup2lstatsched_getschedulerstty
execvemadvisesched_rr_get_intervalswapoff
exitmincoresched_setaffinityswapon
fchdirmkdirsched_setparamsymlink
fchmodmknodsched_setschedulersync
fchownmlocksched_yieldsyscall
fcntlmlockallselectsyscalls
fdatasyncmmapselect_tutsysctl
flockmmap2semctlsysfs
forkmodify_ldtsemgetsysinfo
free_hugepagesmountsemopsyslog
fstatmprotectsendtime
fstatfsmpxsendfiletimes
fsyncmremapsendmsgtkill
ftruncatemsgctlsendtotruncate
futexmsggetsetcontextumask
getcontextmsgopsetdomainnameumount
getdentsmsgrcvsetegidumount2
getdomainnamemsgsndseteuiduname
getdtablesizemsyncsetfsgidundocumented
getegidmunlocksetfsuidunimplemented
geteuidmunlockallsetgidunlink
getgidmunmapsetgroupsuselib
getgroupsnanosleepsethostidustat
gethostidnfsservctlsethostnameutime
gethostnamenicesetitimerutimes
getitimerobsoletesetpgidvfork
getpagesizeoldfstatsetpgrpvhangup
getpeernameoldlstatsetpriorityvm86
getpgidoldoldunamesetregidwait
getpgrpoldstatsetresgidwait3
getpidoldunamesetresuidwait4
getppidopensetreuidwaitpid
getpriorityoutbsetrlimitwrite
getresgidoutb_psetsidwritev
getresuidoutlsetsockopt 
getrlimitoutl_psettimeofday 
getrusageoutsbsetuid 
getsidoutslsetup 


Linux Kernel 2.4 2.4.37.7
Linux Kernel
JEdit 4.3pre18
Programmers text editor
ImageMagick 6.5.7.5
ImageMagick image processing studio
Krusader 2.1.0-beta1
Twin-Panel filemanager for KDE3
LilyPond 2.13.7
Music typesetter.
KDevelop 4.0 beta6
Integrated Development Environment for Unix/X11
KDE 4.3.3
Powerful Open Source graphical desktop environment.
WebGUI 7.7.25
A fully featured content management system.
SimplyMEPIS 8.0.12
Run the Linux operating system from your CD or DVD drive
Fedora 12 rc1
Community-supported open source distribution
Free IT Magazines, White Papers, eBooks, and more !
Oracle Magazine

Contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more.

Vulnerability Management for Dummies

Get all the Facts and See How to Implement a Successful Vulnerability Management Program.

Website Magazine

Has tapped premier talent in the Internet industry for our content and each and every issue will contain practical advice and insights for website owners.

Linux Software Map
Find Linux RPM
Best Rated Linux Software
Most Rated Linux Software
Linux Distributions
Linux Howtos
Quick Survey

Please take our survey and help us improve our website to serve you better.

Thank you.
Linux Software
Linux / IT Resources
Site Resources
Google
Privacy Policy
Contact Us
Submit Software
Advertising info