-
用户和组(Users and Groups)
- Linux 系统中的每个用户都有一个唯一的用户 ID(UID)和一个组 ID(GID)。用户可以属于多个组。用户就像是系统中的居民,每个用户都有自己的身份和权限。
- 例如,一个用户可能属于用户组和管理员组,这样他就可以同时拥有普通用户和管理员的权限。
-
文件权限(File Permissions)
- Linux 文件系统为文件和目录提供了三种类型的权限:读(r)、写(w)和执行(x)。权限分为三组:所有者(owner)、组(group)和其他(others)。
- 例如,一个文件的权限可能是
rwxr-xr--
,表示所有者有读、写、执行权限,组用户有读和执行权限,其他用户只有读权限。
-
更改权限(Changing Permissions)
- 使用
chmod
命令可以更改文件和目录的权限。例如,chmod u+x file
给予文件所有者执行权限。 - 以下是一个使用 Java 代码检查文件权限的示例:
- 使用
import java.io.File;
public class CheckFilePermissions {
public static void main(String[] args) {
File file = new File("test.txt");
if (file.exists()) {
boolean isReadable = file.canRead();
boolean isWritable = file.canWrite();
boolean isExecutable = file.canExecute();
System.out.println("文件可读:" + isReadable);
System.out.println("文件可写:" + isWritable);
System.out.println("文件可执行:" + isExecutable);
} else {
System.out.println("文件不存在!");
}
}
}
-
更改所有权(Changing Ownership)
- 使用
chown
命令可以更改文件或目录的所有者。例如,chown newuser file
将文件的所有者更改为newuser
。
- 使用
-
访问控制列表(Access Control Lists, ACLs)
- ACLs 提供了更细粒度的权限控制,允许为不同的用户和组设置不同的权限。
- 例如,一个文件可以设置为用户 A 有读、写、执行权限,用户 B 只有读权限,用户 C 没有任何权限。
-
sudo
和su
-
sudo
允许授权用户以其他用户(通常是 root)的身份执行命令。 -
su
用于切换到另一个用户,通常用于切换到 root 用户。
-
-
密码管理
-
passwd
命令用于更改用户密码。/etc/shadow
文件存储了用户的密码信息。
-
下面是用户和组与文件权限的对比表格:
对比项 | 用户和组 | 文件权限 |
---|---|---|
作用对象 | 用户和用户组 | 文件和目录 |
权限类型 | 用户身份和所属组 | 读、写、执行 |
管理方式 | 通过用户管理工具和命令 |
chmod 、chown 等命令 |
以下是本文内容的 Excel 表格展示:
主题 | 内容 |
---|---|
Linux 系统架构 | 内核、用户空间、系统调用、守护进程、图形用户界面 |
Linux 文件系统 | 文件系统层次结构、设备文件、符号链接、文件系统类型、挂载 |
Linux 权限管理 | 用户和组、文件权限、更改权限、更改所有权、访问控制列表、sudo 和su 、密码管理 |
嘿,亲爱的读者们!希望你们在阅读完这篇文章后,对 Linux 系统架构、文件系统和权限管理有了更深入的理解。如果你们有任何独特的见解、经验或者问题,欢迎在评论区分享哦!让我们一起交流学习,共同进步,成为更厉害的 Linux 高手!????