用户账号管理

基于账号身份对资源访问进行控制

账户类别:用户账号,组账号

识别方式:UID,GID

用户账号:超级用户root,系统用户,普通用户

组账号:用来区分权限,不用于登陆

基本组(私有组)

附加组(公有组)

用户账号分类

超级用户:即管理员root,UID为0,拥有最高系统权限

系统用户:UID范围1-499,一般不能登陆系统(/sbin[em]e188[/em]login)

普通用户:默认的UID范围500-6000

组账号分类

基本组(私有组):即每个用户专属的组。一般有一个成员,组名与对应的用户名相同

附加组(公有组):即对各用户共同的组,一般有多个成员,组名由管理员指定

————————————————————————————————————————————————

账号的存放类别

账号数据的存放:

本地账户:存储在本机磁盘中

网络账户:存储在网络上专门的服务器上

本地账户的数据文件

/etc/passwd,/etc/shadow

/etc/group,/etc/gshadow

解析用户账号文件:

/etc/passwd,保存用户账号的基本信息,每一个用户记录一行,以:分割为7个字段

[root@hydra/]#head -n 1 /etc/passwd

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

字段1:用户账号的名称

字段2:密码字串或占位符x

字段3:用户账号的UID号

字段4:所属基本组的GID号

字段5:用户全名

字段6:宿主目录

字段7:登陆shell程序的路径

解析用户账号文件:

/etc/shadow,保存密码字串/有效信期等信息,每个用户记录一行,以:分割为9个字段

[root@hydra/]#head -n 1/etc/shadow

root:$6$g4l6UXBx$szBBXiQgTvK/O........6vAkyLRQkCA:17310:0:99999:7:::

字段1:用户账号的名称

字段2:加密后的密码字符串

字段3:上次修改密码的时间

字段4:密码的最短有效天数。默认0

字段5:密码过期的最长有效天数,默认99999

字段6:密码过期前的警告天数,默认7

字段7:密码过期后多少天禁用此用户账号

字段8:账号失效时间,默认值为空

字段9:保留字段(未使用)

——————————————————————————————————————————————————————————

useradd 添加用户

useradd命令

格式:useradd [选项] 用户名

常用命令选项

-u:指定UID标记号

-d:指定宿主目录,缺省为/home/用户名

-e:指定账号失效时间

-g,-G:指定所属的基本组,附加组

-M:不为用户建立并初始化宿主目录

-s:指定用户的的登陆shell

passwd设置口令

passwd命令

格式:passwd [选项] 用户名

常用命令选项

-d:清空用户密码,使之无需密码即可登陆

-l:锁定用户账号

-S:查看用户账号的状态(是否被锁定)

-u:解锁用户账号

--stdin:从标准输入(比如管道)取密码

-f:强制进行操作

————————————————————————————————————————————

用户初始配置

useradd行为配置

默认配置文件:/etc/default/useradd(对新建的账号起作用)

[root@room1pc01 桌面]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

login.defs登陆定义文件

默认配置文件:/etc/login.defs(对新创建的账号起作用)

[root@room1pc01 桌面]# grep -vE '^#|^$' /etc/login.defs

MAIL_DIR    /var/spool/mail

PASS_MAX_DAYS    99999

PASS_MIN_DAYS    0

PASS_MIN_LEN    5

PASS_WARN_AGE    7

UID_MIN              500

UID_MAX            60000

GID_MIN              500

GID_MAX            60000

CREATE_HOME    yes

UMASK           077

USERGROUPS_ENAB yes

ENCRYPT_METHOD SHA512

用户初始配置文件

配置文件来源:新建用户时,根据/etc/skel模板目录复制。

主要的初始配置文件

~/.bash_profile:每次登陆时执行

~/.bashrc:每次进新的Bash环境时执行

~/.bash_logout:每次退出登录时执行

全局配置文件:/etc/bashrc,/etc/profile

————————————————————————————————————————————

用户的删改查

usermod修改用户

格式:usermod [选项] 用户名

常用命令选项

-l:更改用户账户的登陆名称([root@hydra/]#usermod -l hydra1 hydra01(把改的名字写在前面)

-L:锁定用户账号

-U:解锁用户账号

-u:指定UID标记号

-d:指定宿主目录,缺省为/home/用户名

-e:指定账号失效时间

-g,-G:指定所属的基本组,附加组

-s:指定用户的的登陆shell

————————————————————————————————————————————————————————

调优(黑色艺术)

chage密码有效控制

格式:chage [选项] 用户名

让用户初次登陆需修改密码:chage -d 0 用户名

常用命令选项

-l:列出密码的有效期信息

-E:指出账号的过期时间,YYYY-MM-DD

-m:指定密码的最小天数

-M:指定密码的最大天数

——————————————————————————————————————————

userdel删除用户

格式:userdel [-r] 用户名

添加-r选项,宿主目录/用户邮件也一并删除

——————————————————————————————————————

——————————————————————————————————————

组账号管理

解析组账号文件:

/etc/group,保存组账号的基本信息

每个组记录一行,以:分割为4个字段

[root@room1pc01 桌面]# head -1 /etc/group

root:x:0:

字段1:组账号的名称

字段2:密码占位符x

字段3:组账号的GID号

字段4:本组成员用户列表

解析组账号文件

/etc/gshadow,保存组账号的管理信息

每个组记录一行,以:分割为4个字段

[root@room1pc01 桌面]# head -1 /etc/gshadow

root:::

字段1:组账号的名称

字段2:加密后的密码字符串

字段3:本组的管理员列表

字段4:本组的成员用户列表

groupadd添加组账号

格式:groupadd [-g GID] 组名

[root@hydra/]#groupadd -g 600 xx1

[root@hydra/]#grep xx1 /etc/group

stugrp:x:600:

[root@hydra/]#grep xx1 /etc/gshdow

stugrp:!::

gpasswd 管理组成员

格式:gpasswd [选项] 组名

常用命令选项

-A:定义组管理员列表

-a:添加组成员,每次只能添加一个

-d:删除组成员,每次只能删除一个

-M:定义组成员用户列表,可设置多个

groupdel删除组

格式:groupdel 组名

删除的目标组不能是用户的基本组

[root@hydra/]#griupdel xx1

[root@hydra/]#grep xx1 /etc/group

[root@hydra/]#

————————————————————————————————

Linux基础六的更多相关文章

  1. Linux基础(六) Vim之vundle插件

    背景 Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,插件的安装与更新与删除都需要自己手动来,既麻烦费事,又可能出现错误. Vundle简介 Vundle 是 Vim ...

  2. Linux基础六(网络管理)

    目录 一.网络配置 1. IP 地址配置 2. 网络配置文件 3. 虚拟机网络配置参数 二.网络命令 1. 网络环境查看命令 2. 网络测试命令 三.远程会话安全协议-SSH原理 1. SSH 原理 ...

  3. Linux基础知识第六讲,远程管理ssh操作

    目录 Linux基础知识第六讲,远程管理ssh操作 一丶什么是SSH 1.什么是SSH 2.了解域名跟端口 二丶SSH命令以及远程连接linux进行维护 1.ssh命令格式 2.scp远程终端拷贝文件 ...

  4. Linux基础入门

    第一节,linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 (一).Linux 为何物 ...

  5. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  6. Linux基础(6)

    Linux基础(六) shell脚本中的三大循环和函数知识点 一.流程控制之if结构 1.简单的if实例: #!/bin/bash var='/etc/init.d' #var='/dev/sda' ...

  7. Linux 基础(2)

    Linux 基础(二) 用户 组 及权限的相关操作 一.useradd命令选项:–u:指定用户的UID useradd –u 100 mu #指定mu的UID为100–g:指定用户所属的群组 user ...

  8. linux 基础 文件系统 用户权限

    描述Linux系统的启动过程? 1.开机自检 BIOS 2.MBR引导 3.GRUB菜单 4.加载内核 5.运行init进程 6.从/etc/inittab读取运行级别 7.根据/etc/rc.sys ...

  9. OracleOCP认证 之 Linux基础

    Linux 基础 一.SHELL 1: Shell 简介 shell 是用户和Linux 操作系统之间的接口.Linux 中有多种shell, 其中缺省使用的是bash. Linux 系统的shell ...

随机推荐

  1. C# 多线程复习笔记

    编码的日子其实也有一段时间了,但是,作为一个客户端程序,因为自己是做游戏开发的,一直没有对线程这个概念比较模糊吧. 记录下线程的整理学习路线.原文:http://www.cnblogs.com/min ...

  2. awk 指定{}内x的替换

    替换{}中的x为;   原字符串 oxo{axbxc}oxo{dxexf}oxo 结果 oxo{a;b;c}oxo{d;e;f}oxo     awk '{for(i=1;i<=NF;i++){ ...

  3. zabbix3.2_yum官方文档centos 7版

    Installation from packages 1 Repository installation 2 Server installation with MySQL database 3 Ser ...

  4. Centos7 动态创建文件系统

    linux 想要动态扩展文件系统,需要将磁盘做成LVM动态卷   以centos 7为例 挂载两块磁盘 vdb vdc     安装 ssm 管理磁盘工具   yum -y install syste ...

  5. nodejs建立websocket通信

    依赖模块 nodejs-websocket 服务端 const ws = require('nodejs-websocket'); console.log('开始建立连接...'); const se ...

  6. Angular2学习笔记四(之Http通信)

    前言: 在这里,我描述三个场景,即系统的注册与登录,及登录后的操作: 1.注册场景,前端页面传入用户名密码,通过一个api接口传到后台,在后台对这用户及密码进行保存: 2.登录场景,前端用户传入用户名 ...

  7. 夏令营讲课内容整理Day 1.

    主要内容是栈和队列. 1.  栈 运算受到限制的线性表.只允许从一端进行插入和删除等操作.这一端便是栈顶,另一端便是栈底. 其实可以把栈想象层任何有底无盖的柱状的容器...毕竟栈满足后进先出的特性.计 ...

  8. 关于WebApi 跨域问题的解决的方式

    最近在做WebApi 进行开发的时候 一直会遇到跨域方面的问题那么如何进行跨域问题其实非常的简单. 1.一直在使用WebApi的时候总是遇到跨域的问题 那么 什么是跨域?跨域,指的是浏览器不能执行其他 ...

  9. pip install 提示"no previously-included directories found matching"及"no previously-included files matching found anywhere in distribution",且偶发无法关联安装 PyPI 库的故障

    环境描述: Python 2.7.5 CentOS-7.2   报错现象: (1).在虚拟环境下运行 pip install 命令安装 PyPI 第三方库,出现类似如下告警. Running setu ...

  10. Java线程池ThreadPoolExector的源码分析

    前言:线程是我们在学习java过程中非常重要的也是绕不开的一个知识点,它的重要程度可以说是java的核心之一,线程具有不可轻视的作用,对于我们提高程序的运行效率.压榨CPU处理能力.多条线路同时运行等 ...