10、自学——Linux的学习进度与任务【用户和用户组相关操作】

用户和用户组相关操作

用户和用户组定义:

    用户:资源获取标识符(资源分配),是安全权限模型的可信要素之一

     用户组:用户组是指多个用户的集合,方便对一类需要同样权限的用户授权

      密码:用户认证

      Linux是多用户、多任务的操作系统。

            多用户指:多人同时使用系统资源;多任务:同时运行多个进程


用户和用户组的类别:

    1、用户:名称解析库 /etc/passwd

        a、管理员

          root 用户标识(UID)为0

        b、普通用户及系统用户

              普通用户的用户标识(既UID):

                    CentOS 5,6: 500+

                    CentOS 7: 1000+

              系统用户用户标识(既UID):

                    CentOS 5,6: 1-499

                    CentOS 7: 1-999

      2、用户组:名称解析库 /etc/group

         a、管理员组

            组标识为:0

         b、普通用户组及系统用户组

               普通用户组标识:

                       CentOS 5,6: 500+

                       CentOS 7: 1000+

                系统用户组标识:

                      CentOS 5,6: 1-499

                      CentOS 7: 1-999 

     3、用户组类别:

            以用户为核心分为:

                  用户的主组:基本组;

                  用户的附加组:额外组;

            以容纳的用户来划分:

                  私有组:与用户名相同,且只有一个用户;

                  共有组:组内包含了多个用户;

用户及用户组的认证机制

      Linux的用户密码认证方式在centos7中使用sha512

          认证信息库存储位置:

                用户的认证(密码)信息库:/etc/shadow

                组的认证信息库:/etc/gshadow

          密码:加密存放,使用单向加密机制

          加密方法:
              对称加密:如果加密和解密使用的同一个密钥.DES数据加密标准,3DES,AES,
               公钥加密:DSA,RSA
               单向加密:输入的数据相同,则输出相同
               输入的数据不同,则雪崩效应
               定长输出
               不可逆
               MD5:信息摘要128bits
               SHA1:安全的hash算法:160bits
               SHA256:
               SHA512:

               操作:
                 # md5sum 文件 :检测密码
                 # sha1sum 文件


用户及用户组管理命令

    添加组

         # groupadd [options] group

              -g  GID:指明GID;

            -r, –system:系统组    

 

      修改组信息

 

         # groupmod [选项] GROUP

 

              -g  GID 

 

              -n NEW_NAME:修改组名;

 

     删除组

 

        # groupdel [选项] GROUP

 

     添加用户

 

          # useradd  [选项]  登录名

               -c, –comment COMMENT:注释信息,一般为Full Name

 

                -d, –home  /PATH/TO/HOME_DIR:家目录路径;目标路径不能事先存在,否则会有警告,不会复制skel相关的文件给用户; 

              -g, –gid GROUP:用户的基本组组名或GID;              

 

                  -G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;

 

              -m, –create-home:强制创建家目录;

 

                            一般指当CREATE_HOME变量为设置时必须使用此参数 

 

                 -M:不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes; 

 

               -r, –system:创建一个系统账户

 

                        创建系统用的UID在0-999之内。且不创建家目录

 

               -s, –shell SHELL:用户的登录 shell 名,默认为留空,让系统根据 /etc/default/useradd 中的 SHELL 变量选择默认的登录shell;

 

                 -u, –uid UID:用户 ID 的数字值。此值必须为唯一的,除非使用了 -o 选项。此值必须非负,默认使用大于等于UID_MIN,且大于任何其他用户 ID 最小值。

 

                      注意:创建登录用户时,为其自定义的shell程序必须为可登录shell,且要位于/etc/shells文件中;

 

              # useradd -D:显示创建用户时的默认设置;

               # useradd -D  选项:设置某默认选项;

 

                       -e, –expiredate  EXPIRE_DATE:用户账号的过期期限;过期后会被锁定;日期以 YYYY-MM-DD 格式指定

 

                       -f, –inactive INACTIVE:密码过期后,账户被彻底禁用之前的天数。0 表示立即禁用,-1 表示禁用这个功能。 

 

     配置文件:

 

          为用户提供默认配置的配置文件:

 

            /etc/login.defs, /etc/default/useradd

 

         影子口令文件:/etc/shadow

 

            /etc/shadow每个字段的意思:

 

                 登录名:密码:最近一次的修改时间:密码的最短使用期限:密码最长使用期限:提前警告的天数:非活动期限:账号的禁用日期:保留字段

 

 

 

     修改账号信息

          # usermod [选项] 

 

                  -c, –comment  COMMENT

 

                  -d, –home  HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;

 

                  -g, –gid GROUP

 

                  -G, –groups  GRO    UP1[,GROUP2,…[,GROUPN]]]:修改时会覆盖原有的附加组;一同使用-a选项,表示为用户添加新的附加组;

 

                  -l, –login  NEW_LOGIN:修改当前用户的用户名;

 

                  -s, –shell  SHELL

 

                  -u, –uid  UID

 

                -L, –lock:锁定用户的密码。这会在用户加密的密码之前放置一个“!”

 

                  -U, –unlock:解锁用户的密码。这将移除加密的密码之前的“!”

 

      删除用户账号

 

            # userdel [选项]  登录名

 

                  -r, –remove:用户主目录中的文件将随用户主目录和用户邮箱一起删除

 

     密码管理命令

 

        (1)# passwd:修改自己的密码;

 

        (2)# passwd  username:修改其它用户的密码,仅root有此权限;

 

        密码复杂度:

 

              (1) 不能少于8个字符;

 

              (2) 不能使用与过去的密码太相似的密码;

 

              (3) 应该使用四类字符中的至少三类;

 

        选项:

 

              -l:锁定密码

 

              -u:解锁解密

 

              -d:清除密码

 

            与usermod不同的是,passwd在锁定时密码前面有两个!!号

 

                特殊用法:可以避免交互式

 

                   –stdin:从标准输入接收密码;

 

                echo "PASSWORD" | passwd  –stdin  USERNAME  

 

      为组添加密码

 

              组密码文件:/etc/gshadow

 

            # gpasswd [选项] group

 

                  -a USERNAME:把用户添加至组中;

 

                  -d USERNAME:从此组中移除此用户;

 

          # newgrp命令:登录到一个新组

 

          # chage命令:修改用户账号的各种期限;


        查看用户相关信息
          # id UserName
              -u :显示UID,跟-n一起使用则显示用户名
              -g :显示基本组ID,跟-n一起使用则显示基本组名
              -G:显示所有组ID。跟-n一起使用则显示所有组名

 

       修改用户的属性定义:
           修改用户默认shell:# chsh
           修改用户注释:# chfn

 

       切换用户:
          su :Switch User
          切换用户:
              su Username
                  -l(不加-l非登陆切换):登陆式切换
                  -c"COMMAND":



      umask命令:
          创建文件:666-umask
               文件默认决不允许出现执行权限
               umask 023
               666-023=644

          创建目录:777-umask

          root :022
          如果用户名和基本组组名一致:002,否则则为:022







 

转载于:https://www.cnblogs.com/wxt19941024/p/6804274.html

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

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

相关文章

c语言构造数据类型有,《c语言程序设计基础7构造数据类型.ppt

《c语言程序设计基础7构造数据类型第7章 构造数据类型 第7章 构造数据类型 第7章 构造数据类型 7.1 构造数据类型概述 构造数据类型是C语言的一个特色,它是由一些简单数据类型构造而来的。 前面所学的数组就是其中最基本的的一种。数组是由若干类型相同的元素构成&a…

在UnitTest中读取*.config文件的郁闷

- -Visual Stuido 2005集成了Unit Test功能后,创建和管理Unit Test变得比原来简单多了,并且独立项目的Unit Test模块和代码不会再"残留"于我们的dll中。不过VS 2005 Unit Test运行方法的原理和其他的Unit Test框架一样,也是使用反射…

Maven属性(properties)标签的使用

在命令行使用属性时,是-D,比如:mvn -Dinputtest 引用官方的说明https://maven.apache.org/pom.html#Properties: Properties 属性是了解POM基础知识的最后一个要素。Maven属性是值占位符,如Ant中的属性。它们的值可以通…

c语言的递归算法流程图,递归算法C语言全解.ppt

递归算法C语言全解第四章 递归算法 【例5】集合的划分 【问题描述】 设S是一个具有n个元素的集合,S={a1,a2,……,an},现将S划分成k个满足下列条件的子集合S1,S2&#xff…

Media Player控件常用的样式

1。最常用的&#xff0c;默认的 <object classidCLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 classOBJECT idMediaPlayer width400 height300 ><param nameFilename value"http://www.hubro.net/upload/media/blue-you-make-me-wanna.mp3"></object…

java学习点

第一节&#xff1a;Spring Framework核心技术底层原理详解 1、SpringIOC之Bean生命周期重点步骤详解 2、SpringIOC之依赖自动注入六层筛选源码剖析 3、SpringAOP之核心底层原理深入剖析 4、SpringAOP之事务核心底层原理深度剖析 5、Spring容器之BeanFactory架构设计剖析 …

JQuery系列(4) - AJAX方法

jQuery对象上面还定义了Ajax方法&#xff08;$.ajax()&#xff09;&#xff0c;用来处理Ajax操作。调用该方法后&#xff0c;浏览器就会向服务器发出一个HTTP请求。 $.ajax方法 $.ajax()的用法主要有两种。 $.ajax(url[, options]) $.ajax([options]) 上面代码中的url&#xff…

android自定义渐变色,Android设置背景渐变色

效果如图&#xff0c;本章只谈背景渐变色&#xff0c;仪表盘下一篇文章实现步骤&#xff0c;只需两步&#xff1a;1.在res/drawable中新建一个gradual_color_bg.xml内容如下&#xff1a;android:startColor"#aa000000" 渐变起始色值android:centerColor""…

dos批处理命令详解

一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能&#xff0c;或显示消息。如果没有任何参数&#xff0c;echo 命令将显示当前回显设置。 语法 echo [{on│off}] [message] Sample&#xff1a; echo off / echo hello world 在实际应用中我们会把…

mac安装npm

brew install node npm install 打包 启动项目 npm run dev 1、npm介绍 npm是基于nodejs的包管理器 从npm服务器下载别人编写的第三方包、模块到本地使用 从npm服务器下载安装别人编写的命令行程序到本地使用 将自己写的包、模块或者命令行程序上传到npm服务器、共别人下…

android navigation bar高度,Android获取屏幕真实高度包含NavigationBar(底部虚拟按键)

释放双眼&#xff0c;带上耳机&#xff0c;听听看~&#xff01;public int getScreentHeight() {int heightPixels;WindowManager w this.getWindowManager();Display d w.getDefaultDisplay();DisplayMetrics metrics new DisplayMetrics();d.getMetrics(metrics);// since…

tarjan求LCA模板

废话不多说&#xff0c;模板拿来。 1 # include <iostream>2 # include <cstdio>3 # include <cstring>4 # include <string>5 # include <cmath>6 # include <vector>7 # include <map>8 # include <queue>9 # include <c…

BXNA在调试显示新闻的JS?

今天发现了BXNA提供的显示BXNA新闻的JS工作不正常&#xff0c;首先是显示的内容并不是最新的东西&#xff0c;其次就是下午竟然发现JS脚本报错了&#xff0c;我想是不是我这边的问题呢&#xff1f;到了BXNA看了看范例程序竟然也报错了&#xff0c;我想只有两个可能&#xff0c;…

mac安装dubbo-admin

访问 https://github.com/apache/dubbo-admin 1&#xff1a;找到dubbo-admin git下载地址 2:git下载项目 3:执行 mvn clean install 执行 zmvn clean package -Dmaven.test.skiptrue 执行 java -jar dubbo-admin-0.3.0-SNAPSHOT.jar mac电脑安装npm 执行 brew install …

android mmi自动安装,Android平台MMI自动化测试工具通信协议.pdf

File name: Android 平台MMI 自动化测试工具通信协议Version: V1.0 Date&#xff1a;2013/03/07Author: Min LiuAndroid 平台MMI 自动化测试工具通信协议1File name: Android 平台MMI 自动化测试工具通信协议Version: V1.0 Date&#xff1a;2013/03/07Author: Min Liu需通信指令…

详解JavaScript中void语句的使用

void是在JavaScript中的一个重要的关键字可被用作其单操作数之前出现一元运算符&#xff0c;其可以是任何类型。 此运算符指定不需要返回值&#xff0c;进行计算的表达式。它的语法可能是下列之一&#xff1a; <script type"text/javascript"> void func() jav…

EditPlus使用一巧

在查看菜单里语法高亮打钩就可以显示颜色&#xff0c;否则不会颜色显示。

Mac下使用终端查看某个端口号对应的进程和杀死进程

查看端口号对应的进程 打开终端&#xff0c;输入lsof -i tcp:port&#xff0c;port即为端口号&#xff0c;如8080 如回车之后结果如图&#xff1a; 使用kill -9 PID

创建基于AJAX技术的Scribble应用程序

简介ASP.NET Atlas是一套丰富的类库&#xff0c;用于ASP.NET开发AJAX风格的应用程序。本文试图解说Atlas框架的一般性特征&#xff0c;由于Atlas是一个庞大的库&#xff0c;故本文集中探讨Atlas的两个最重要的特征&#xff1a;1. 能够从客户端脚本中调用服务器端web服务2. 使得…