linux用户分为3类:

超级用户:root, UID为0, GID为0

普通用户: 500 -65535, 由root创建

虚拟用户: 1-499

    - 系统里傀儡,不能使用,固定存在,满足linux里服务进程以及程序属主要求而存在

    - 在linux中进程以及程序必须属于用户和组

  用户的角色是通过UID和GID识别,用户的UID就相当于我们身份证一样,用户名就相当于我们的名字

如何添加普通用户?

useradd 用户              添加用户,没设置密码,该用户不可以登录

useradd beimen        # 添加用户beimen,并相应创建beimen这个组

passwd 用户        设置密码和修改密码,激活用户,不写用户默认当前用户

passwd beimen    # 为北门用户设置密码或通过该命令为其他用户设置密码
echo ‘123456’ | passwd --stdin  beimen && history -c     # 给普通用户明文修改密码,把前面的123456通过—stdin 当做用户oldboy的passwd,并清空历史记录

与用户相关的文件

/etc/passwd         # 用户配置文件

/etc/shadow         # 用户密码影子文件

/etc/group            # 用户组文件

/etc/gshadow       # 用户组影子文件

  添加或删除用户,设置或更改密码,添加组设置组密码都是在更改以上4个文件

  不要哪个用户,通过 /etc/password文件中注释掉, 加 # 在一行开头,这一行系统读不到,除了密码登录方式之外还可以通过密钥登录

如何切换用户?

su – 用户名         - 环境也一起切换

su - beimen        # root 切换普通用户不需要密码,普通用户切换为其他用户需要对应密码

  

whoami               #  查看当前用户是谁

  

root和普通用户区别?

  1. root用户切换成普通用户不需要密码,普通用户切换成root用户需要root密码
  2. 普通用户只能进行基本的信息查看等操作,无法更改系统配置和管理服务
  3. $ 表示普通用户, # 表示root

企业生产环境下:

尽量避免root用户操作,除非有超越普通用户权限的系统维护需求,使用完成后退回普通用户

用户和组的概念:

linux系统,是多用户多进程的操作系统

每个文件和进程,都需要对应的一个用户和用户组

linux系统通过UID和GID来识别用户和组

和用户相关的命令:

groupadd      添加用户组

groupdel       删除用户组

useradd        添加用户

userdel         删除用户

paswd           更改密码

chage           修改用户密码属性,管理 /etc/passwd 文件

usermod       修改用户信息

id                  查用户 UID,GID,附加组 信息

su -                角色切换

用户组

每个用户都必须属于一个组,创建用户时候,默认组名和用户名一样

/etc/passwd:

用户名、密码(shadow)、UID、GID、用户说明、命令解释器

cat /etc/shells       查询支持的命令解释器,前三是常用的

  /bin/sh

  /bin/bash

  /sbin/nologin

和用户相关的命令

  usermod  修改用户账号信息

    -c  修改用户书名

usermod -c "I am emperor" root    # 更改root用户说明
cat /etc/passwd | grep '^root' # 查看修改后信息

    - dm  修改用户登录的家目录

usermod -dm /home/chuixue/ beimen    # 将北门的家目录改为 /home/chuixue 下次用户登录将会进入这个目录,并且cd ~ 也会回到这个目录

    -G  给用户添加组

usermod -G chuixue beimen    # 把北门用户添加到chuixue组中

    -l  更改用户名

usermod -l kaobei beimen    # 把beimen用户名改为kaobei

    -L  锁定用户,禁止登录

usermod -L beimen    # 锁定beimen用户
grep "beimen" /etc/shadow # 加密密码前有个!号 

    -U  解锁用户,可以登录

usermod -U beimen    # 解锁beimen
grep "beimen" /etc/shadow # 密码字段前没有!号

    -u  修改用户UID

grep "beimen" /etc/passwd    # 查看用户当前uid
usermod -u 504 beimen # 更改beimen用户UID
grep "beimen" /etc/passwd # 查看beimen当前uid

    -g  修改用户GID

    -e  指定账号过期时间

usermod -e 2018-01-01 beimen    # 设置beimen账号在 2018-01-01过期

    -f  指定账号过期后多少天停止使用该账号

usermod -f 10 beimen    # 过期后10天该beimen账号无法使用

如何将一个用户从某个组中踢出?

  gpassd -d 用户名 组名

更改用户密码信息:

  chage  更改用户密码过期信息

    -l  列出用户密码过期信息

chage -l beimen    # 列出beimen密码过期信息

    -m  更改密码间隔时间

chage -m 7 beimen    # 更新密码时间间隔为 7 天
chage -l beimen # 查看更改结果

    -M  更改密码后多少天提醒再次更改密码

chage -M 90 beimen    # 更改新密码后90天再次要求更改密码

    -E  设置账号过期时间

chage -E 2019-01-01 beimen    # 设置账号过期时间

    -W  密码前多少天提醒更改密码,受 -M 天数控制

chage -W 5 beimen    # 更改密码前提醒

  

linux_用户和组的更多相关文章

  1. Linux_用户和组管理

    一.用户分类 1.管理员和普通用户 1️⃣:管理员   --    用户ID:0 2️⃣:普通用户 --   用户ID:1-65535 2.普通用户又分为系统用户和登陆用户 1️⃣:系统用户 -- 用 ...

  2. Linux_用户管理&权限管理

    2017年1月11日, 星期三 Linux_用户管理&权限管理 1.  Linux用户管理&权限管理 终端的概念: tty  查看登录的终端 类型  user group    oth ...

  3. Linux 创建修改删除用户和组

    200 ? "200px" : this.width)!important;} --> 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就 ...

  4. Linux_用户级_常用命令(4):cp

    Linux_用户级_常用命令之cp 开篇语:懒是人类进步的源动力 本文原创,专为光荣之路公众号所有,欢迎转发,但转发请务必写出处! Linux常用命令第二集包含命令:cp 格式 cp  [-optio ...

  5. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  6. linux 关于用户与组的操作

    1.添加用户: useradd  handongyu 2.查看所有用户 cat  /etc/passwd   查看某一用户用 cat /etc/passwd |grep root 3.查看所有组 ca ...

  7. linux中用户、组的管理(密码管理、权限管理及其修改用户、组)(转)

    process(进程) 1 计算资源 权限 用户(获取资源或服务的凭证或标识) 用户,容器,关联权限:用户组(标识符),方便地指派权限 2 用户.组.权限   安全上下文(secure context ...

  8. Linux用户和组的管理操作

    用户和组的管理操作 命令中涉及的单词和简写: 用户:user:组:group : 增加:add :  修改:modify  mod ;  删除 : delete  del 增加用户     /etc/ ...

  9. Linux学习笔记13-用户和组

    操作系统通过用户.组概念来管理使用计算机的人 用户代表一个使用计算机的使用者,操作系统通过用户概念限制一个使用者能够访问的资源 组用来组织管理用户 用户具有以下概念: 每个用户有一个用户名和一个用户I ...

随机推荐

  1. ubuntu16.04+eigen3安装

    Eigen库安装指南(两种方式)1.apt-get方式(假设默认安装到/usr/local/include里,若实际中默认安装到了/usr/include的话,可以对应替换下面命令的相应部分);运行命 ...

  2. webapi 异步返回

    两年前我遇到一个难题: https://q.cnblogs.com/q/78177 WebAPI中使用socket如果在server端回复了再返回值? 现在终于做出一种实现了: [HttpGet]   ...

  3. wtforms快速使用和源码分析(基于flask)

    wtforms 和django的form组件大同小异,下面给出一个应用举例以便快速查询. 开始使用 from flask import Flask, render_template, request, ...

  4. Go同步和异步执行多个任务封装

    同步执行类RunnerAsync 支持返回超时检测,系统中断检测 错误常量定义 //超时错误 var ErrTimeout = errors.New("received timeout&qu ...

  5. 基于 socket.io 的 AI 服务 杂谈

    为什么会想到来聊下这个话题. 前几天在公司的项目中,开发一个基于 socket.io 的直播 IM 功能. 直播分为两部分,一部分是比较昂贵的 视频推流, 另外一部分是 IM 即时聊天服务. 从这里开 ...

  6. 小白的Python之路 day5 shelve模块讲解

    shelve模块讲解 一.概述 之前我们说不管是json也好,还是pickle也好,在python3中只能dump一次和load一次,有什么方法可以向dump多少次就dump多少次,并且load不会出 ...

  7. (译)ABP之Entities

    原文地址:https://aspnetboilerplate.com/Pages/Documents/Entities#DocAuditing 实体是DDD(领域驱动模型)的核心概念之一,Eric E ...

  8. 阿里mysql同步工具otter的docker镜像

    https://github.com/dearplain/otter_manager https://github.com/dearplain/otter_node 本人开发的小巧docker镜像,根 ...

  9. ComboBox 中 DisplayMember 和 ValueMember 都是具体干什么的?

    ComboBox组件的数据绑定,在得到数据集后,只有设定好ComboBox组件的的三个属性就可以完成数据绑定了,这三个属性是:"DisplayMember". "Valu ...

  10. Django源码分析之程序执行入口分析

    一般我们开启一个django项目,最简单的方法是进入project 目录,这时目录结构是这样的 然后我们执行python manage.py runserver,程序就开始执行了. 那django是如 ...