Linux 目录所属组设置,Linux系统用户与组管理命令及配置文件总结

一、Linux系统用户及组分类

1、用户类别

Linux系统中的用户大致可分为三类:root用户、系统用户、普通用户。每一个用户都拥有一个唯一的身份标识UID。

3c8ce6380daa33c267ccb0e2e66a02de.png

2、组分类

与用户信息对应的,Linux系统中的组也可分为三类:root组、系统组、普通组。每一个组也有一个对应的唯一标识GID。

3c8ce6380daa33c267ccb0e2e66a02de.png

需要说明的是,UID和GID为0的用户对应的就是固定的root,即管理员,具有对系统具有完整权限,其他用户则仅有对应的有限权限。系统用户和系统组,则是为系统服务和某些软件进程所使用的,为非登录用户。

二、Linux系统用户与组相关配置文件

与用户和组相关的配置文件,最主要的有四个:

/etc/passwd:用户及相关属性信息

/etc/shadow:用户密码及相关属性信息

/etc/group:组及相关属性信息

/etc/gshadow:组密码及相关属性信息

1、/etc/passwd文件格式及对应字段含义

3c8ce6380daa33c267ccb0e2e66a02de.png

root:x:0:0:root:/root:/bin/bash

用户名:密码:UID:GID:备注信息:家目录:默认shell

/etc/passwd文件每一个行代表一个用户信息,每一行都有7个字段,每个字段之间用冒号隔开。其中密码字段存放的并不是密码本身,而是代表密码的一个占位符,真实的密码信息保存在/etc/shadow文件中。其中在默认shell字段,对于普通用户其shell类型默认为bash(可在配置文件/etc/default/useradd中修改),而大部分的系统账户其shell类型默认为/sbin/nologin,表示为非登录账户,不可交互式登录。

2、/etc/shadow文件格式及对应字段含义

3c8ce6380daa33c267ccb0e2e66a02de.png

root:$6$2wu6pQgSP1P.5ciL$RgKrn3X5CHvBOpVmBgfE3Pf9lRqRMC1f3lkbZM11bVvQqJIkqzl4Qbcq0ArRNuvXm4ETyK6T4usqRZyNpq3JZ0::0:99999:7:::

用户名:密码:密码上次修改时间:密码最短修改时间:密码最长修改时间:密码过期提前警告时间:过期后密码修改期限:帐号过期时间:保留字段

/etc/shadow文件的每一个行代表一个用户的密码信息,每一行有9个字段,每个字段之间用冒号隔开。其中密码字段包含三部分,用$符号分隔。其中第一部分代表密码的加密算法,从1到6依次代表md5,sha1,sha224,sha256,sha384,sha512;第二部分是salt,即在加密的时候系统会生成一个随机数,与密码组合在一起进行加密,由于使用的加密算法具有“雪崩效应”,因此即使两个人的密码相同,加密后的结果也相差极大,从而保证了密码的安全;第三部分则为密码加密后的密文。对于新添加用户,没有设置密码,则其密码字段为!!,表示不可登录。若某已设置密码的用户,密码字段前面有一个!,则表示该用户密码被锁定,也是不可登录的。但管理员可以使用su命令切换至相应用户。

3、/etc/group文件格式及对应字段含义

3c8ce6380daa33c267ccb0e2e66a02de.png

root:x:0:gentoo

组名:密码:GID:组用户列表

/etc/group文件中的每行代表一个组相关信息,每一行有4个字段,每个字段之间用冒号隔开。密码字段仅代表占位符,密码存放于/etc/gshadow文件中。用户列表字段,仅代表附属组为改组的用户名,用的基本组信息保存在/etc/passwd文件中,以GID标识(每个用户都必须有且仅有一个基本组,也常常叫做主组,但可以同时拥有多个附属组)。

4、/etc/gshadow文件格式及对应字段含义

3c8ce6380daa33c267ccb0e2e66a02de.png

root:::gentoo

组名:组密码:组管理员:组成员用户列表

/etc/gshadow文件的每一行代表一个组名对应的密码相关信息,每一行共有4个字段,每个字段之间以冒号分隔。其中组密码,主要适用于当一个用户不是某个组的组成员时,如果要想将基本组切换为该组时,可以使用组密码加入改组,而无需管理员进行操作。若字段为空代表该字段没有设置,为默认不可用。

三、Linux系统用户与组管理相关命令

对用户及组相关的管理操作基本上分为增加、修改、删除,其相关命令可以总结如下:

3c8ce6380daa33c267ccb0e2e66a02de.png

四、其他相关配置文件及命令

相关配置文件:

/etc/default/useradd  新增加用户,各属性的默认值配置文件

/etc/skel/*        新创建用户,家目录文件的模版目录

/etc/login.defs     系统UID、GID范围,密码策略、加密算法等配置信息

/etc/shells        当前系统支持的shell类型

相关命令:

chfn     修改备注/注释信息

chsh     修改用户shell类型

finger    查找并显示指定用户信息

su      切换用户

id      查看用户ID信息

vipw     使用vi(m)修改/etc/passwd文件信息

vigr     使用vi(m)修改/etc/group文件信息

pwck     检测/etc/passwd文件错误信息

grpck    检测/etc/group文件错误信息

getent [uername|groupname]  查看指定配置文件信息

原创文章,作者:M21-张国辉,如若转载,请注明出处:http://www.178linux.com/53725

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

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

相关文章

linux 字符串 空,linux – bash空字符串/命令

你似乎把bash与其他一些编程语言混淆了.变量被替换,然后左边的内容被执行."$a"这是引号之间的a的内容. a是空的,所以这相当于:""那不是命令. “没有找到指令.”由于存在错误,执行不成功(shell返回代码不为0),因此命令的后半部分 – && …

@GetMapping和@PostMapping详解

首先要了解一下RequestMapping注解。 RequestMapping用于映射url到控制器类的一个特定处理程序方法。可用于方法或者类上面。也就是可以通过url找到对应的方法。 RequestMapping有8个属性。 value:指定请求的实际地址。 method:指定请求的method类型&…

实验楼 linux内核原理与分析,《Linux内核原理与分析》第一周作业 20189210

实验一 Linux系统简介这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别。其中学到了LInux中的应用程序大都为开源自由的软件,用户可以修改定制再发布;内核是实现多任务运行和硬件管理的…

MySQL的INSERT INTO··· ON DUPLICATE KEY UPDATE使用的几种情况

保存或更新 在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新;如果插入的行数据与现有表中记录的唯一索引或者主键不重复…

linux svn 指定端口号,linux(Ubuntu)搭建Subversion服务器+修改svn端口号

一、搭建 Subversion 服务器1、首先需要安装 subversion 这个软件:sudo apt-get install subversion注:使用apt-get安装软件,ubuntu默认将软件下载到 /etc/bash_completion.d/ 目录下,可使用 sudo apt-get source packagename 下载…

java8 Stream API详解

文章目录一、Stream流概述二、创建Stream的方式相关API三、Stream的中间操作筛选与切片映射排序四、终止操作第一大类API(太过简单)第二大类AP归约收集一、Stream流概述 1、java8中有两大最为重要的改变,第一就是Lambda表达式,另…

linux实验3编写内核模块,实验2.3_内核模块_实验报告

实验报告题目: 内核模块实验1、实验目的模块是Linux系统的一种特有机制,可用以动态扩展操作系统内核功能。编写实现某些特定功能的模块,将其作为内核的一部分在管态下运行。本实验通过内核模块编程在/porc文件系统中实现系统时钟的读操作接口。2、实验内…

Java 8 Stream Api 中的 peek、map、foreach区别

#1. 前言 我在Java8 Stream中讲述了 Java 8 Stream API 的一些内容。今天再看一下peek、map、foreach区别。 2. peek peek 操作接收的是一个 Consumer 函数。顾名思义 peek 操作会按照 Consumer 函数提供的逻辑去消费流中的每一个元素,同时有可能改变元素内部的一…

linux驱动日志格式,( 转)嵌入式Linux驱动Makefile

天气: 晴朗心情: 高兴( 转)嵌入式Linux驱动开发笔记1.1 模块的编译Linux驱动一般以模块module的形式来加载,首先需要把驱动编译成模块的形式。简单的例子,Begin of hello.c file#include #include #include static int __init test_init(void){pr…

Java 8 Stream 流用法及语法

Java 8 Stream 流用法 1.简介 Stream流 最全的用法 Stream 能用来干什么?用来处理集合,通过 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询,Stream API 提供了一种高效且易于使用的处理数据的方式 为什…

wapper打成linux服务,Wrapper配置详解及高级应用(转)

转自:http://286.iteye.com/blog/1921414将一个简单的程度如HelloWorld 的应用包装秤Wrapper 服务并不复杂,甚至可以认为非常简单。但是实际项目应用过程中我们的程序一般较庞大,运行环境也较复杂。通过Wrapper 配置文件的分析与配置进一步了…

Java8 Stream 流机制和 Lambda 表达式

一、Stream 流介绍与使用场景 Stream 流介绍 java8 中的stream 与InputStream和OutputStream是完全不同的概念, stream 是用于对集合迭代器的增强,使之完成能够完成更高效的聚合操作(过滤、排序、统计分组)或者大批量数据操作。stream 与 L…

嵌入式linux安装qt,树莓派上安装qt

在树莓派上安装了官方的raspbian系统。为了在能在上面开发程序,在系统上安装了qt4 。参考链接http://qt-project.org/wiki/apt-get_Qt4_on_the_Raspberry_Piapt-getFirstly I got the development tools needed by Qt Creator in the hope it would be less heavy f…

linux guide编译器,GUIDE编译器-GUIDE编程工具-GUIDE编译器下载 v1.0.2官方版-完美下载...

GUIDE编译器是款跨平台的开发环境编程工具,支持C/C 和 Pascal三种语言,具有跨平台、操作简单、跨编程语言和单文件编译调试等特点,为用户提供单文件编译、调试和运行的环境。GUIDE编译器特色1、跨平台: GUIDE 可在 linux 平台和 w…

MySQL事务隔离级别和实现原理

经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下。 MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下&#xff0…

Linux如何清除last信息,linux清除last、lastb和history记录

清除登录系统成功的记录,也就是last命令看到的记录[rootlocalhost root]# echo ""> /var/log/wtmp 此文件默认打开时乱码的,里面可以看到ip等等信息[rootlocalhost root]# echo "">/var/log/wtmp[rootlocalhost root]# last此…

超级全面的MySQL优化面试解析

推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4. Mybatis内容聚合 5. 多线程内容聚合 超级全面的MySQL优化面试解析 本文概要 概述 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上随着应用程序的运行&#…

mysql linux导入csv主键,MySQL导入csv文件内容到Table及数据库的自增主键设置

写在前面目的是测试将csv文件内容导入到表中, 同时记录一下自增主键的设置.测试采用MySQL8.0.新建表customer_info如下, 未设置主键.修改上表, 添加主键id, 并设置为自增.ALTER TABLE customer_info ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY;导入步骤1.为了模拟…

mysql 优化方法有哪些?

MySQL索引 MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这…

linux shell脚本判断文件行数,判断文件是否存在的shell脚本代码

实现代码一、#!/bin/sh# 判断文件是否存在# lilSzqFnk:www.jb51.net# date:2013/2/28myPath"/var/log/httpd/"myFile"/var /log/httpd/access.log"# 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限if [ ! -x "$myPat…