在/usr/local/bin目录下有一个名为edit的文本编辑器脚本,你希望任何用户执行该脚本时都以editor用户的身份运行(SUID)。同时,你希望/data/shared目录内的文件在创建时自动继承sharedgroup组(SGID)。
时间: 2024-10-02 07:03:55 浏览: 44
要在`/usr/local/bin/edit`脚本上启用SUID(Set User ID),以便任何用户执行它时会以`editor`用户身份运行,你需要修改脚本的权限。以下是步骤:
1. 打开终端并切换到`/usr/local/bin`目录:
```bash
cd /usr/local/bin
```
2. 使用`chmod`命令给`edit`脚本添加SUID权限:
```
chmod u+s edit
```
`u+s` 表示给予所有者(通常是你)SUID权限,这意味着当你作为普通用户运行此脚本时,它的权限会提升到`editor`用户级别。
3. 至于 `/data/shared` 目录,为了让新创建的文件自动继承`sharedgroup`,需要设置SGID(Set Group ID)权限。同样切换到那个目录:
```
cd /data/shared
```
4. 使用`chgrp`和`chmod`组合命令设置权限:
```
chmod g+s . && chown root:sharedgroup .
```
`g+s` 设定 SGID,`.` 表示当前目录及其中所有文件和子目录。`chown`用于指定所有权,`root:sharedgroup`表示拥有者为root,组别为sharedgroup。
现在,当任何用户在`/data/shared`目录内创建新文件时,它们会被赋予`sharedgroup`组的权限。同时,`/usr/local/bin/edit`脚本将在SUID模式下运行,仿佛是由`editor`用户执行的。
阅读全文