Linux chown命令 更换文件和目录的所有者和所属组
chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。 当只需要修改所有者时,可使用如下 chown 命令的基本格式: [root@localhost ~]# chown [-R] 所有者 文件或目录 -R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。 如果需要同时更改所有者和所属组,chown 命令的基本格式为: [root@localhost ~]# chown [-R] 所有者:所属组 文件或目录 注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。 当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group install.log 就表示修改 install.log 文件的所属组,但修改所属组通常使用 chgrp 命令,因此并不推荐大家使用 chown 命令。 另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。 【例 1】 其实,修改文件的所有者,更多时候是为了得到更高的权限,举一个实例: [root@localhost ~]# touch file #由root用户创建file文件 [root@localhost ~]# ll file -rw-r--r--. 1 root root 0 Apr 17 05:12 file #文件的所有者是root,普通用户user对这个文件拥有只读权限 [root@localhost ~]# chown user file #修改文件的所有者 [root@localhost ~]# ll file -rw-r--r--. 1 user root 0 Apr 17 05:12 file #所有者变成了user用户,这时user用户对这个文件就拥有了读、写权限 可以看到,通过修改 file 文件的所有者,user 用户从其他人身份(只对此文件有读取权限)转变成了所有者身份,对此文件拥有读和写权限。 【例 2】 linux 系统中,用户等级权限的划分是非常清楚的,root 用户拥有最高权限,可以修改任何文件的权限,而普通用户只能修改自己文件的权限(所有者是自己的文件),例如: [root@localhost ~]# cd /home/user #进入user用户的家目录 [root@localhost user]# touch test #由root用户新建文件test [root@localhost user]# ll test -rw-r--r--. 1 root root 0 Apr 17 05:37 test #文件所有者和所属组都是root用户 [root@localhost user]# su - user #切换为user用户 [user@localhost ~]$ chmod 755 test chmod:更改"test"的权限:不允许的操作 #user用户不能修改test文件的权限 [user@localhost ~]$ exit #退回到root身份 [root@localhost user]# chown user test #由root用户把test文件的所有者改为user用户 [root@localhost user]# su - user #切换为user用户 [user@localhost ~]$ chmod 755 test #user用户由于是test文件的所有者,所以可以修改文件的权限 [user@localhost ~]$ ll test -rwxr-xr-x. 1 user root 0 Apr 17 05:37 test #查看权限 可以看到,user 用户无权更改所有者为 root 用户文件的权限,只有普通用户是这个文件的所有者,才可以修改文件的权限。 【例 3】 [root@localhost ~]# chown user:group file [root@localhost ~]# ll file -rw-r--r--. 1 user group 0 Apr 17 05:12 file (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 用C++语言做Linux研发工具的一部分心得
- linux – 没有什么是用php5-fpm.log编写的
- 如何运用Tree在 Linux 终端中显示目录树
- Ubuntu Touch OTA-12首次发布,为有史以来最大版本
- linux – 升级到wheezy apache后无法启动
- linux – 用于查找SSH服务器守护程序和Nginx的正常运行时间
- linux – 当出现故障节点时,Heartbeat将无法从冷启动中成功
- 使用 Ansible 在树莓派上布局 Mycroft AI 语音助手
- linux – 如何配置openvpn仅为绑定到tun接口的进程代理流量
- Linux fsck命令 测试和修复文件系统