当前位置:网站首页>Lunix命令入门 - 用户及文件权限(chmod 详解)
Lunix命令入门 - 用户及文件权限(chmod 详解)
2022-07-24 05:21:00 【一只小EZ】
提要
本文章主要介绍Lunix命令中用户操作相关 如useradd userdel 等。以及文件权限修改chmod命令
介绍
首先需要明确一个主旨核心 Lunix是一个由文件组成的多用户系统
由文件组成,那自然有对于文件的操作 ,Lunix对于文件的操作主要有三种 读 (Read) ,写(Write),执行(Excute)
多用户系统,Lunix中的多个用户可以在同一时间使用该系统,那么自然会派生出一系列的权限问题。大致可以分为 用户 以及用户组。用户中又有管理员和普通用户之分。
用户操作
点击上方链接可见全部指南
添加用户
常见命令如下,即添加了一个名为zizy的用户
useradd zizy
设置用户的密码
为zizy用户指定密码为123456
passwd zizy
New password:123456
Re-enter new password:123456
改变用户分组
我们想创建一个名为mysql的组 ,组号为5000(组号用于唯一标识一个组),该组的用户进行数据库的管理
groupadd -g 5000 mysql
同时我们把zizy用户添加到mysql组中 作为数据库管理员之一
usermod -g mysql zizy
删除用户
删除用户zizy
userdel zizy
删除组
groupdel mysql
文件权限
文件具有归属,不同身份的用户对于不同文件的权限不同
lunix文件主要有 文件类型和文件权限属性
文件类型有 目录 d ,文件 - ,链接 l ,接口 b ,端口 c
文件的权限分为 读 r ,写 w ,执行 x
一个常见的文件属性表示为
-rwxrwxrwx
第一个 - 表示这是一个文件
之后的第一个rwx表示 文件所属用户对于该文件有 读写执行权限
第二个rwx 表示文件所属的用户组对于该文件有 读写执行权限
第三个rwx 表示其它用户(非所属用户 非所属用户组) 对于该文件有 读写执行权限
通过十位即标定了文件的类型和不同用户的权限,
如果没有该权限则会把对应位变成 -
如下
drwxr-xr--
表示这是一个目录
所属用户有 读写执行权限
所属用户组有 读 执行权限
其它用户只有读 权限
更改文件权限
使用chmod命令进行文件权限的修改
数字赋值法
这也是最常见的一种方法 使用数字 4 2 1 分别代表 r w x
并且将其相加 如 rwx 为 7 rw- 为 6 r-x 为 5 r-- 为 4
对于一个文件a01 使用如下命令
chmod 761 a01
该文件的权限属性为
-rwxrw---x
直接赋值法
对于 用户(u) 用户组 (g) 其它用户(o) 直接赋予权限
对于一个文件a01 使用如下命令
chmod u=rwx,g=rx,o=x a01
该文件的权限属性为
-rwxr-x--x
使用 + - 符号 增加删除权限
对于如下权限的a01文件
-rwxr-x--x
使用如下命令
chmod u-w ,o+rw a01
权限会变为
-r-xr-xrwx
进阶
好了 现在朋友们应该了解了文件权限的基础了 ,现在我们来讲点进阶和花里胡哨的吧
使用umask来获取文件权限
umask设置了用户创建文件的默认权限,可以使用命令 umask 来查看umask值。
简单来讲 就是可以通过umask来了解 我们新创建一个文件时 它的默认权限是什么。
umask有四位 如 0043 一般而言 我们只看它的后三位就好 即043
对于文件 ,使用666减去umask值 然后奇数位+1(所有的奇数位都得加一)
666 - 043 = 623 然后奇数位加一 文件的权限即为 624
-rw--w-r--
对于文件夹 使用777减去umask值 即可
777 - 043 = 734 文件夹的权限为 734
drwx-wxr--
特殊文件权限
setuid 对于 用户(u) 赋予超级权限 ,用s表示
- 假设原来的权限是 rwx , + s 得到 rws 。即 rwx + s -> rws
- 假设原来的权限是 rw- , + s 得到 rwS。即 rw- + s -> rwS
setgid 对于 用户组(g) 赋予超级权限
- 假设原来的权限是 rwx , + s 得到 rws 。即 rwx + s -> rws
- 假设原来的权限是 rw- , + s 得到 rwS。即 rw- + s -> rwS
sticky 只有所有者或root能删除 ,对于 其它用户(o) 操作
- 假设原来的权限是 rwx , + t 得到 rwt 。即 rwx + t -> rwt
- 假设原来的权限是 rw- , + t 得到 rwT。即 rw- + T -> rwT
注: 大小写和rwx的前两位无关 只与第三位 x 的有无 有关
对于如下权限的a01文件
-rw-rwxrw-
使用该操作
chmod u+s,g+s,o+t a01
得到的结果为
-rwSrwsrwT
使用数字标识的特殊权限
setuid setgid sticky 分别用 4 2 1 表示
标识在三位的前面 作为首位 这时文件的权限 就变成了四位
比如文件权限位为741
使用chmod加入setuid 和sticky 权限之后
chmod u+s,o+t a01
就变成了 5741 , 5 标识了 setuid 和 sticky
边栏推荐
- UDP通讯应用于多种环境的Demo
- STM32标准外设库(标准库)官网下载方法,附带2021最新标准固件库下载链接
- 列表写入txt直接去除中间的逗号
- 【深度学习】手写神经网络模型保存
- Answers and analysis of some after-school exercises in signals and systems (Wujing)
- [raspberry pie 4B] VII. Summary of remote login methods for raspberry pie xshell, putty, vncserver, xrdp
- "Statistical learning methods (2nd Edition)" Li Hang Chapter 14 clustering method mind map notes and after-school exercise answers (detailed steps) K-means hierarchical clustering Chapter 14
- CRC-16 Modbus代码
- 《剑指Offer》 二维数组的查找 C语言版本
- The problem that the user name and password are automatically filled in when Google / Firefox manages the background new account
猜你喜欢

Synergy LAN realizes multi host shared keyboard and mouse (AMD, arm)
![[activiti] gateway](/img/8c/c89ec6c4c5871a32218ddadfd8beba.png)
[activiti] gateway

Could not load library cudnn_ cnn_ infer64_ 8.dll. Error code 126Please make sure cudnn_ cnn_ infer64_ eight

day2-WebSocket+排序

Machine learning (zhouzhihua) Chapter 5 notes on neural network learning

单播、组播、广播、工具开发、QT Udp通讯协议开发简介及开发工具源码

The detailed process of connecting MySQL with QT and outputting data to QT window tablewidget.

Yolov5 learning summary (continuously updated)

【深度学习】手写神经网络模型保存

头歌 平台作业
随机推荐
Qt新建工程简介
day6-jvm
单播、组播、广播、工具开发、QT Udp通讯协议开发简介及开发工具源码
JVM系统学习
Pytorch single machine multi card distributed training
[MYCAT] MYCAT installation
JUC并发编程基础(9)--线程池
Sequential stack C language stack entry and exit traversal
JSON. Dumps() function parsing
Test whether the label and data set correspond after data enhancement
【数据库系统原理】第五章 代数和逻辑查询语言:包、扩展操作符、关系逻辑、关系代数与Datalog
Accurate calculation of time delay detailed explanation of VxWorks timestamp
"Statistical learning methods (2nd Edition)" Li Hang Chapter 15 singular value decomposition SVD mind map notes and after-school exercise answers (detailed steps) SVD matrix singular value Chapter 15
day1-jvm+leetcode
Foundation of JUC concurrent programming (6) -- lock lock
[MYCAT] MYCAT sub database and sub table
Numpy array broadcast rule memory method array broadcast broadcast principle broadcast mechanism
systemctl + journalctl
Write the list to txt and directly remove the comma in the middle
Jupyter notebook选择conda环境