Linux用户和权限

用户和用户组

1. root用户(超级管理员)和普通用户

  • 普通用户的权限,一般在其HOME目录内是不受限的
  • 除了HOME目录,普通用户几乎只读和执行权限,无修改权限

2.用户的基本操作

添加用户(不指定组):

语法 : useradd 用户名

  • 默认在/home目录下创建了一个以用户名命名的文件夹,此文件夹就是对应用户的家目录
  • 如果添加用户的时候没有指定所属组,默认自动生成了一个以此用户名命名的组
删除用户

语法 : userdel [-r] 用户名

  • 如果不加-r,用户被删除后,它的家目录依然存在
  • 如果用户所属组是添加用户的时候自动生成的,那么删除用户的对应的组也会自动删除
查看所有用户快捷方式

语法 : getent passwd

查看所有用户普通方式

语法 : cat /etc/passwd

powershell 复制代码
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
在root用户下给普通用户添加密码

语法 : passwd 用户名

  • 会提示输入2次密码,不需管密码长度的提示
    注意:以上对用户的操作需要在超级管理员root用户下操作

3.切换用户

su命令

来源英文单词:Switch User
语法 : su [-] 用户名

  • -符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键:ctrl + d
  • 使用普通用户,切换到其它用户需要输入密码,如切换到root用户
  • 使用root用户切换到其它用户,无需密码,可以直接切换
sudo命令

作用 : 为普通的命令授权,临时以root身份执行
语法 : sudo 其他命令

  • 在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
  • 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

4.用户授权

powershell 复制代码
1.root用户下打开sudoers文件
    进入/etc/sudoers快捷方式: visudo
    进入/etc/sudoers普通方式: vi /etc/sudoers
2.在文件最后添加以下内容并保存
	格式: 普通用户名	ALL=(ALL)	NOPASSWD:ALL
    举例:  zhangsan     ALL=(ALL)   NOPASSWD:ALL
3.普通用户下使用root权限
	 sudo 其他命令      注意:即使前面授权了使用的时候,没有添加sudo,依然是权限不够

5.用户组管理

groupadd命令

作用 : 添加用户组

格式 : groupadd 组名

groupdel命令

作用 : 删除用户组

格式: groupdel 组名

getent group

作用 : 查看所有用户组快捷方式

cat /etc/group

作用 : 查看所有用户组普通方式

chgrp 组名 指定文件/目录路径

作用 : 修改文件/目录的所属组

创建新用户同时指定组

格式 : useradd 用户名 -g 组名

  • 多个用户可以指定同一个组
  • 如果添加用户的时候手动指定了组,删除该用户的时候,组依然存在
添加已存在用户到指定组

格式: usermod -aG 组名 用户名

  • 一个用户可以属于多个组

权限

1.认知权限知识


  • r表示读权限 针对文件可以查看文件内容 ; 针对文件夹,可以查看文件夹内容,如ls命令
  • w表示写权限 针对文件表示可以修改此文件 ; 针对文件夹,可以在文件夹内:创建、删除、改名等操作
  • x表示执行权限 针对文件表示可以将文件作为程序执行 ; 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入

权限的数字序号

权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。

数字的细节如下:r记为4,w记为2,x记为1,可以有:

0:无任何权限, 即 ---

1:仅有x权限, 即 --x

2:仅有w权限 即 -w-

3:有w和x权限 即 -wx

4:仅有r权限 即 r--

5:有r和x权限 即 r-x

6:有r和w权限 即 rw-

7:有全部权限 即 rwx

例如751表示: rwx(7) r-x(5) --x(1)

2. 修改权限控制 chmod

语法: chmod [-R] 权限 文件或文件夹

  • 选项:-R,对文件夹内的全部内容应用同样的操作
powershell 复制代码
修改权限方式1: chmod [-R] +rwx 文件     注意: w只能给当前用户加上

修改权限方式2: chmod [-R] 777 文件      以数字方式给文件设置最高权限

修改权限方式2: chmod [-R] u=rwx,g=rwx,o=rwx 文件    以符号方式给文件设置最高权限

3.修改权限控制 chown

语法: chown [-R] [用户] [:] [用户组] 文件或文件夹

  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • :用于分隔用户和用户组
powershell 复制代码
修改用户和用户组:  chown [-R] 用户:用户组 文件

只修改用户:  chown [-R] 用户 文件

只修改用户组:  chown [-R] :用户组 文件
相关推荐
颇有几分姿色3 分钟前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
AndyFrank33 分钟前
mac crontab 不能使用问题简记
linux·运维·macos
筱源源1 小时前
Kafka-linux环境部署
linux·kafka
算法与编程之美1 小时前
文件的写入与读取
linux·运维·服务器
xianwu5432 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming2 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh
Ven%3 小时前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
TeYiToKu4 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws4 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi4 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器