新增多篇Linux技术文档,涵盖基础命令、文件操作、用户权限、网络配置、进程管理、软件安装、系统监控和磁盘管理等主题。每篇文档包含详细命令示例和使用说明,适合作为Linux系统管理参考手册。 文档内容包含: 1. Linux基础命令与快捷键 2. 文件操作与查找技巧 3. 用户管理与权限配置 4. 网络配置与防火墙管理 5. 进程与服务管理方法 6. 软件包管理与安装 7. 系统资源监控命令 8. 磁盘分区与LVM管理
226 lines
3.6 KiB
Markdown
226 lines
3.6 KiB
Markdown
---
|
||
title: Linux用户与权限
|
||
date: 2021-04-07 16:04:58
|
||
author: 文永达
|
||
top_img: https://gcore.jsdelivr.net/gh/volantis-x/cdn-wallpaper/abstract/00E0F0ED-9F1C-407A-9AA6-545649D919F4.jpeg
|
||
tags: [Linux, Shell, 用户管理]
|
||
categories: [操作系统, Linux]
|
||
---
|
||
|
||
# Linux用户与权限
|
||
|
||
## 用户管理
|
||
|
||
### 查看用户
|
||
|
||
```shell
|
||
# 查看当前用户
|
||
who am i
|
||
|
||
# 查看当前登录用户数量
|
||
who --count
|
||
```
|
||
|
||
### 用户组管理
|
||
|
||
```shell
|
||
# 创建用户组
|
||
groupadd groupname
|
||
|
||
# 删除用户组
|
||
groupdel groupname
|
||
```
|
||
|
||
### 用户管理
|
||
|
||
```shell
|
||
# 创建用户并指定用户组
|
||
useradd username -g usergroup
|
||
|
||
# 设置用户密码
|
||
passwd username
|
||
|
||
# 切换用户
|
||
# 从 root 切换到其他用户不需要输入密码
|
||
# 从其他用户切换到 root 需要输入密码
|
||
su username
|
||
|
||
# 退出登录
|
||
exit
|
||
```
|
||
|
||
---
|
||
|
||
## 权限管理
|
||
|
||
### Linux文件权限
|
||
|
||
Linux 文件有三种权限:
|
||
|
||
| 权限 | 说明 |
|
||
|-----|------|
|
||
| `r` | 可读 |
|
||
| `w` | 可写 |
|
||
| `x` | 可执行 |
|
||
|
||
### chmod 命令
|
||
|
||
修改文件权限。
|
||
|
||
```shell
|
||
# 数字方式设置权限
|
||
chmod 755 file
|
||
```
|
||
|
||
**权限数字说明**:
|
||
|
||
| 数字 | 权限 | 说明 |
|
||
|-----|------|------|
|
||
| 7 | rwx | 读、写、执行 |
|
||
| 6 | rw- | 读、写 |
|
||
| 5 | r-x | 读、执行 |
|
||
| 4 | r-- | 只读 |
|
||
| 0 | --- | 无权限 |
|
||
|
||
**755 权限含义**:`rwxr-xr-x`
|
||
- 所有者:读、写、执行
|
||
- 所属组:读、执行
|
||
- 其他用户:读、执行
|
||
|
||
---
|
||
|
||
## sudo权限
|
||
|
||
### 开启sudo权限
|
||
|
||
#### 1. 添加sudoers文件写权限
|
||
|
||
```shell
|
||
chmod u+w /etc/sudoers
|
||
```
|
||
|
||
#### 2. 编辑sudoers文件
|
||
|
||
```shell
|
||
vim /etc/sudoers
|
||
```
|
||
|
||
找到 `root ALL=(ALL) ALL` 这行,在其下面添加:
|
||
|
||
```
|
||
username ALL=(ALL) ALL
|
||
```
|
||
|
||
#### 3. sudoers配置选项
|
||
|
||
```shell
|
||
# 允许用户执行sudo命令(需要输入密码)
|
||
username ALL=(ALL) ALL
|
||
|
||
# 允许用户组里的用户执行sudo命令(需要输入密码)
|
||
%usergroup ALL=(ALL) ALL
|
||
|
||
# 允许用户执行sudo命令,不需要输入密码
|
||
username ALL=(ALL) NOPASSWD: ALL
|
||
|
||
# 允许用户组里的用户执行sudo命令,不需要输入密码
|
||
%usergroup ALL=(ALL) NOPASSWD: ALL
|
||
```
|
||
|
||
#### 4. 撤销sudoers文件写权限
|
||
|
||
```shell
|
||
chmod u-w /etc/sudoers
|
||
```
|
||
|
||
---
|
||
|
||
## ACL权限
|
||
|
||
> ACL(访问控制列表)提供更细粒度的权限控制,允许为特定用户或组设置特定权限。
|
||
|
||
### 安装ACL工具
|
||
|
||
```shell
|
||
# Ubuntu/Debian
|
||
sudo apt install acl -y
|
||
|
||
# Fedora/AlmaLinux
|
||
sudo dnf install acl -y
|
||
```
|
||
|
||
### 设置ACL权限
|
||
|
||
```shell
|
||
# 为指定用户设置读写权限
|
||
sudo setfacl -m u:user:rwx /OLAP
|
||
```
|
||
|
||
### 验证ACL权限
|
||
|
||
```shell
|
||
getfacl /OLAP
|
||
```
|
||
|
||
**输出示例**:
|
||
|
||
```
|
||
getfacl: Removing leading '/' from absolute path names
|
||
# file: OLAP
|
||
# owner: user
|
||
# group: user
|
||
user::rwx
|
||
group::r-x
|
||
other::r-x
|
||
```
|
||
|
||
### 设置默认ACL权限
|
||
|
||
让新创建的文件和子目录自动继承特定权限:
|
||
|
||
```shell
|
||
sudo setfacl -dm u:user:rwx /OLAP
|
||
```
|
||
|
||
---
|
||
|
||
## 目录权限修改
|
||
|
||
### 查看目录权限
|
||
|
||
```shell
|
||
sudo ls -ld /OLAP
|
||
```
|
||
|
||
**输出示例**:
|
||
|
||
```
|
||
drwxr-xr-x 5 root root 4096 Aug 5 08:27 /OLAP
|
||
```
|
||
|
||
### 修改目录权限
|
||
|
||
```shell
|
||
# 设置权限为775(rwxrwxr-x)
|
||
sudo chmod 775 /OLAP
|
||
```
|
||
|
||
这样目录的所有者和所属组的用户都可以读写,其他用户只有读取和执行权限。
|
||
|
||
### 将用户加入目录所属组
|
||
|
||
```shell
|
||
# 将用户加入root组(不推荐,root组权限过高)
|
||
sudo usermod -aG root user
|
||
```
|
||
|
||
重新登录或重启系统以使组变更生效。
|
||
|
||
### 更改目录所有者
|
||
|
||
```shell
|
||
# 将目录所有者更改为指定用户
|
||
sudo chown user:user /OLAP
|
||
```
|
||
|
||
这样用户将拥有对目录的完全控制权。 |