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 - 系统和程序的日志文件。
相关推荐
sinat_384241092 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ3 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream3 小时前
Linux的桌面
linux
xiaozhiwise3 小时前
Makefile 之 自动化变量
linux
Kkooe4 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒4 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
意疏5 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
虚拟网络工程师6 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb
BLEACH-heiqiyihu6 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器