Linux 用户组管理
用户组
群组是大家都熟悉的东西,群组有群主,也就是创建者。群管理员有一定的管理权限,比如上传群文件、管理成员等权限;群成员也有一定的权限,比如下载群文件。
私有组
一般来说,每一个用户都有自己的一个初始组,指的是与用户同名、同 ID 的一个用户组,称之为某用户的私有组。在 Linux 中,用户都不是独立存在的,总是有一个与之绑定的私有组(初始组)。
属主和属组
一个文件(目录)都有它的所属权,通过ls -l
命令可以查看某目录下的属主、属组两个字段。
monitor@ubuntu:/tmp$ ls -l
total 1
drwxr-x--- 2 teacher teacher 4096 10月 7 17:31 class-work
一般来说,属主有对这个文件的所有权。按照从左到右的顺序:
- teacher:文件的属主,也就是它的创建者、所属者。
- teacher:文件的属组,也就是它属于的用户组。
属主和属组要结合文件的权限字符drwxr-x---
,它说明了属主有什么权限,属组有什么权限,以及其他人有什么权限:
- 属主:有读、写、执行权限;
- 属组:有读、执行权限;
- 其他人:没有权限。
属于 teacher 用户组的成员拥有查看该目录的权限,不属于该用户组下的用户就没有任何权限。group 文件,组与组成员的信息:
teacher:x:1001:monitor
monitor:x:1002:student
student:x:1003:
当前登入的用户是 monitor,monitor 属于 teacher 用户组的成员。所以,teacher、monitor 用户都可以访问该目录。值得注意的是 student 属于 monitor 用户组的成员,但 student 不能访问该目录,因为只能直接继承用户组的权限,而不能间接继承用户组的权限:teacher <= monitor <≠ student
。
student 可以有 monitor 的权限,也就是说,除非 class-work 的属组修改为 monitor,否则 student 永远都是“其他人”范畴,也就没有任何权限。
注意:更改权限之后,记得重新开一个终端,否则不起效果。
读懂文件的权限
在上面已经提到了这种权限的符号,它由三个部分组成:rwx、r-x、r-x,分别表示属主、属组和其他人。r、w、x 是 read、write、execute 的简写形式,而最前面的 d 字母代表的是该文件的类型,d 表示目录(注意:目录也是文件,一切皆文件):
表1:文件类型以及符号
文件类型 | 符号 | 文件类型 | 符号 |
---|---|---|---|
普通文件 | - | 本地域套接口 | s |
目录 | d | 有名管道 | p |
字符设备文件 | c | 符号链接 | l |
块设备文件 | b |
表2:ls -l 列出的信息对照表
列数 | 内容 | 描述 |
---|---|---|
1 | drwxr-xr-x | 文件权限 |
2 | 2 | 文件硬链接数 |
3 | zrf | 文件或目录所属者,即属主 |
4 | zrf | 文件或目录所属的组,即属组 |
5 | 4096 | 占用的存储空间,单位字节(KB) |
6 | 9月30 | 最后创建或修改的时间 |
7 | 2022 | 最后创建或修改的时间 |
8 | Desktop | 文件或目录名 |
八进制的文件权限
虽然已经有了如上的文件权限的字符串表示形式,但在实际运用中是以八进制来表示文件的权限的。先通过二进制来理解文件的权限,例如:rwx 代表 111、-wx 代表 011、--x 代表 001,依次类推。111 已经是权限的最大二进制数了,二进制对应的八进制如下表格:
表3:八进制、二进制、文件权限的对应关系
八进制 | 二进制 | 权限 | 八进制 | 二进制 | 权限 |
---|---|---|---|---|---|
0 | 000 | --- | 4 | 100 | r-- |
1 | 001 | --x | 5 | 101 | r-x |
2 | 010 | -w- | 6 | 110 | rw- |
3 | 011 | -wx | 7 | 111 | rwx |
其实,不需要记住上面这些数字的排列组合。在实际使用中,只要记住 1 代表 x,2 代表 w,4 代表 r,简单地做加法就可以了。例如:rwx = 4+2+1=7、r-x=4+0+1=5、--x=0+0+1=1,相连起来 751 就是这个目录的权限。
更新文件的权限
更新文件的权限通过chmod
指令,以下是两种修改文件权限的方式。根据自己的喜好选择,我推荐使用第一种方式来修改,因为是最简单和最直观的。
修改方式一
更新文件权限最直观、最简单的就是通过权限的字符,即 r、w、x。属主、属组、其他人、所有人分别用 u、g、o、a 来表示。
1️⃣ 修改目录的属组权限为 r、x,其他人为 ---:
zrf@ubuntu:/tmp$ ls -l
total 1
d--------- 2 teacher monitor 4096 10月 20 18:11 class-work
zrf@ubuntu:/tmp$ sudo chmod g=rx,o=- class-work/
zrf@ubuntu:/tmp$ ls -l
total 1
d---r-x--- 2 teacher monitor 4096 10月 20 18:11 class-work
2️⃣ 修改目录的属主和属组的权限为 r、w、x:
zrf@ubuntu:/tmp$ sudo chmod ug=rwx class-work
zrf@ubuntu:/tmp$ ls -l
total 1
drwxrwx--- 2 teacher monitor 4096 10月 20 18:11 class-work
3️⃣ 删除属组的 w 权限,添加就用符号+
,删除就用符号-
:
zrf@ubuntu:/tmp$ sudo chmod g-x class-work
zrf@ubuntu:/tmp$ ls -l
total 1
drwxrw-r-x 2 teacher monitor 4096 10月 20 18:11 class-work
修改方式二
这种方式修改文件的权限是通过八进制来修改的,比如,750 代表 rwxr-x---。上面说的“八进制的文件权限”。
把 class-work 目录的权限修改为:rwxr-xr-x。rwx = 4+2+1=7、r-x=4+0+1=5、r-x=4+0+1=5,相连起来 755 就是这个目录的权限:
zrf@ubuntu:/tmp$ sudo chmod 755 class-work
zrf@ubuntu:/tmp$ ls -l
total 1
drwxr-xr-x 2 teacher monitor 4096 10月 20 18:11 class-work
更新文件的所属
通过chown
指令可以改变文件的属主和属组,:
的左边是属主,右边是属组:
zrf@ubuntu:/tmp$ ls -l
total 2
drwxr-x--- 2 teacher monitor 4096 10月 7 17:31 class-work
drwxrwxr-x 2 monitor monitor 4096 10月 7 21:48 monitor-work
zrf@ubuntu:/tmp$ sudo chown teacher:teacher class-work/
zrf@ubuntu:/tmp$ ls -l
total 2
drwxr-x--- 2 teacher teacher 4096 10月 7 17:31 class-work
drwxrwxr-x 2 monitor monitor 4096 10月 7 21:48 monitor-work
用户组成员管理
usermod
用户组 GroupB 添加用户 UserA:
sudo usermod -G GroupB UserA
sudo cat /etc/group | grep UserA
GroupB:x:1000:UserA
gpasswd
用户组 GroupB 添加用户 UserA:
sudo gpasswd -a UserA GroupB
sudo cat /etc/group | grep UserA
GroupB:x:1000:UserA
用户组 GroupB 删除用户 UserA:
sudo gpasswd -d UserA GroupB
sudo cat /etc/group | grep GroupB
GroupB:x:1000:
Linux 用户组管理的更多相关文章
- linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解
linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...
- Linux用户组管理及用户权限2
用户.组和权限管理 Multi-tasks,Multi-Users,多任务,多用户的计算机 每个使用者: 用户标识.密码: Authentication ...
- Linux用户组管理
用户组信息存放:/etc/group 当组内只有一个用户,并且用户名和用户组名一致时默认不显示:组号1-499是系统预留的用户组,>=500的用户组是管理员手动创建的,组密码占位符用x表示 ...
- Linux用户组管理及用户权限4
权限管理: ls -l rwxrwxrwx: 左三位:定义user(owner)的权限 中三位:定义group的权限 ...
- Linux用户组管理及用户权限3
用户.组管理命令 安全上下文: 进程以其发起者的身份运行: 进程对文件的访问权限,取决于发此进程的用户的权限 系统用户:为了能够让那些后台进程或服务类进程以非管理员 ...
- Linux 用户组管理命令
groupadd 组名,可以添加用户组 groupmod -n 新组名 老组名,可以修改组名 groupdel 组名,可以删除组(组中不能有初始用户存在,附加用户无所谓) gpasswd -a 用户名 ...
- Linux用户组管理及用户权限1
bash的基础特性: globbing:文件名通配(整体文件名匹配,而非部分) 匹配模式:元字符 *:匹配任意长度的任意字符 例 ...
- Linux常用命令学习8---(用户和用户组管理)
1.用户和用户组 用户和用户组概念 用户:使用操作系统的人(Linux支持多个用户在同一时间登陆同一个操作系统) 用户组:具有相同权限的一组用户(Linux系统中可 ...
- Linux 用户和用户组管理
Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...
- Linux学习笔记(12)用户和用户组管理
越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范.在Linux中主要是通过用户配置文件来查看和修改用户信息. 1 用户信息文件 (1)用户信息文件/etc/passw ...
随机推荐
- 【Java SE进阶】Day01 Object类、日期时间类、System类、StringBuilder类、包装类
一.Object类 1.概述:Java语言的根类/超类,默认继承自Object类 2.常用方法 toString():返回对象的字符串表示--对象类型@内存地址值 可以对其重写@Override eq ...
- MongoDB数据库与Python的交互
一.缘由 这是之前学习的时候写下的基础代码,包含着MongDB数据库和Python交互的基本操作. 二.代码实现 import pymongo #连接数据库 client=pymongo.MongoC ...
- MySQL事务(四大特性)-存储过程
目录 一:事务 1.四大特性(ACID) 2.事物存在的必要性(真实比喻) 3.如何使用事务 4.开启事务-回滚-确认 二:事务案例实战 1.模拟消费 2.创建 3.插入数据 4.开启事务 5.修改操 ...
- Jmeter 之随机控制器与随机顺序控制器
一.随机控制器 随机控制器相当于python 中的 random.choice(),随机选取其中的一个取样器(业务执行) 实例中随机运行了其中的一个请求 二.随机顺序控制器 随机顺序控制器相当于pyt ...
- python安装过程
1.在官网下载,点击进入安装包. 2.把Add勾上,会自动配置环境变量. 3,这些是要下载的东西,要全部勾上. 4.这里特别注意路径,把路径改成自己想放的盘里面. 5.配置环境变量,在此电脑搜索 编辑 ...
- 1、debug调试
Debug断点调试: Debug调试界面图: 利用Debug功能来追踪代码的运行流程,分析与定位异常发生的位置,观察运行中数据的变化. 1.Step Over(F8):进入下一步,如果当前行断点是一个 ...
- 模型驱动设计的构造块(下)——DDD
3. 领域对象的生命周期 每个对象都有生命周期,如下图所示.对象自创建后,可能会经历各种不同的状态,直至最终消亡--要么存档,要么删除.当然很多对象是简单的临时对象,仅通过调用构造函数来创建,用来做一 ...
- Asp-Net-Core权限认证
title: Asp.Net Core权限认证 date: 2022-10-27 16:17:52 tags: - .NET 翻了很多的博客,文档,发现asp.net core自带的权限认证还是比较复 ...
- ABC193F Engines
简要题意 给出 \(n\) 个向量,求其子集的和的最大模长. \(1 \leq n \leq 100\) 思路 先说结论:选出的几个向量,一定是极角排序后的某一段(环形)区间. 这个不难感性理解,比如 ...
- 03-逻辑综合工具 - Design Compiler
逻辑综合工具DC IC设计流程,市场-->制定spec-->RTL(同时进行sim,通过alint检查RTL有没有错误)-->systhesis(逻辑综合)-->PR(STA) ...