一、检查用户身份

用户可以使用下列指令了解用户身份

who :查询当前在线的用户

groups :查询用户所属组

id :显示当前用户信息

finger :查询用户信息

二、添加用户

用指令添加命令

useradd  <username>

passwd <passwd>

系统实际添加用户的标准步骤

编辑 /etc/passwd  与 /etc/group

创建用户主目录

从 /etc/skel拷贝文件与目录

让新用户获得其主目录与文件的拥有权

给新用户一个密码

三、更改/删除用户

1、更改用户资料可以通过:

redhat - config - users 或 kusers之类的图形界面工具完成

在字符界面下可以使用usermod指令来更改

重要参数: -c -d -e -G -g -S -u -p -L

设定用户密码过期

2、系统管理者可以用userdel指令来删除已存在的用户

参数-r可以帮助系统将一个用户的目录等一并删除。

四、/etc/passwd文件

passwd文件中记录的是用户的登录信息

每一行代表一个用户,用:分割成七项,即用户的基础登录信息。

添加或删除一个用户,最基础的操作,即在passwd文件中添加或删除个人记录

login name :登录用名(比如:root)

passwd:密码(为了安全在另外一个文件)

uid:用户身份编号(uid是0则是系统管理员,1-99是保留给系统作为默认账户使用的,uid>=500则是一般账号)

gid:登录默认所在组编号(/etc/group)

full name :用户全名或注释

hom directory :用户主目录

shell :用户默认使用shell

五、Home 目录

login.defs中的create home选项决定系统在建立用户的时候是否同时创建其主目录

系统在建立用户主目录时,会将/etc/skel下的内容复制到新目录下。

最后,系统会使该目录与其下的文件归属于新用户。

chown -R user.group 目录名

六、/etc/shadow

目前,Rad Hat Linux 默认将用户密码储存在/etc/shadow文件中

passwd文件默认权限为644,shadow文件默认权限为400

shadow文件支持密码过期设定功能

shadow文件中每一行表示一个系统用户的密码记录,用:号分割

用户可以通过authconfig来设定是否使用shadow文件及md5加密

shadow文件详细

登录用名

用户密码(一般经过md5加密)

从1970年1月1日起到密码上一次更改的时间

密码再过几天可以被变更(0表示随时可以被变更)

密码再过几天必须被变更(99999表示永远不过期 )

密码过期后几天后账号会被取消

从1970年1月1日算起,多少天后账号失效

七、组管理

系统中组的信息,记录在/etc/group中

系统用户可以直接修改/etc/group文件达到更改组数据的目的,也可以使用以下指令

groupadd :添加一个组

groupdel:删除一个存在组

groupmod:更改组的信息

用户可用newgrp指令改变当前所在组

八、组文件

/etc/group中的每一行代表一个组,用:隔开不同项

group_name :组名

passwd:组密码(一般不用)

GID:组身份编号

user_list:组成员列表

学习鸟哥的Linux私房菜笔记(13)——用户管理的更多相关文章

  1. 学习鸟哥的Linux私房菜笔记(5)——目录

    一.目录 目录在文件类型上用d来表示,用 / 分割目录层 Linux操作系统 都有且仅有一个起始目录,我们用一个单独的 /来表示,称其为根目录. 对每一个Shell和操作环境,都有一个当前的工作目录. ...

  2. 学习鸟哥的Linux私房菜笔记(1)——Linux系统入门

    今天在阿里云申请了一个centos系统的云服务器,以前对linux了解的只是皮毛,记了几个命令还给忘了,整了半天都弄不好,作为一个做过javaweb开发的coder实在是惭愧啊,决定从今天开始学习Li ...

  3. [置顶] 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道

    一.过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二.输入.输出.重定向 输入:过滤器的数据 ...

  4. 学习鸟哥的Linux私房菜笔记(17)——Linux引导流程

    一.系统引导流程 第一步:固件fireware(CMOS/BIOS)--POST加点自检(与操作系统无关) 这一步主要是检查硬盘等硬件是否能正常工作 CMOS:是固化在主板上,详细:http://sc ...

  5. 学习鸟哥的Linux私房菜笔记(16)——Ubuntu中建立ftp服务

    1.安装vsftpd,如下图所示:sudo apt-get install vsftpd 2.查看本机是否可以连接ftp 如上图所示,发现login failed了,怎么办呢?我们来看看vsftpd的 ...

  6. 学习鸟哥的Linux私房菜笔记(15)——文件系统

    一.文件结构 为了能在设备上存储与读取文件,我们需要在分区上创立文件系统 文件系统记录目录与文件我们称之为文件结构 每一个文件系统在Linux里都被解释成由一个根目录为起点的目录结构 Linux将各个 ...

  7. 学习鸟哥的Linux私房菜笔记(14)——硬件配置与管理

    一.设备文件 Linux沿袭了Unix的风格,将所有设备看成一个文件 设备文件分为两种: 块设备文件(b):比如硬盘.光驱 字符设备文件(c):比如串口.键盘 设备文件一般存放在/dev目录下 二.常 ...

  8. 学习鸟哥的Linux私房菜笔记(9)——bash1

    一.Shell简介 Shell :命令行解释器,是用户与系统沟通时的媒介 在Unix系统中有各种Shell, Linux采用bash为其默认shell 系统可以使用的shell记录在 /etc/she ...

  9. 学习鸟哥的Linux私房菜笔记(8)——文件查找与文件管理2

    四.压缩 gzip, gunzip Linux标准压缩工具 对文本文件可以达到75%的压缩率 compress, uncompress 旧的Unix压缩工具 bzip2, bunzip2 更新的Lin ...

随机推荐

  1. Android Unable to execute dex: method ID not in [0, 0xffff]: 65536 问题解决方法

    开始一个新项目的时候,Build工程的时候一直报这个错误: 控制台报错误:Conversion to Dalvik format failed: Unable to execute dex: meth ...

  2. (JavaScript基础向)sort()方法里的排序函数的理解

    比较常见的解释可以看这里:js的sort()方法,这篇博客写得挺好的,一般的应用的理解已经足够了. 但是如果要活用sort()方法里面的参数——也就是排序函数的话,可能就比较难理解了. 然后我就总结出 ...

  3. nuxt按需引入 element-UI、自定义主题色(终极按需引入)

    首先你要知道 nuxt.js怎么引入第三方插件 : 不多BB. 一.按需引入element-UI 第一步:安装 babel-plugin-component: npm install babel-pl ...

  4. 10559 - Blocks(方块消除|DP)

    该题乍一看和矩阵链乘非常类似,但是有一个不同之处就是该题能够拼接 .   为了达到这个目的.我们不得不拓展维度d[i][j][k].用一个k表示最右边拼接了k个和a[j]同样颜色的方块. 问题的关键在 ...

  5. Altium Designer 在pcb下导入的原件引脚是绿的

    当然也可能是其他规则原因导致的

  6. ES6的学习之路(基础知识总结)

    1. 变量声明 1).let 1)使用let定义的变量不会进行"变量提升" console.log(a);//Uncaught ReferenceError: a is not d ...

  7. Day1:第一个python小程序

    Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...

  8. cordova android

    Image.png Image.png http://www.jscss.cc/2016/10/18/cordova.html 装一个全局的cordova: 官网介绍:http://cordova.a ...

  9. C#学习笔记——常量、字段以及事件

    一 常量与字段 (一) 常量 常量总是被视为静态成员,而不是实例成员.定义常量将导致创建元数据.代码引用一个常量时,编译器会在定义常量的程序集的元数据中查找该符号,提取常量的值,并将值嵌入IL中.由于 ...

  10. get_slave_status.py

    #!/usr/bin/env python#-*- encoding: utf8 -*- import mysql.connectorimport get_mysql_conn_info    &qu ...