linux怎么修改文件所属用户和组
宁远ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。该文件用户可以修改该文件的拥有者及用户组别;或者在root用户下,这样可以修改任何文件的拥有者及用户组。
而修改文件所属用户和组,需要用到chown命令。
chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。
当只需要修改所有者时,可使用如下 chown 命令的基本格式:
-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。
当只需要修改所属组时,可使用如下 chown 命令的基本格式:
如果需要同时更改所有者和所属组,chown 命令的基本格式为:
注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。因此,建议大家使用冒号连接所有者和所属组。
当然,chown 命令也支持单纯的修改文件或目录的所属组,例如 chown :group install.log 就表示修改 install.log 文件的所属组,但修改所属组通常使用 chgrp 命令,因此并不推荐大家使用 chown 命令。
另外需要注意的一点是,使用 chown 命令修改文件或目录的所有者(或所属者)时,要保证使用者用户(或用户组)存在,否则该命令无法正确执行,会提示 "invalid user" 或者 "invaild group"。
chown命令的使用示例
1、更改文件的所属者
首先我们使用ls -l命令来查看一下文件的所属,例:
下面我们使用chown命令来更改该tmpfile文件的所属者
然后再使用ls -l命令来查看一下该tmpfile文件的所属
可以看出:该tmpfile文件的所属者从“himanshu”变为了“root”
2、更改文件组
通过chown命令,也可以更改组(文件所属的组别)。
使用以下命令来更改文件所属的组别:
然后使用ls -l命令来查看一下该tmpfile文件的所属
也可以直接一次性更改文件的所属者和组别为root,需要使用以下命令:
Linux修改用户所属组
1、设置某个用户所在组
usermod -g 用户组 用户名
注:-g|--gid,修改用户的gid,该组一定存在
2、把用户添加进入某个组(s)
usermod -a -G 用户组 用户名
注:
-a|--append,把用户追加到某些组中,仅与-G选项一起使用
-G|--groups,把用户追加到某些组中,仅与-a选项一起使用
内容扩展
用户管理命令
useradd 注:添加用户
adduser 注:添加用户
passwd 注:为用户设置密码
usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;
pwcov 注:同步用户从/etc/passwd 到/etc/shadow
pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;
pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;
finger 注:查看用户信息工具
id 注:查看用户的UID、GID及所归属的用户组
chfn 注:更改用户信息工具
su 注:用户切换工具
sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;
visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的;
sudoedit 注:和sudo 功能差不多;
Linux chgrp(英文全拼:change group)命令用于变更文件或目录的所属群组 1 。chgrp 是 change group 的缩写。一般输入 chg 然后按下 tab 键就会自动补全完整命令。
chgrp 语法为: chgrp [-R] {组名}{目录名/文件名} 。
-R 表示递归修改,R 是 recursive 首字母 2 。
假设在当前目录下有一个文件(deniro.txt),隶属于名为 vagrant 的群组:
现在想把这个文件改为隶属于 tty 的群组。因为 tty 群组需要 root 账户,所以我们先使用 sudo -i 命令切换账户。接着进入刚才的目录,输入 chgrp tty deniro.txt 。
可以看到,该文件的群组属性已经改为 tty 咯。
注意:
参考资料:
【1】 Linux chgrp 命令 .
【2】鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018: 212.