第六章、用户权限管理
Linux 是多用户的操作系统,他允许多个用户同时登录一台电脑,并进行不同的操作。Linux 内部使用户ID(即UID,是一个从 0 开始的整数)来区分各个用户。每一个UID对应一个字符串,这个字符串就是用户名,且用户名不能重复。
root用户简介
在 Linux 系统中,root 用户是系统的超级管理员账户(UID 为 0),拥有最高权限,可以执行所有操作(包括修改内核、系统文件、加载驱动、安装软件、管理用户权限等)。
root与其他用户的区别
特性
root用户
普通用户
用户ID(UID)
0
通常≥1000(Linux默认)
权限范围
无限制(可读写所有文件、终止任意进程)
仅限自身文件和授权操作
系统修改权
可安装/删除软件、修改系统配置
仅影响用户主目录(如
/home/username)危险操作
可直接执行
rm -rf /等破坏性命令受权限限制,无法删除系统文件
登录限制
默认禁止SSH直接登录(安全最佳实践)
允许正常登录
本章我们来学习用户权限管理相关的命令,内容如下:
1. sudo 命令
sudo 命令可以让普通用户临时使用 root 用户权限来执行命令,你可以认为是让普通用户如皇帝授旨,拥有大权!
命令格式
sudo 命令 [选项] [参数]
示例
Linux 的 根(/) 下不允许普通用户创建文件,但 root 用户就可以创建文件和文件夹。
weimingze@mzstudio:~$ touch /mylinux.py
touch: cannot touch '/mylinux.py': Permission denied
weimingze@mzstudio:~$ sudo touch /mylinux.py
[sudo] password for weimingze:
weimingze@mzstudio:~$ ls -l /mylinux.py
-rw-r--r-- 1 root root 0 May 22 13:57 /mylinux.py
weimingze@mzstudio:~$
可见普通用户 weimingze 创建 /mylinux.py 文件失败了,但使用 sudo touch /mylinux.py 并输入 root 用户的密码后文件被创建了,并且他的属主是 root,属组是 root。
sudo 常用选项
选项
说明
-i切换到 root 用户
如:
weimingze@mzstudio:~$ pwd
/home/weimingze
weimingze@mzstudio:~$ sudo -i
[sudo] password for weimingze:
root@mzstudio:~# pwd
/root
root@mzstudio:~#
一开始 weimingze 用户的当前工作路径是 /home/weimingze,当执行 sudo -i 命令并输入密码后,用户的当前工作路径是 /root。
我们再来看一下 命令提示符前面的这段字符串: root@mzstudio:~# 这个是 bash 解析器(后面再学 bash)下的特有提示符。我们来解释下每一段的含义
root代表当前的用户名。mzstudio是当前的主机名(在安装系统是设定的,保存在/etc/hostname文件中,可以修改)。@是用户名和主机名的分隔符。~代表你的当前工作路径是用户主目录~。:是分隔符。#是命令提示符,超级用户的提示符是#, 普通用户提示符是$(普通用户都向钱看,而超级用户看到的是格局)。
有了 root 用户的密码,你就拿到了操作系统的最高权限,你自己试试吧。
练习:
- 使用
sudo命令 创建文件夹/mytest。 - 使用
touch命令在/mytest文件内创建文件README.md。 - 使用
vim在README.md内写入一行文字,然后保存退出。 - 删除
/mytest文件夹。