Linux中我进行下述代码 [root@localhost /]# groupadd sx [root@localhost /]# useradd -g sx ts。当我切换到ts用户,想要创建文件,提示没有权限,怎么办
时间: 2024-10-29 11:12:01 浏览: 7
在Linux中,当你使用`groupadd`创建了一个新的组`sx`,然后通过`useradd`命令将新用户`ts`添加到这个组时,系统默认会给这个用户分配最低权限。当你作为`ts`用户尝试创建文件并遇到权限问题时,这是因为新用户的主目录(通常是`/home/ts`)的权限设置可能还没有调整。
解决这个问题,你可以按照以下步骤操作:
1. **检查用户权限**:首先,确认`ts`用户的`umask`值(隐藏文件创建掩码),如果它设置了较高的权限保留给所有者(如0077),那么新建文件会受限。可以使用`umask`命令查看当前设置,如果是这种情况,可以使用`chmod`降低`umask`。
```sh
umask
chmod u=rwx,g=rwx,o=rx ~ # 或者直接指定一个新的umask,例如 chmod 0022
```
2. **改变组所有权**:确保新用户所属的`sx`组对新家目录有适当的写入权限。在`/etc/group`或`/var/lib/dirsrv/tomcat-users`(取决于你的配置)中查找`sx`组,并查看其权限是否允许成员写入。如果没有,可以用`chown`命令:
```sh
sudo chown :sx /home/ts -R
```
3. **更改目录权限**:最后,更新`ts`用户的家目录权限,让其具有适当的文件创建权限:
```sh
sudo chmod ug+rwx,o=rx /home/ts
```
完成上述步骤后,你应该可以作为`ts`用户正常创建文件了。如果还有问题,可以检查其他涉及该目录的设置,比如`selinux`策略或`firewalld`防火墙规则。
阅读全文