linux用户管理,用户权限命令详解

一.用户管理

Linux 同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保证用户之间互不干扰,就像手机开了助手一样,同时登陆多个 qq 账号,当硬件配置非常高时,每个用户还可以同时执行多个任务,多个线程同时工作,提高效率,多用户是 Linux 优于其他操作系统的一大特点

**1.**添加用户

bash 复制代码
useradd lisi

查看添加是否成功

bash 复制代码
cat /home

#如果home目录下存在lisi,说明添加用户成功了

**2.**设置密码

bash 复制代码
passwd lisi

**3.**删除用户

bash 复制代码
#-r:递归的删除目录下面文件以及子目录下文件
#删除用户的时候用户组被删除
userdel -r lisi

**4.**查看用户

bash 复制代码
id user

**5.**把用户加入组

bash 复制代码
#把用户 testuser 加入到 root 组,加入组后 testuser 获取到 user 组及 root 组所有权限
gpasswd -a testuser root

#移出组
gpasswd -d testuser root

二.用户权限 用户分类

网站发布到 linux 服务器下面一般要设置权限,不然的话可能没法上传图片,或者没法写入文件

1.用户权限

bash 复制代码
drwxr-x---. 2 root root 6 11 月 11 2023 mnt

#d 表示目录
#rwx root 对 mnt 目录具有读、写和执行的权限
#r-x root 组内其他用户对 mnt 目录具有读和执行权限
#--- other 其他所有用户对 mnt 目录没有任何权限
#. 表示 ACL 的属性
#2 mnt 里面的目录数量
#root 当前目录所属用户
#root 当前目录所属组
#6 文件文件大小(以字节为单位) 这个字段表示文件大小,如果是一个文件夹,则表示该文件夹的大小.请注意是文件夹本身的大小,而不是文件夹以及它下面的文件的总大小,很多人不能理解文件夹是一个特殊的文件的含义,这样的话理解文件夹大小的含义就比较困难了
#11 月 文件创建月份
#11 2018 文件创建时间
#mnt 目录名称

2.权限

就是人对文件所拥有权限,权限就是是哪个 读、写、执行
r 读, w 写, x 执行

3.用户群体

所有者 user u
所属组 group g
其他用户 other o
所有用户 all a,u+g+o=a ( 表示所有人 )

4.目录的****rwx

r 查看目录里面的文件,,用 数字4 表示
w 在目录里创建或删除文件,用 数字2 表示
x 切换进目录,用 数字1 表示

5.文件的****rwx

r 查看文件内容
w 在文件里写内容
x 执行该文件 ( 文件不是普通文件,是程序或脚本 )

三.chmod权限分配

+ 增加权限, - 删除权限

bash 复制代码
chmod u+x my.sh 给当前用户分配执行 my.sh 的权限
chmod o+r,o+w file.txt 给其他用户分配对 file.txt 的读写权限
chmod o+r,o+w,o+x mnt 给所有其他用户分配对 mnt 目录的进入、读取、写入权限
chmod -R o+r,o+w,o+x mnt 修改目录下的所有文件的权限为可读、可修改、可执行
chmod 755 file
chmod -R 777 wwwroot/ 修改目录下的所有文件的权限为可读、可修改、可执行
755 表示-rwxr-xr-x
bash 复制代码
#eg1:让其他人对 mnt 目录没有任何权限
chmod o-r,o-w,o-x mnt

#eg2:所有人对 test.sh 文件具有 x 的权限
chmod a+x test.sh

#eg3:让所有用户对 test.sh 都没有 x 权限
chmod a-x test.sh

#eg4:让所有用户对 mnt 以及 mnt 里面的所有文件和文件夹都有 w 权限
chmod o-r,o-w,o-x root
chmod -R a+w mnt/

四.用户权限管理****ACL

先举个例子引入ACL,方便理解:
让 zhangsan 对 opt 目录具有 rx 权限,让 lisi 对 opt 目录具有 rwx 的权限
-m 修改

bash 复制代码
setfacl -m u:zhangsan:rx opt/
setfacl -m u:lisi:rwx opt/

1.查看opt拥有的acl****权限

bash 复制代码
getfacl opt

2.设置optacl****权限

bash 复制代码
setfacl -m u:zhangsan:rwx opt

3.删除optuser1拥有的acl****权限

bash 复制代码
#-x 删除权限
setfacl -x u:zhangsan opt

4.删除opt上所设置过的所有acl****权限

bash 复制代码
setfacl -b opt/

五.用户权限管理****visudo

当用zhangsan这个用户执行useradd命令时,会发现权限不足,这是因为useradd命令在sbin目录下,而sbin目录下的命令只有root才能执行,那么怎样才能让zhangsan用户执行useradd这个命令呢?通过which命令可以查看对应的命令在哪里

1.设置visudo

直接在命令行下输入visudo,回车后弹出一个vi文本,然后光标于最后面一行,输入模式(i),输入命令

bash 复制代码
%zhangsan localhost=/usr/sbin/useradd
%zhangsan localhost=/usr/sbin/userdel

这样zhangsan用户就拥有使用useradd,userdel的权限了

2. 执行命令

在执行命令前面加上sudo就可以了

bash 复制代码
sudo useradd wangwu
sudo userdel wangwu
相关推荐
大柏怎么被偷了16 分钟前
【Linux】进程等待
linux·运维·服务器
云和数据.ChenGuang1 小时前
运维面试题之oracle和mysql单表最大容量
运维·mysql·oracle
互联网老欣1 小时前
2025年保姆级教程:阿里云服务器部署Dify+Ollama,打造专属AI应用平台
服务器·阿里云·ai·云计算·dify·ollama·deepseek
偶像你挑的噻1 小时前
12-Linux驱动开发- SPI子系统
linux·驱动开发·stm32·嵌入式硬件
酷柚易汛智推官1 小时前
Fastlane赋能移动研发:从全流程自动化到工程效能升级
运维·自动化·酷柚易汛
落798.2 小时前
Genlogin × Bright Data,一键解锁自动化采集的高成功率方案
运维·自动化·数据采集·亮数据
羑悻的小杀马特2 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
松涛和鸣2 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
L***86532 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
念风2 小时前
[lvgl]如何优雅地向lv_port_linux中添加tslib支持
linux