linux取消同组用户对此文件文件的读取权限。查看设置结果。
时间: 2024-02-28 09:52:08 浏览: 269
可以使用 `chmod` 命令来修改文件权限,使用以下命令来将 `file1` 文件所属用户组的读权限去掉:
```
chmod g-r file1
```
其中,`g` 表示所属用户组,`-r` 表示去掉读权限。执行该命令后,该文件所属用户组的用户就不能再对该文件进行读取操作了。
可以使用 `ls -l` 命令来查看修改后的文件权限,例如:
```
ls -l file1
```
执行该命令后,终端会输出 `file1` 文件的详细信息,确认文件权限已经修改成功后,可以看到所属用户组的读权限已经被去掉了。
相关问题
linux将文件权限设置为设置成对文件主和同组用户可读写,其他用户只读命令
要将文件权限设置为对文件主和同组用户可读写,其他用户只读,可以使用`chmod`命令进行设置。以下是相应的命令:
```bash
chmod 644 <文件名>
```
请将`<文件名>`替换为你要设置权限的文件名或文件路径。这个命令将会将文件权限设置为以下方式:
- 文件主(所有者)可读写
- 同组用户可读
- 其他用户只读
这样设置后,文件主和同组用户可以对文件进行读取和写入操作,而其他用户只能读取文件。
编写Linux C程序,列出stu2主目录中的文件信息,并将其中saturday.txt文件的权限设置为文件所有者可读可写、同组用户只读、其他用户无权限。给出源程序和运行结果
以下是一个简单的程序,可以实现你的要求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
int main() {
DIR *dirp;
struct dirent *direntp;
struct stat filestat;
char path[256];
char filename[] = "saturday.txt";
char *homedir = getenv("HOME");
sprintf(path, "%s/%s", homedir, "stu2");
if ((dirp = opendir(path)) == NULL) {
perror("Failed to open directory");
return 1;
}
while ((direntp = readdir(dirp)) != NULL) {
sprintf(path, "%s/%s", homedir, "stu2");
strcat(path, "/");
strcat(path, direntp->d_name);
if (stat(path, &filestat) < 0) {
perror("Failed to get file status");
continue;
}
printf("%s\t", direntp->d_name);
printf((S_ISDIR(filestat.st_mode)) ? "d" : "-");
printf((filestat.st_mode & S_IRUSR) ? "r" : "-");
printf((filestat.st_mode & S_IWUSR) ? "w" : "-");
printf((filestat.st_mode & S_IXUSR) ? "x" : "-");
printf((filestat.st_mode & S_IRGRP) ? "r" : "-");
printf((filestat.st_mode & S_IWGRP) ? "w" : "-");
printf((filestat.st_mode & S_IXGRP) ? "x" : "-");
printf((filestat.st_mode & S_IROTH) ? "r" : "-");
printf((filestat.st_mode & S_IWOTH) ? "w" : "-");
printf((filestat.st_mode & S_IXOTH) ? "x" : "-");
printf("\n");
if (strcmp(direntp->d_name, filename) == 0) {
chmod(path, S_IRUSR | S_IWUSR | S_IRGRP);
printf("Changed permissions on %s\n", filename);
}
}
closedir(dirp);
return 0;
}
```
运行结果可能会类似于这样:
```
file1.txt -rw-r--r--
file2.txt -rw-r--r--
file3.txt -rw-r--r--
saturday.txt -rw-r--r--
Changed permissions on saturday.txt
```
注意:在运行程序之前,需要先手动创建一个名为 `stu2` 的目录,然后在其中添加一些文件以供测试。程序中使用了 `getenv("HOME")` 函数来获取当前用户的主目录,所以无论你在哪里运行程序,都会读取到正确的路径。
阅读全文