Linux用户及文件权限管理

简介: Linux用户及文件权限管理

一、Linux 用户管理


Linux 是一个可以实现多用户登录的操作系统,比如“李雷”和“韩梅梅”都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。

1.1创建用户


在 Linux 系统里, root 账户拥有整个系统至高无上的权限,比如新建和添加用户。


root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,这个操作等同于在 Windows 下就是将新建的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。


大部分 Linux 系统在安装时都会建议用户新建一个用户而不是直接使用 root 用户进行登录,当然也有直接使用 root 登录的例如 Kali(基于 Debian 的 Linux 发行版,集成大量工具软件,主要用于数字取证的操作系统)。一般我们登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。shiyanlou 用户也属于 sudo 用户组(稍后会介绍如何查看和添加用户组)。


su,su- 与 sudo

需要注意 Linux 环境下输入密码是不会显示的。


su 可以切换到用户 user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - 命令也是切换用户,但是同时用户的环境变量和工作目录也会跟着改变成目标用户所对应的。

二、Linux 文件权限


文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。


Unix/Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux 系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。


在 Unix/Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

案例

步骤 1:创建用户 loutest

如果用户 loutest 不存在,您可以使用以下命令创建该用户(需要有sudo权限的用户执行):

sudo adduser loutest
• 1

按照提示设置用户密码和其他信息。


步骤 2:创建文件 /opt/forloutest

接下来,使用 sudo 权限创建文件 /opt/forloutest。可以使用 touch 命令来创建一个空文件:

sudo touch /opt/forloutest


这将创建一个名为 forloutest 的空文件,并确保文件位于 /opt 目录下。

步骤 3:设置文件权限


现在,您需要确保用户 loutest 具有对该文件的读写权限。可以使用 chown 命令更改文件的所有者为 loutest,并使用 chmod 命令分配读写权限:

sudo chown loutest:loutest /opt/forloutest
sudo chmod 600 /opt/forloutest

以上命令将文件的所有者更改为 loutest,并分配了读写权限。这意味着只有用户 loutest 具有读写权限,其他用户没有权限访问该文件。


步骤 4:验证权限

您可以使用以下命令验证文件的权限是否正确设置:

ls -l /opt/forloutest
• 1

您应该看到文件 /opt/forloutest 的权限应该为 -rw-------,表示只有所有者 loutest 具有读写权限。


sudo chmod 600 /opt/forloutest 解释:


sudo chmod 600 /opt/forloutest 用于更改文件 /opt/forloutest 的权限。chmod 命令用于修改文件或目录的访问权限。数字 600 是权限模式的表示方式,这里的 600 表示以下权限设置:


第一个数字 6 表示文件所有者(即 loutest)具有读(4)和写(2)权限,因此文件所有者可以读取和修改文件。

后面的两个数字 00 表示文件的组和其他用户没有任何权限,即没有读、写或执行权限。

总之,sudo chmod 600 /opt/forloutest 的目的是确保只有文件所有者 loutest 具有读取和写入该文件的权限,而其他用户没有任何权限。这是一种常见的设置,用于保护文件的隐私和安全性

目录
相关文章
|
8天前
|
Linux
linux查看修改文件权限
linux查看修改文件权限
21 4
|
7天前
|
Java Linux
Linux上管理不同版本的 JDK
Linux上管理不同版本的 JDK
10 0
|
2天前
|
监控 安全 Unix
探索Linux命令repo-rss:管理仓库更新的新视角
`repo-rss`是一个设想中的Linux工具,用于通过RSS订阅跟踪软件仓库更新。它能订阅仓库、检测更新、生成RSS feed并发送通知。主要特点包括实时性、灵活性、自动化和可扩展性。用户可定制订阅、时间间隔及输出格式。示例用法包括订阅Debian仓库、将更新输出为RSS文件或发送至邮箱。使用时需注意安全、资源消耗和隐私,最佳实践包括定期评估、自动化处理、多源订阅和备份。此工具展示了RSS在软件管理中的创新应用。
|
12天前
|
Linux
【Linux 基础】文件与目录管理
文件和目录的基本概念以及常用命令
32 11
|
5天前
|
Linux 网络安全 开发工具
Linux 管理远程会话 screen:掌握终端的多任务操作
`Linux screen` 命令让多任务管理变得更简单,尤其在SSH连接远程服务器时。创建新会话如`screen -S backup`,查看会话`screen -ls`,退出`exit`。高级功能包括直接在会话中运行命令,如`screen vim memo.txt`,会话共享以协同工作,以及通过`screen -r`或`-D -r`重新连接或强制恢复断开的会话。提高效率,确保任务不间断运行。
7 1
|
16天前
|
安全 Linux 数据处理
探索Linux的kmod命令:管理内核模块的利器
`kmod`是Linux下管理内核模块的工具,用于加载、卸载和管理模块及其依赖。使用`kmod load`来加载模块,`kmod remove`卸载模块,`kmod list`查看已加载模块,`kmod alias`显示模块别名。注意需有root权限,且要考虑依赖关系和版本兼容性。最佳实践包括备份、查阅文档和使用额外的管理工具。
|
17天前
|
监控 数据挖掘 Linux
Linux命令jobs:后台任务管理利器
`jobs`是Linux终端的利器,用于管理和查看后台任务。它显示当前会话中的作业状态,如运行、停止,可通过`Ctrl+Z`暂停任务,`bg`放后台,`fg`回前台。参数`-l`显示PID,`-n`显示最近状态变化的作业。`jobs`帮助高效监控和管理长时间运行的命令,如在数据分析时。记得使用正确任务编号,谨慎使用`kill`,并定期检查任务状态。
|
17天前
|
消息中间件 Linux 数据处理
Linux命令ipcrm详解:轻松管理IPC对象
`ipcrm`是Linux下用于删除IPC(进程间通信)对象的命令,如消息队列、共享内存和信号量。它通过指定对象ID或键值进行操作,如`-m ID`删除共享内存,`-q ID`删除消息队列,`-s ID`删除信号量。使用时需注意确认对象未被使用,以免影响系统运行。结合`ipcs`命令检查对象详情,并可定期清理不再需要的IPC对象以优化系统资源。
|
17天前
|
存储 Linux 数据库
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
【Linux】Linux基础文件与目录管理:成为Linux大师的入门必修课
24 3
|
17天前
|
消息中间件 监控 安全
深入解析Linux命令ipcmk:IPC对象管理新视角
`ipcmk`非标准Linux命令,假设的IPC对象创建工具,用于演示如何管理消息队列、信号量和共享内存。虽无此命令,但理解其概念有助于掌握IPC管理。例如,创建命名消息队列`my_mq`,最大1000消息,可模拟使用`ipcmk -t mq -n my_mq -q 1000`。实际操作中,应根据需求选择合适IPC机制,设置安全权限,监控使用并及时清理。