如果要改变RedHat Linux系统文件所有权,可以使用chown和chgrp命令。
chown命令更改一个或多个文件的用户所有者,只有root用户才能使用。
# chown new-owner files
new-owner是制定文件的新所有者的名字(或用户id)。例如将文件brass的所有者改为用户harvey,只需要执行以下命令:
# chown harvey brass
大多数系统中,只有超级用户root何以运行chown命令。
如果要改变整个目录树的所有权,可以使用-R参数(R代表递归)。例如,将目录/home/iago/new/tgh及其所含的所有文件和子目录的用户所有者更变为harvey:
# chown -R harvey /home/iago/new/tgh
也可以用以下格式在一次操作中更改用户和组所有者:
# chown new-owner:new-group files
例如,将/home/cha主目录及其下面所含的所有文件的用户所有者更改为chavez并将组其所有者更改为chem,只需使用以下命令:
# chown -R chavez:chem /home/cha
将/home/kevin组的所有者变更为jack,只需要使用以下命令:
# chown -R :jack /home/kevin
如果只需要更改文件的组所有者,则可以使用chgrp命令,chgrp命令可以普通用户使用:
# chgrp new-group files
此处的new-group是指定文件的预期组所有者所在组的名称(或组id)。chgrp也支持-R。非root用户要使用chgrp命令更改文件的所有者就必须是:
a)该文件的所有者
b)同时还必须是新组的成员(但并不要求为当前组的成员)
例如普通用户使用:
$ls -l testfile
-rw-r--r-- 1 unixguy staff 545 Nov 04 2004 testfile
$chgrp system testfile
$ls -l testfile
-rw-r--r-- 1 unixguy system 545 Nov 04 2004 testfile
上述命令将文件"testfile"所属的组从"staff"改成了"system"。(执行命令者必须属于"system"组。)