Ubuntu24 文件目录结构——用户——权限 详解

目录

权限

用户

文件目录结构


一个目录可以有**程序,目录,文件,以及这三者的链接。**可以看到还分别有使用者和权限信息。

每个文件和目录都有与之关联的三个主要属性:所有者(owner)、组(group)和权限(permission)。

权限

有三种权限:r "读"(read)、w "写"(write)、x "执行"(execute)

比如这图,第一位表示文件(d)或者链接(l)。红色rwx所有者权限。蓝色r-x组成员权限。紫色r-x其他用户权限,有读,执行权限,没有写权限。

目录的执行权限指进入目录。程序的读写权限指对源代码的读写(shell脚本)。

更改权限命令chmod:

chmod(更改权限) = change(改变) + mod(模式)

chmod 755 filename 什么意思?

755每位数分别对应文件所有者(owner)、所属组(group)和其他用户(others)的权限。

  • 读(r)= 4
  • 写(w)= 2
  • 执行(x)= 1
  • 累加后用一个数字表示
  • 7 (rwx):所有者有读、写和执行权限。
  • 6 (rw-):所有者有读和写权限,没有执行权限。
  • 5 (r-x):所有者有读和执行权限,没有写权限。
  • 4 (r--):所有者只有读权限。

另一种命令指定方式:符号模式:chmod + 用户 + 符号 + 权限 + 文件名

  • u:所有者(user)
  • g:组(group)
  • o:其他用户(others)
  • a:所有用户(所有者、组和其他用户)
  • +:添加指定的权限。
  • -:删除指定的权限。
  • =:设置指定的权限,移除其他所有权限。

chmod u=x 1.txt 对所有者,只保留执行权限,不能读写。

chmod +x 1.txt 添加执行权限,默认给所有用户添加

用户

**owner:**所有者指创建用户。

**Group:**拥有特定权限的一组用户。

创建新用户 :

复制代码
sudo useradd newuser
复制代码
sudo groupadd newgroup
sudo usermod -a -G newgroup newuser

注销后可以登录新用户

移除用户和目录:

复制代码
sudo deluser --remove-home newuser
sudo groupdel newgroup

文件目录结构

  1. /bin - 基本的二进制文件,包含所有用户和系统启动时必须使用的命令。

    • /bin/bash - Bourne Again Shell,一个广泛使用的命令行解释器。
    • /bin/chmod - 更改文件权限。
  2. /sbin - 超级用户(系统管理员)的二进制文件,包含系统管理工具。

    • /sbin/service - 管理系统服务。
    • /sbin/shutdown - 关闭系统。
  3. /boot - 启动加载程序和内核映像。

    • /boot/grub - GRUB(GRand Unified Bootloader)启动加载器的配置和数据。
    • /boot/vmlinuz-* - 内核映像文件。
  4. /dev - 设备文件,提供对硬件设备的访问。

    • /dev/sda - 第一个SCSI硬盘。
    • /dev/null - 一个特殊的设备,用于丢弃写入它的数据。
  5. /etc - 系统和程序的配置文件。

    • /etc/fstab - 文件系统表,定义了系统启动时挂载的文件系统。
    • /etc/passwd - 用户账户信息。
  6. /home - 用户的个人家目录。

    • /home/username - 特定用户的个人目录。
  7. /opt - 可选或第三方软件的安装位置。

    • /opt/someapp - 第三方应用程序可能安装在这里。
  8. /proc - 虚拟文件系统,提供关于进程和内核的信息。

    • /proc/cpuinfo - 提供CPU的信息。
  9. /root - 系统管理员(root用户)的家目录。sudo su 后可以进入。

  10. /run - 包含系统运行时的系统状态信息。

    • /run/user/1000 - 某个用户(通常是第一个非特权用户)的临时文件。
  11. /snap - 用于存储和管理Snap软件包的目录。

    • /snap/someapp/current - Snap包的当前版本可能存放在这里。
  12. /sys - 虚拟文件系统,提供关于系统硬件的信息。

    • /sys/class/net - 网络接口的类信息。
  13. /tmp - 临时文件存放在这里,通常在系统重启后会被清空。

  14. /tools - 可以把自己的工具放在这里。

  15. /usr - 用户的程序和数据存放在这里。

    • /usr/bin - 用户级别的命令行工具。
    • /usr/share - 共享数据,如文档和图标。
  16. /var - 包含经常变化的文件,如日志文件、数据库、邮件等。

    • /var/log - 系统和程序的日志文件。
相关推荐
t5y228 小时前
【Linux】定时任务调度
linux·服务器
HY小海8 小时前
【Linux】进程概念
linux·运维·服务器
王八八。8 小时前
linux后台java、postSQL部署命令
java·linux·运维
瑞熙贝通实验室综合管理平台9 小时前
实验动物管理系统|以痛点为核心 构建动物房数字化管理新体系
linux
TheRouter9 小时前
LLM 应用的Evals 工程实践:从手动测试到自动化回归测试体系
运维·ai·自动化·log4j
黎阳之光10 小时前
黎阳之光:以视频孪生重构智慧防火,打造“天空地人智”一体化森林防火新范式
大数据·运维·人工智能·物联网·安全
黄筱筱筱筱筱筱筱11 小时前
LINUX-防火墙
linux·服务器·网络
сокол12 小时前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神12 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
凯丨12 小时前
Claude Code 自动化开发的完整体系
运维·自动化