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. label按钮和文字对齐

    label按钮和文字对齐 做表单的时候,经常遇到:复选框和文字对不齐的情况 ========================== 下面方法可以对齐 <!--label [[--> < ...

  2. 常用的 css reset,基本的base.css

    @charset "utf-8";  html {   overflow-x: hidden;   overflow-y: auto;  }  /*隐藏横向滚动,垂直滚动根据内容自 ...

  3. C# log4net 的配置

    项目的日志组件是必备可少的,任何项目中都需要.这样既方便前期的开发测试也方便项目后期的项目维护.C#项目的一个不错的日志组件是log4net,下面我就把桌面应用程序.控制台程序.网站中log4net的 ...

  4. css多重边框

    一.使用box-shadow实现多重边框 html <div class="multiple"></div> css .multiple{ backgrou ...

  5. ssh的免密登陆

    想必大家都有使用ssh登陆的过程了,那么,怎么设置ssh免密登陆呢?下面有一些我的总结: 环境:服务器主.从 主服务器:192.168.1.1 从服务器:192.168.1.2 实现主服务器ssh登录 ...

  6. JS文本框每隔4个数字加一个空格,银行卡号文本框

    <input type="text" onkeypress="return (function(key,that){return (key>47&&a ...

  7. 教你用.Net来玩微信跳一跳

    目前开发的所有代码都已经上传到了GitHub.欢迎大家来Star https://github.com/GiantLiu/AutoJump 目前程序分为“全自动版本”和“半自动版本” 全自动版本 We ...

  8. Mark下js最大精确整数范围,业务中出现的疑难bug

    今天在跟后端联调中,偶然发现几个数据的id居然一样,我就询问了下后端这是什么情况,然而后端告诉我说并没有相同的id,于是开始一起排查问题.   排查中发现,从后端拿来的数据在浏览器控制台NetWork ...

  9. 【iOS】控件截图、MP4格式视频流和m3u8格式视频流截取某一帧功能的实现

    最近开发遇到一个点击按钮实现直播视频流截屏的功能,去网上查了一下资料,总结了一下iOS中截屏相关的知识,然后自己做了个demo. demo主要实现了3种截屏方法,分别对应三种不同的应用场景. 1.im ...

  10. Flask笔记

    # -*- coding: utf-8 -*- from flask import Flask,render_template,request,redirect,session,url_for imp ...