1.什么是用户?

能正常登陆系统的都算用户
windows系统和linux系统的用户有什么区别?
本质上没有区别, linux支持多个用户同一时刻登陆系统, 互相之间不影 响
而windows只允许同一时刻不允许多个用户登录. (windowsServer2008 )
root 超级管理员用户
普通用户 多个普通用户能逻辑上分为一个组 当然一个用户也能隶属 于多个组
[root@baozexu ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash

[root@baozexu ~]# head -1 /etc/shadow
root:$6$pdMEnxZOv2e6yicE$qdxO.XY4YwXY5pAEa2gtaV5PdUChr0A5y0bZqez
MoX1Q26emEPINkKZoifQLiyDoyAFRgu.s4QJsGXYhewrrh1::0:99999:7:::

4.最后我们需要了解下系统对用户的一个约定?(约定娶你,就真的会娶吗?)

用户UID	系统中约定的含义
0 超级管理员,最高权限,有着极强的破坏能力
1~200 系统用户,用来运行系统自带的进程,默认已创建
201~999 系统用户,用来运行用户安装的程序,所以此类用户无需登录系统
1000+ 普通用户,正常可以登陆系统的用户,权限比较小,能执行的任务有限

PS:在CentOS7系统之前, UID1-499用于系统用户, 而UID 500+则用于普通用户

2.为什么要创建用户?

1.系统上的每一个进程(运行的程序),都需要一个特定的用户运行
2.通常在公司是使用普通用户管理服务器,因为root权限过大,容易 造成故障。
3.如何查看系统中所存在的用户
4.创建用户会在系统的哪个配置中保存信息
[root@oldboyedu ~]# id uid=0(root) gid=0(root) groups=0(root)
[root@oldboyedu ~]# id jack uid=1000(jack) gid=1000(jack) groups=1000(jack)
当创建一个用户时,系统会操作/etc/passwd /etc/shadow 这两个文件,变更文件中的内容
下面我们就围绕着用户的创建、变更、删除等来讲讲涉及到的命令: useradd、usermod、userdel

useradd添加用户

选项
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户默认组
-G 指定要创建用户附加组,逗号隔开可添加多个附加组
-d 指定要创建用户家目录
-s 指定要创建用户的bash shell
-c 指定要创建用户注释信息
-M 给创建的用户不创建家目录

-r 创建系统账户,默认无家目录

1.创建bgx用户,UID5001,基本组students,附加组sa 注释信 息:2019 new student,登陆shell:/bin/bash
 [root@oldboyedu ~]# groupadd students [root@oldboyedu ~]# groupadd sa
[root@oldboyedu ~]# useradd oldxu -u5001 -g students G sa -c "2020 new" -s /bin/bash
检查用户
[root@oldboyedu ~]# id oldxu
uid=5001(oldxu) gid=1003(students) groups=1003(students),1004(sa)
检查用户
 [root@oldboyedu ~]# grep "oldxu" /etc/passwd
oldxu:x:5001:1003:2020 new:/home/oldxu:/bin/bash
2.创建mysql系统用户,-M不建立用户家目录 -s指定nologin使其用户 无法登陆系统
 [root@oldboyedu ~]# useradd -r  -M -s /sbin/nologin   mysql
检查用户
 [root@oldboyedu ~]# id mysql
uid=997(mysql) gid=995(mysql) groups=995(mysql)
检查用户
 [root@oldboyedu ~]# grep "mysql" /etc/passwd
mysql:x:997:995::/home/mysql:/sbin/nologin
模拟登陆.登陆失败
 [root@oldboyedu ~]# su - mysql
This account is currently not available.
3.创建一个xlw用户,uid为6666,附加组为sa,用户的家目录 为/tmp/xlw 登陆的shell为/sbin/nologin
[root@oldboyedu ~]# useradd od -u 777 -G sa -d /tmp/od -s /sbin/nologin
PS: UID GID 在整个系统是唯一的. #选项 # -u 指定要创建用户的UID,不允许冲突 # -g 指定要创建用户默认组(基本组 主要的组) # -G 指定要创建用户附加组,逗号隔开可添加多个附加组 # -d 指定要创建用户家目录

usermod修改用户[重要程度一般]

选项

-u 指定要修改用户的UID
-g 指定要修改用户基本组
-G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附加组
-d 指定要修改用户家目录
-s 指定要修改用户的bash shell
-c 指定要修改用户注释信息
-l 指定要修改用户的登陆名
-L 指定要锁定的用户
-U 指定要解锁的用户
-s 指定要创建用户的bash shell   /bin/bash   /sbin/nologin # -c 指定要创建用户注释信息 # -M 给创建的用户不创建家目录 # -r 创建系统账户,默认无家目录   [999-200]
1.检查之前创建的od用户
 [root@oldboyedu ~]# id od uid=777(od) gid=6667(od) groups=6667(od),1004(sa)
2.修改od用户uid 9999、gid (devops),附加组 dba,sa,dsb [root@oldboyedu ~]# groupadd devops
 [root@oldboyedu ~]# groupadd dba
[root@oldboyedu ~]# groupadd sa
[root@oldboyedu ~]# groupadd dsb
[root@oldboyedu ~]# usermod od -u9999 -g devops -aG dba,sa,dsb
3.修改od用户的注释信息, 用户家目录, 登录shell, 登录名 [root@oldboyedu ~]# usermod od -c "oldboyedu.com" -md /home/oldboy -s /bin/bash -l oldboy
[root@oldboyedu ~]# grep "oldboy" /etc/passwd
oldboy:x:9999:6668:oldboyedu.com:/home/oldboy:/bin/bas h
选项 # -u 指定要修改用户的UID # -g 指定要修改用户基本组 # -G 指定要修改用户附加组,使用逗号隔开多个附加组, 覆盖原有的附 加组 -aG 追加 # -d 指定要修改用户家目录 -md 旧家搬新家 # -s 指定要修改用户的bash shell

userdel删除用户

PS: 与用户相关的还有很多命令,以下简单列举一些,但都不是常用 命令,所以了解即可
(1) 使用finger命名查询用户信息以及登录信息, 示例: finger UserName ######(2) 使用chfn命令修改用户信息,示例: chfn UserName
( 3) 使用chsh命令修改用户登录Bash Shell,示例: chsh UserName
(4) 使用who、whoami、w检查用户登陆情况
######选项 -r 删除用户同时删除它的家目录
1.删除user1用户,但不删除用户家目录和 mail spool
 [root@bgx ~]# userdel user1
2.-r参数可以连同用户家目录一起删除(慎用)
[root@bgx ~]# userdel -r user1
[root@oldboyedu ~]# who root     pts/0        2019-08-05 08:59 (10.0.0.1) root     pts/1        2019-08-05 10:14 (10.0.0.1) root     pts/2        2019-08-05 12:26 (10.0.0.1)
当前登录系统的用户是 [root@oldboyedu ~]# whoami root

2 今日总结

1.什么是用户? 2.我们为什么要创建用户? 3.用户相关配置文件? /etc/passwd(重要) /etc/shadow (一般般) 4.useradd usermod userdel 5.明天: 为用户设定密码\ 用户创建的流程\ 组的管理 普通用户提 权

Day 9 用户管理的更多相关文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理

    系列目录 前言 本节主要是关注者(即用户)和用户组的管理,微信公众号提供了用户和用户组的管理,我们可以在微信公众号官方里面进行操作,添加备注和标签,以及移动用户组别,同时,微信公众号也提供了相应的接口 ...

  2. MySQL用户管理

    主要总结MySQL进行用户管理的基本实现,包含MySQL登录,添加用户,删除用户,为用户分配权限,移除某用户的权限,修改密码,查看权限等基本操作,所有命令均亲测实现.本博文是本人的劳动成果所得,在博客 ...

  3. mysql 用户管理和权限设置

    用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql> create user ...

  4. Laravel大型项目系列教程(二)之用户管理

    Laravel大型项目系列教程(二) 一.前言 本节教程将大概实现用户的注册.修改个人信息.管理用户功能. 二.Let's go 1.创建用户注册视图 $ php artisan generate:v ...

  5. linux 用户管理

    linux 用户管理 创建一个用户 foo 这个用户只能在/home/foo 上面增加删除文件, foo 不能在其他目录加减文件 useradd -d /home/foo -m foo [root@] ...

  6. mongodb的用户管理及安全认证

    1.确认mongodb的版本 > use admin switched to db admin > db.runCommand({}) { "version" : &q ...

  7. linux 用户管理(一)

    本节内容梗概: 1.用户管理配置文件 2.用户管理命令 3.用户组管理命令 4.批量添加用户 5.用户授权 学东西先讲原理,所以从配置文件入手 1.用户信息文件  /etc/passwd 存放了用户的 ...

  8. MVC4做网站后台:用户管理 —用户

    这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...

  9. MVC4做网站后台:用户管理 ——用户组

    用户管理这块包含用户和用户组两部分. 用户组包括浏览 用户组列表,添加.修改.删除用户组等.按照前面思路系统是依据用户组来判断用户权限的,用户组的最主要目的是划分权限.权限这块以后单独在做. 下面实现 ...

  10. EasyUI+MVC+EF简单用户管理Demo(问题及解决)

    写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...

随机推荐

  1. Django Mysql数据库-F查询和Q查询

    一.F查询和Q查询 F查询: 在上面所有的例子中,我们构造的过滤器都只是将字段值与某个常量做比较.如果我们要对两个字段的值做比较,那该怎么做呢? Django 提供 F() 来做这样的比较.F() 的 ...

  2. 【Fishing Master HDU - 6709 】【贪心】

    题意分析 题意:题目给出n条鱼,以及捕一条鱼所用的时间k,并给出煮每一条鱼的时间,问抓完并煮完所有鱼的最短时间. 附题目链接 思路: 1.捕第一条鱼的时间是不可避免的,煮每条鱼的时间也是不可避免的,这 ...

  3. 【MySql】linux下,设置mysql表名忽略大小写

    [障碍再现] 状况描述01:     在LINUX下调一个程序经常报出找不到表,但是我明明是建了表的,     测试的时候,遇到一些问题,从Windows平台访问虚拟机中的Web应用,经常报出找不到表 ...

  4. 史上最全面的SignalR系列教程-6、SignalR 实现聊天室

    1.概述 通过前面几篇文章对SignalR的详细介绍.我们知道Asp.net SignalR是微软为实现实时通信的一个类库.一般情况下,SignalR会使用JavaScript的长轮询(long po ...

  5. 一篇文章让你马上入门Hibernate

    在前面我们学完了Struts2,接下来我们就要去学习第二个框架Hibernate. 那什么是Hibernate? Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对 ...

  6. 监听input实时输入

    // 用Jquery实现: $('#input-element').on('input',()=>{ console.log("你按了一下111");}) // 用Jquer ...

  7. 随笔编号-15 重构--改善既有代码的设计--Day01--学习笔记

    最近公司开发的系统在进行大批量数据查询的时候发现响应速度变得让人无法忍受,so 老大安排我进行代码重构的工作,主要目的就是为提高代码的执行效率.减小方法之间的响应时间.降低方法之间的耦合度.= =! ...

  8. Python多进程的Join和daemon(守护)的用法

    join和daemon 下面仅以多进程为例: 知识点一: 当一个进程启动之后,会默认产生一个主线程,因为线程是程序执行流的最小单元,当设置多线程时,主线程会创建多个子线程,在python中,默认情况下 ...

  9. Leetcode之深度优先搜索(DFS)专题-513. 找树左下角的值(Find Bottom Left Tree Value)

    Leetcode之深度优先搜索(DFS)专题-513. 找树左下角的值(Find Bottom Left Tree Value) 深度优先搜索的解题详细介绍,点击 给定一个二叉树,在树的最后一行找到最 ...

  10. Leetcode之回溯法专题-90. 子集 II(Subsets II)

    Leetcode之回溯法专题-90. 子集 II(Subsets II) 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集). 说明:解集不能包含重复的子集. 示例: 输入 ...