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. 记录一次APP的转让流程

    由于业务需要,需要将开发的App从一个账号(A账号)转移到另一个账号(B账号),这里简单介绍一下转让流程.主要包括两大步骤: 转让方(A账号)提出转让申请 接收方(B账号)接受转让App 如果不想看这 ...

  2. lxml的另一种用法

    python中lxml库是一个十分强大的xml解析库,最近在看<白帽子将web扫描>这本书的时候,里面提供了一种不同于以往的用法,因此在这将这个方法记录下来 传统的lxml库的使用方法类似 ...

  3. mydumper

    Mydumper介绍 Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具.开发人员主要来自MySQL,Facebook,SkySQL公司.目前已经在一些线上使用了Mydu ...

  4. centos perl: symbol lookup error: /usr/local/lib64/perl5/auto/DBD/mysql/mysql.so: undefined symbol: mysql_init

    之前在安装天兔数据库监控工具lepus的时候,运行时一直报perl: symbol lookup error: /usr/local/lib64/perl5/auto/DBD/mysql/mysql. ...

  5. 千万别在开发阶段用 uglify 插件了!(from Requirejs to Webpack)

    webpack 各种好用,打算把 sf.gg 的前端构建工具从 gulp+requirejs 尝试着迁移到 webpack,没想到刚迈出第一步随即翻车. 因为 sf.gg 本质是个后端路由项目,每个页 ...

  6. 使用jemeter手工编写注册、登陆脚本 运用 fiddler (二)

    接着上一篇讲 我们需要添加关联来获取我们想要的动态值 如果做过自动化测试的人都知道   不管是注册或者登陆是时候都会有一个 类似于动态码的一个东西  只有这个东西验证成功 我们才能注册 或者 登陆 那 ...

  7. Python日志监控系统处理日志(pyinotify)

    前言 最近项目中遇到一个用于监控日志文件的Python包pyinotify,结合自己的项目经验和网上的一些资料总结一下,总的原理是利用pyinotify模块监控日志文件夹,当日志到来的情况下,触发相应 ...

  8. element-ui,router.push到其他路由,菜单栏不会高亮对应的路由

    使用饿了吗的路由,使用this.$router.push({path: ''})跳到其他的路由,菜单不会高亮. 如图所示,点击图上三个位置,需要使用this.$router.push({path: ' ...

  9. Sql的基础知识(一)

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份 sql server --- ...

  10. Sass和Compass入门

    一.前言 1.Sass是什么? Sass可以简化你的Css工作流,并可以使你的Css的扩展和维护工作变的更加容易!例如,曾几时何,因为客户的需求的变更,你必须不断的通过查找和替换来更改一个像素值,或者 ...