6.linux权限

一.本期指令速览

|-----------------|---------------------------------------------------------------------------------------------------------------|
| adduser/useradd | adduser:sudo adduser username useradd:sudo useradd username |
| groups(查看所属组) | 显示用户所属的用户组,它可以帮助了解当前用户或指定用户的组成员身份。 |
| chomd | 更改文件或目录权限的命令。 |
| sudo | 对指令进行提权 第一次sudo之后10~15分钟的登录期间不用再输密码; 默认情况下,普通账号是无法进行sudo的。(白名单) |
| chown | 更改文件或目录所有权的命令。基本语法如下: chown user1 example.txt chown user1:group1 example.txt |

1.adduser/useradd

adduser:

sudo adduser username

执行后会提示输入密码、全名等信息,并自动创建家目录(/home/username)。

useradd:

sudo useradd username

默认不会创建家目录,需通过 -m 选项显式启用

sudo useradd -m username

对于 useradd 创建的用户,需手动设置密码:

sudo passwd username

删除用户:

sudo deluser username # 保留家目录

sudo userdel -r username # 删除家目录

  • 若用户正在登录或进程占用文件,命令会报错并终止。
  • 需手动终止用户会话或进程后才能成功删除

userdel -rf 强制删除用户账户及相关文件(主目录、邮件池),忽略错误。(谨慎使用)

2.chmod

(1).数字模式

eg:chmod 755 filename

  • 7(4+2+1):所有者拥有读、写、执行权限。
  • 5(4+0+1):所属组和其他用户拥有读和执行权限。

(2).符号模式:

符号模式通过 u(所有者)、g(所属组)、o(其他用户)和**a(所有用户)** 来设置权限。操作符包括 +(添加权限)、-(移除权限)和 =(设置权限)。

eg:

(3).用户只能改变自己的文件权限

root.txt为root用户的文件

(4).没有权限系统会直接拒绝访问

root除外

3.chown(执行 chown 需要超级用户(root)权限或文件当前所有者的权限。)

修改文件 example.txt 的所有者为 user1:chown user1 example.txt

修改文件 example.txt 的所有者为 user1,组为 group1:chown user1:group1 example.txt

但是我们不能把文件给别人(更改想给别人必须要高权限--sudo或者su root)

二.知识点

1.sudo

不是说用了sudo就可以使用root的权限了,要首先 检查当前用户是否在/etc/sudoers文件中或被包含在sudo组中。使用groups命令查看用户所属组,确保包含sudo。(/etc/sudoers就类似于白名单)

2.

权限=角色+目标属性

eg:root是拥有者,root是所属组,除了拥有者和所属组就是other

读(r)、写(w)、执行(x)权限。

就比如张三和李四在赛马机制下做同一个项目,在处于竞争关系下肯定是最好不要让另一个人,看到自己的文件项目,但假如现在组长要想看张三的文件,如果没有所属组的话,张三就只能将权限放开(other),那么李四不也就可以看到张三的文件了吗?但如果有了所属组,张三只需要将组长拉到自己的所属组就可以单独看到张三的文件了。

3.

即带有w权限不是说文件就可以执行,通过gcc编译后才可以 ./文件名执行

文件名后每个角色所对应权限位置:

3.缺省权限

a.umask:用于控制新创建文件和目录默认权限的机制,,通过屏蔽(反向)权限位来定义新文件的初始权限。

umask 直接查看当前umask

实际权限 = 默认权限 & (~umask)

通过合理配置 umask,可以平衡系统安全性与用户便利性。

4.目录权限

  • 读(r) :允许查看目录内容(如ls命令)。
  • 写(w) :允许创建、删除或重命名目录内文件。
  • 执行(x) :允许进入目录 (如cd命令)或访问目录内文件的元数据。

所以说在默认情况下我们创建的目录都会有rwx权限

并且任何用户不能进入其他用户的家目录---实现了用户之间的隔离

确定权限时首先就对拥有者确定了权限所有只对拥有者开放了权限,对所属组和other都没有w权限,即都不能进入目录

相关推荐
syagain_zsx22 分钟前
spdlog实战:日志分级、滚动与性能调优
linux·c++·日志库·二次开发日志库
GeW13 小时前
新质生产力路线图Linux、数据库、国产化替代一次讲透
linux
aningx15 小时前
cachyos 从 GRUB 切换到 rEFInd
linux
第404号工位16 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
对象存储与RustFS16 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
骑着蜗牛撵大象32718 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
众壹新能源科技18 小时前
逆变器自带无功不够用,加装5MVar SVG后功率因数从0.85回到0.99
运维·人工智能·自动化
..Dauntless..18 小时前
【Linux】一切皆文件和缓冲区
linux·运维·服务器
裕晟资质规划18 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
QMCY_jason18 小时前
x86 ubuntu2204 无gui 安装 openeuler 2203 aarch64版本
linux·运维·服务器