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. Java框架之Hibernate(二)

    本文主要介绍: 1 Criteria 接口 2 用 myeclipse 反向生成 3 hibernate  主键生成策略 4 多对一 5 一对多 6 使用List 集合的一对多 7 多对多 一.Cri ...

  2. Tsung测试Tcp协议的应用或接口

    利用Tsung模拟基于Tcp的业务流程,实属无奈.因ConnectManager部署在linux下,其中,Loadrunner的winsocket因不支持linux platform而无法使用,而Jm ...

  3. 使用socket实现的ftp文件传输服务器

    服务端: # encoding:utf-8 # Author:"richie" # Date:8/23/2017 from socket import * import pickl ...

  4. python基本数据类型学习

    python是极其简洁的一门高级语言,在python里面没有真正意义上的常量,只是用大写的标定表示常量(python中的常量是可以修改的),单行注释用#开始,.并且python不用定义数据类型,因为p ...

  5. Windows下安装Selenium

    安装python,建议在官网下载python3以上的版本 安装easy_install,找度娘 安装selenium,在命令行窗口下输入:pip install -U selenium 下载chrom ...

  6. [译]Pandas常用命令对照清单

    我们在内容中使用以下简写: df pandas的DataFrame对象 s pandas的Series对象 导入以下包开始 import pandas as pd import numpy as np ...

  7. addEventListener attachEvent和解决IE 6 7 8 this指向错误

    [JS] addEventListener attachEvent和解决IE 6 7 8 this指向错误   电梯直达 1#    php 发表于 2014/4/13 01:17 | 只看该作者  ...

  8. kmalloc、vmalloc、__get_free_pages()的区别

    一.分布位置上的区别: kmalloc()和__get_free_pages()函数申请的内存位于物理内存的映射区域,而且在物理上也是连续的,它们与真实的物理地址只有一个固定的偏移,因此存在简单的线性 ...

  9. Android热修复框架汇总整理(Hotfix)

      Android平台出现了一些优秀的热更新方案,主要可以分为两类:一类是基于multidex的热更新框架,包括Nuwa.Tinker等:另一类就是native hook方案,如阿里开源的Andfix ...

  10. Object.keys、Object.getOwnPropertyNames区别

    用途 Object.keys 定义:返回一个对象可枚举属性的字符串数组: Object.getOwnPropertyNames 定义:返回一个对象可枚举.不可枚举属性的名称: 属性的可枚举性.不可枚举 ...