如何让普通用户在新建文件时的所属人与所属组变成自己而不是root
时间: 2024-04-18 17:23:21 浏览: 165
linux普通用户su root切换提示没有文件或目录的解决方法
5星 · 资源好评率100%
在Linux系统下,文件的所有者和组是由文件系统权限决定的。一般情况下,新建的文件的所有者会被设置为创建该文件的用户,而组会被设置为创建该文件的用户所属的默认组。
如果你想让普通用户在新建文件时将所有者和组设为自己,而不是root,请按照以下步骤进行操作:
1. 确保用户已经有自己的默认组:
- 使用 `groups` 命令检查用户所属的默认组。
- 如果用户没有默认组,可以使用 `usermod` 命令为用户添加默认组,例如:`sudo usermod -g <group_name> <username>`。
2. 修改用户的 `umask` 值:
- `umask` 是用来设置默认权限掩码的。默认情况下,它会限制新建文件的权限。
- 使用 `umask` 命令查看当前的 `umask` 值:`umask`。
- 使用 `umask` 命令修改 `umask` 值,将其设为 `0002`(表示新建文件时给予组读写权限):`umask 0002`。
3. 如果使用 sudo 来创建文件,请确保 sudo 不会重置环境变量:
- 使用 `sudo -E` 命令来保持环境变量不变,例如:`sudo -E touch <filename>`。
通过以上步骤,普通用户在新建文件时应该会将所有者和组设为自己,而不是root。注意,这些设置可能会对系统安全性产生一定影响,请谨慎操作。
阅读全文