Linux系统的用户和用户群组的各种权限总结

news2024/11/23 11:29:16

Linux系统的用户和用户群组的各种权限总结

    • 用户群组
      • 用户群组文件
      • 添加群组:groupadd
    • 用户
      • 用户文件
      • 新建用户:useradd
      • 修改用户:usermod
      • 删除用户:userdel
    • 文件归属:chown
    • 文件权限:chmod
    • 相关文件和目录

用户群组

用户群组文件

/etc/group: 记录系统用户群组的文件

添加群组:groupadd

# 添加一个名为 tech1 的新群组,GID标识号默认自增
groupadd tech1

# 添加一个名为 tech1 的新群组,GID标识号为2001
groupadd -g 2001 tech1

用户

用户文件

/etc/passwd: 记录系统用户的文件

新建用户:useradd

# 新增用户
useradd tester1

# 新增带备注的用户
# cat /etc/passwd |tail -1
useradd -c remark1 user1

# sudo 是一个非常有权势的群组, tester3 加入到这个群组
useradd tester3 -g sudo
  • -N: 不要创建以用户名称为名的群组,并强制设置用户GID为100。
  • -d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
  • -g: 指定用户所属群组。值可以使组名也可以是GID。用户群组必须已经存在的,期默认值为100,即users。
  • -G: 指定用户所属的附加群组。
  • -m:自动建立用户的登入目录。
  • -M:不要自动建立用户的登入目录。
  • -s:指定用户登入后所使用的shell。默认值为/bin/bash。
  • -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。
  • -c:加上备注文字,备注文字保存在passwd的备注栏中。

修改用户:usermod

# 修改用户帐号的备注文字
usermod -c remark2 user1

# 修改用户user1的登陆目录
usermod -d /wwwroot/user1 user1

# 修改账户名
usermod -l user111 user1

# 修改用户ID
usermod -u 1995 user1

# 添加用户 john 到 tech1 群组中
usermod -a -G tech1 john
usermod -aG tech1 john
  • usermod命令不允许改变在线的使用者帐号名。
  • 当usermod命令用来改变user id,必须确认这名user没在执行程序。
  • 使用 -aG 而不是仅仅 -G, 是为了避免将用户从原有组中移除。这里只进行追加操作。
  • 如果组名包含空格或特殊符号,请使用双引号,包裹字符串参数

-g<群组>:修改用户所属的群组;

[root@centos6 ~]$ usermod -g yingyu han
[root@centos6 ~]$ id han
uid=2019(han) gid=506(yingyu) groups=506(yingyu)

-G<群组>;修改用户所属的附加群组;

[root@centos6 ~]$ usermod -G shuxue han
[root@centos6 ~]$ id han
uid=2019(han) gid=506(yingyu) groups=506(yingyu),2020(shuxue)

删除用户:userdel

userdel -f user1
  • -f:强制删除用户,即使用户当前已登录。
  • -r:删除用户的同时,删除与用户相关的所有文件。

文件归属:chown

chown [参数选项] 所属用户[:所属用户群组] 文件或目录

# 更改目录或文件 fileordir1 的所属用户为 user1
chown user1 fileordir1

# 更改目录或文件 fileordir1 的所属用户为 user1, 所属群组为 group1
chown user1:group1 fileordir1

# 使用冒号: 修改所属用户群组
chown :group1 fileordir1

# 使用 -R 参数,对目录下,所有的文件和文件夹,一起修改
chown -R user1:group1 dir1/

文件权限:chmod

Linux的文件权限系统

语法: chmod [选项] 权限模式 文件名或目录

# 给文件file1的所属群组,添加可写权限
chmod g+w file1

# 给文件file1的所属群组,添加可执行权限
chmod g+x file1

# 给文件run.php的所属用户和群组,赋予读写和执行权限。其他人为可执行权限。
chmod u=rwx,g=rwx,o=x run.php

# 对dir1目录下的所有文件和文件夹,所有用户都赋予读写和可执行权限。
# a=rwx 参数,与 777 参数效果相当。即:chmod -R 777 dir1/
chmod -R a=rwx dir1/

权限模式who opt per 三部分的 组合参数:

  • who: 指定归属者。参数为用户 u,群组 g,其他 o,所有 a
  • opt: 操作符。指定归属者的权限操作为添加 +,减少 -,还是直接变更 =
  • per: 指定给归属者的具体权限(permission)。参数为可读 r,可写 w,可执行 x

这种 组合参数的权限模式, 比诸如 chmod 400 chmod 600 chmod 777 之类的纯数字好记很多。

相关文件和目录

  • /etc/passwd: 用户信息文件。格式为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
  • /etc/group: 用户群组信息文件。格式为 组名:口令:组标识号:组内用户列表
  • /etc/shadow: 用户密码文件。格式为 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • /etc/gshadow: 用户群组密码文件
  • /home/user1/: 用户user1的主目录
  • /var/spool/mail/user1/: 用户user1的邮箱目录

/etc/shadow 文件各字段的含义:

  1. 登录名 是与 /etc/passwd 文件中的登录名相一致的用户账号

  2. 口令 字段存放的是加密后的用户口令字:

  • 如果为空,则对应用户没有口令,登录时不需要口令;

  • 星号代表帐号被锁定;

  • 双叹号表示这个密码已经过期了;

  • 6 6 6开头的,表明是用SHA-512加密;

  • 1 1 1表明是用MD5加密;

  • 2 2 2 是用Blowfish加密;

  • 5 5 5 是用 SHA-256加密;

  1. 最后一次修改时间 表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。

  2. 最小时间间隔 指的是两次修改口令之间所需的最小天数。

  3. 最大时间间隔 指的是口令保持有效的最大天数。

  4. 警告时间 字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

  5. 不活动时间 表示的是用户没有登录活动但账号仍能保持有效的最大天数。

  6. 失效时间 字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。


useradd、usermod、userdel命令详解: https://www.cnblogs.com/Alwayslearn/p/17206186.html
linux的用户管理和权限设置相关命令 https://blog.csdn.net/tjfsuxyy/article/details/130707234
linux etc下 passwd、shadow和group文件详解 https://cloud.tencent.com/developer/article/1017460

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2209608.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络通信——流量与路由(万字解读)

前言:流量控制与路由更新控制 如何控制网络流量可达性? 方案一:可通过修改路由条目(即对接收和发布的路由进行过滤)来控制流量可达性,这种方式称为路由策略。 方案二:可直接通过依据用户制定的策略进行转发,且该策略优于路由表转发,这种方式称为策略路由。 (1)什么…

音视频入门基础:H.264专题(18)——AVCDecoderConfigurationRecord简介

一、引言 H.264流行的包装方式有两种&#xff0c;一种是AnnexB&#xff0c;另一种是avcC。对于AnnexB包装的H.264码流&#xff0c;其SPS和PPS被当做普通的NALU来处理&#xff1b;而对于avcC包装的H.264码流&#xff0c;其SPS和PPS信息存贮在AVCDecoderConfigurationRecord中&a…

Java项目实战II基于Java+Spring Boot+MySQL的服装销售平台(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在当今数字…

C++面试速通宝典——24

452. Linux进程地址空间 文本段&#xff1a;包含程序的可执行代码初始化数据段&#xff08;数据段&#xff09;&#xff1a;包含已初始化的全局变量和静态变量。未初始化数据段&#xff08;BSS段&#xff09;&#xff1a;包含未初始化的全局变量和静态变量。堆&#xff1a;动态…

Python 在Excel中添加数据条

在Excel中添加数据条是一种数据可视化技巧&#xff0c;它通过条形图的形式在单元格内直观展示数值的大小&#xff0c;尤其适合比较同一列或行中各个单元格的数值。这种表示方式可以让大量的数字信息一目了然。本文将介绍如何使用Python在Excel中的指定单元格区域添加数据条。 …

Apache HTTP Server 配置SSL证书(Windows)

Apache2.4.39 HTTP Server 配置SSL证书 1. 申请证书 申请证书步骤(略) 证书名称如下: ca-bundle.crt xxx_com.crt xxx_com.key2. 配置 证书位置:Apache2.4.39\conf\ssl Apache2.4.39\conf\ssl修改两个配置文件: 0localhost_80.conf <VirtualHost *:80>Rewrite…

【HTML格式PPT离线到本地浏览】

文章目录 概要实现细节小结 概要 最近在上课时总是出现网络不稳定导致的PPT无法浏览的情况出现&#xff0c;就想到下载到电脑上。但是PPT是一个HTML的网页&#xff0c;无法通过保存网页&#xff08;右键另存为mhtml只能保存当前页&#xff09;的形式全部下载下来&#xff0c;试…

数据库实验2-2

10-1 将学号为“1911203”的学生的联系电话改为“590987” 本题目要求编写SQL语句&#xff0c; 在students表中&#xff0c;将学号为“1911203”的学生的联系电话改为“590987”。 提示&#xff1a;请使用UPDATE语句作答。 表结构: 请在这里写定义表结构的SQL语句。例如&am…

碳钎维:无人机轻量化关键材料!

一、碳纤维材料特性 轻质高强&#xff1a; 碳纤维是一种含碳量在95%以上的高强度新型纤维材料&#xff0c;具有极高的比强度和比刚度。 在同等重量下&#xff0c;其拉伸强度可达到钢、铝合金、钛合金的9倍以上&#xff0c;弹性模量可以达到钢、铝合金、钛合金的4倍以上。 耐…

c语言经典100例

1.字符串转为数字 #include <stdio.h>int strToInt(char *s) {int num0;int sign1;int step1;if (*s -){sign -1;s;}while (*s > 0&&*s < 9){num num*10(*s-0);step 10;s;}return num*sign; }int main() {char a[10] "-1234";char *s a ;pr…

git删除错误的commit

文章目录 1、git删除错误的commit2、.gitignore配置文件不生效的问题 1、git删除错误的commit git的流程如图&#xff1a; 当某次失误造成commit的版本有问题&#xff0c;需要回退到正常的版本修改后重新add。 首先通过git log查看commit提交记录&#xff0c;可以看到HEAD-…

2024最新版安装教程!Python安装+PyCharm安装使用教程!!(非常简单)

Python下载安装 一、进入Python官网首页&#xff0c;下载最新版的Python 官方网址&#xff1a;Download Python | Python.org 鼠标悬浮在Downloads&#xff0c;选择最新版本 注意&#xff1a;由于Python官网服务器设立在国外&#xff0c;所以下载速度非常慢&#xff0c;我这…

在centos(ubuntu)中如何通过预构建二进制文件安装nodejs

首先去Node.js下载你说需要的版本的预构建二进制文件Node.js — 下载 Node.js 在CentOs或Ubuntu离线服务器上安装Node.js&#xff0c;你可以通过下载Node.js的预构建二进制文件来完成。以下是具体步骤&#xff1a; 获取Node.js预构建二进制文件&#xff1a; 在有网络连接的机器…

【Linux系统编程】线程的简单运用

目录 前言&#xff1a; 一&#xff0c;线程退出 二&#xff0c;进程异常 三&#xff0c;资源共享 四&#xff0c;单线程的代码运用 五&#xff0c;多线程的代码运用 六&#xff0c;线程的优缺点 七&#xff0c;线程的私有与共享 前言&#xff1a; 学习有关线程的代码运…

论文笔记:Prompt-Based Meta-Learning For Few-shot Text Classification

论文来源&#xff1a;EMNLP 2022 论文地址&#xff1a;2022.emnlp-main.87.pdf (aclanthology.org) 代码地址&#xff1a;GitHub - MGHZHANG/PBML GB/T 7714 Zhang H, Zhang X, Huang H, et al. Prompt-Based Meta-Learning For Few-shot Text Classification[C]//Proceedi…

selenium:操作滚动条的方法(8)

selenium支持几种操作滚动条的方法&#xff0c;主要介绍如下&#xff1a; 使用ActionChains 类模拟鼠标滚轮操作 使用函数ActionChains.send_keys发送按键Keys.PAGE_DOWN往下滑动页面&#xff0c;发送按键Keys.PAGE_UP往上滑动页面。 from selenium import webdriver from se…

使用js和canvas实现简单的网页贪吃蛇小游戏

玩法介绍 点击开始游戏后&#xff0c;使用键盘上的↑↓←→控制移动&#xff0c;吃到食物增加长度&#xff0c;碰到墙壁或碰到自身就游戏结束 代码实现 代码比较简单&#xff0c;直接阅读注释即可&#xff0c;复制即用 <!DOCTYPE html> <html lang"en"…

windows环境,同一个服务器安装多个相同版本的mysql数据库

windows环境&#xff0c;同一个服务器安装多个相同版本的mysql数据库 1、第一个数据库 1.下载 mysql官网MySQL :: Download MySQL Community Server (Archived Versions)下载对应版本的zip文件 2.解压 解压zip文件夹 3.配置my.ini 打开my.ini配置文件&#xff0c;如果没…

Vistual Studio 使用

下载安装 安装管理工具 在安装管理工具里勾选如下内容 快捷键 F5&#xff1a;运行或调试F9&#xff1a;设置或删除断点F10&#xff1a;单步执行&#xff08;Step Over&#xff09;F11&#xff1a;进入函数内部&#xff08;Step Into&#xff09;ShiftF11&#xff1a;退出当…

智能伺服,精准控制:匠芯创科技M6800系列方案助力工业升级

匠芯创科技低压伺服硬件方案 随着工业4.0的推进和智能制造的兴起&#xff0c;工业机器人和电子制造设备经历了迅猛发展。低压伺服系统作为关键动力与控制组件&#xff0c;提高了生产效率和精度&#xff0c;促进制造工艺的自动化和智能化&#xff0c;在新兴产业中的应用日益增多…