一、前言

“莫等闲,白了少年头,空悲切”:不要的老了才后悔哦

“经多世事心长惬” :经历的事情多了心中就会泰然自若

“曾经沧海难为水,除却巫山不是云”

“如烟往事俱忘却,心底无私天地宽”

“重湖叠巘清嘉,有三秋桂子十里荷花”

“万花丛中过,片叶不沾身”

二、用户管理

1、用户管理概念

问题1:为什么会存在用户管理的概念?

Windows是个人用的,一般都是所有权限都是自己掌握,而且,管理用户是administrator

Linux是多用户在线的,服务器也不会在家里,会放在专业的地方-->机房!

所以权限管理就显得格外的重要

工作中,权限分割是非常重要的;

2、涉及的用户管理的文件

/etc/passwd:用户信息文件

作用:记录用户信息的文件

用户:

系统用户:一般不能登录

普通用户:可以登录

管理员用户:root-->权限最大

#直接打开/etc/passwd文件-->分析
[root@Master ~]# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
.........省略...............#总共有七列数据-->分别以冒号相隔
root:x:0:0:root:/root:/bin/bash第一列“root”:用户名
第二列“x”:密码位-->真正的密码保存在/etc/shadow文件
第三列“0”:用户的UID:0:代表是超级用户root;如果把普通用户的UID改为0,则普通用户会有超级用户的权限0~499:centos7以下版本-->作为系统用户UID0~999:centos7以上版本--->系统用户UID系统用户不能删除,删除了可能会导致了系统某些服务无法启动500~60000:centos7以下版本-->普通用户的UID1000~60000:centos7以上版本-->普通用户的UID第四列“0”:用户的GID,在用户创建的时候,系统会默认创建和用户名一样的用户组第五列“root”:用户的说明信息第六列“/root":用户的家目录位置第七列“/bin/bash”:用户登录的shell

实验:如何把普通用户升级为超级用户?

#超级用户能够查看shadow文件
[root@Master ~]# ll /etc/shadow
----------. 1 root root 797 1月   1 21:33 /etc/shadow
[root@Master ~]# head -n 1 /etc/shadow
root:$6$toFhGjt/NPTkRGDt$ZxncioDw6pfbtHKHYWBlrcvyvZ6Ln5nCxeDAf0Ow4n0CBa2zHvwPjY5KI9ktRxN4o1JuPFAiUX6UWhIHY1ntl.:18628:0:99999:7:::#切换普通用户无法查看shadow文件
[root@Master ~]# su - zhangsan
[zhangsan@Master ~]$ head -n 1 /etc/shadow
head: 无法打开"/etc/shadow" 读取数据: 权限不够#修改/etc/passwd文件
找到张三用户-->把用户的UID改为0
[root@Master ~]# vim /etc/passwd
............省略..........................
zhangsan:x:0:500::/home/zhangsan:/bin/bash#切换普通用户看看
[root@Master ~]# su - zhangsan
[root@Master ~]# pwd
/home/zhangsan
[root@Master ~]# whoami
root
[root@Master ~]# head -n 1 /etc/shadow
root:$6$toFhGjt/NPTkRGDt$ZxncioDw6pfbtHKHYWBlrcvyvZ6Ln5nCxeDAf0Ow4n0CBa2zHvwPjY5KI9ktRxN4o1JuPFAiUX6UWhIHY1ntl.:18628:0:99999:7:::#禁止用户登录
修改/etc/passwd文件-->找到zhangsan用户,把shell改为/sbin/nologin
[root@Master ~]# vim /etc/passwd
zhangsan:x:0:500::/home/zhangsan:/sbin/nologin#登录测试---------->登陆失败
[root@Master ~]# ssh zhangsan@192.168.75.13
zhangsan@192.168.75.13's password:
This account is currently not available.
Connection to 192.168.75.13 closed.

/etc/shadow:用户密码相关的影子权限

作用:保存用户密码信息的文件

#查看一下文件内容
[root@Master ~]# vim /etc/shadow
root:$6$toFhGjt/NPTkRGDt$ZxncioDw6pfbtHKHYWBlrcvyvZ6Ln5nCxeDAf0Ow4n0CBa2zHvwPjY5
KI9ktRxN4o1JuPFAiUX6UWhIHY1ntl.:18628:0:99999:7:::
..........省略..............#影子文件总共9列-->以冒号相隔开
第一列“root”:用户名
第二列“一大串”:加密的密码-->默认的是MD5加密算法如果在一大串前面加个!,代表不能登录,没有密码如果用户没有设置密码,则会显示!!
第三列“18628”:密码最近更新的时间-->记录的是时间戳,标准时间是1970年1月1日开始
第四列“0”:两次修改密码的间隔时间
第五烈“99999”:密码的有效期
第六列“7”:密码修改到期前给用户的提醒时间
第七列:密码过期后的宽限天数-->就是密码过期了,你最晚多少天前要改密码
第八列:密码的失效时间,
第九列:还没用处,保留!

/etc/group:用户组信息文件

作用:保存用户组的信息文件

#查看
[root@Master ~]# head -n 1 /etc/group
root:x:0:#总共是4列-->以冒号相隔
第一列:组名
第二列:组密码位-->和passwd文件相同,真正保存在/etc/gshadow文件中,一般没人设置
第三列:GID
第四列:用户的附加组初始组只有一个,每个用户的初始组只能有一个,一般是和用户同名附加组可以有多个,不设限制

/etc/gshadow:用户组密码文件

.[root@Master ~]# head -n 2 /etc/gshadow
root:::
bin:::bin,daemon#组管理员可以设定组密码,

/etc/skel:用户模板文件

作用:新建用户的时候在家目录下会有一些的隐藏文件,有这个文件提供

#用户的模板
[root@Master ~]# ls -a /home/zhangsan/
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .gnome2  .viminfo#/etc/skel-->如果在这里添加文件,创建用户的时候直接会有的
[root@Master ~]# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2#添加一下.vimrc然后创建用户的时候就会默认添加
[root@Master ~]# vim /etc/skel/.vimrc
set si
set list
set nu
#测试
[root@Master ~]# useradd lisi
[root@Master ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。[root@Master ~]# su - lisi
[lisi@Master ~]$ vim haha.tet1 djlfksj$

/home/用户名:

作用:每个用户的独立默认的家用户位置

/var/spool/mail/用户名

作用:每个用户收到的邮件就存放在这里

3、用户管理命令

实验:手工删除用户实验

第一步:创建用户

[root@Master ~]# useradd lisi
[root@Master ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。#创建已存在的用户时候会报错
[root@Master ~]# useradd lisi
useradd:用户“lisi”已存在

第二步:删除用户对应文件

#删除用户家目录、passwd用户信息、group用户信息、shadow用户信息、gshadow用户信息、
#/var/spool/mail/用户名
删除后再次创建查看[root@Master ~]# userdel -r lisi
[root@Master ~]# useradd lisi
[root@Master ~]# passwd lisi
更改用户 lisi 的密码 。
新的 密码:
无效的密码: 过短
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

useradd命令

作用:添加用户

语法:

useradd 【选项】 用户名

选项:

-u:指定UID

-g:指定初始组-->一般不设定,选择默认就好了

-G:指定附加组-->一个用户可以多个附加组

-c:添加用户说明

-d:指定家用户,目录不需要事先指定

-s:指定用户的shell

-r:添加的是系统用户

#如果添加用户不设密码
[root@Master ~]# useradd wangwu
[root@Master ~]# tail -n 1 /etc/shadow
wangwu:!!:18630:0:99999:7:::
#这里直接是!!两个感叹号-->代表没有密码#指定附加组
[root@Master ~]# useradd zhaoliu -G wangwu
[root@Master ~]# id zhaoliu
uid=503(zhaoliu) gid=503(zhaoliu) 组=503(zhaoliu),502(wangwu)#添加系统用户并且指定不能登录
[root@Master ~]# useradd nginx -r -s /sbin/nologin
[root@Master ~]# tail -n 1 /etc/passwd
nginx:x:498:498::/home/nginx:/sbin/nologin#指定用户的家目录
[root@Master data]# useradd -d /data/wuqi wuqi
[root@Master data]# id wuqi
uid=504(wuqi) gid=504(wuqi) 组=504(wuqi)
[root@Master data]# ls /data/wuqi/ -a
.  ..  .bash_logout  .bash_profile  .bashrc  .gnome2  .vimrc#添加信息
[root@Master data]# useradd -c "this is a test user" chenxing
[root@Master data]# tail -n 1 /etc/passwd
chenxing:x:505:505:this is a test user:/home/chenxing:/bin/bash

问题1:为什么添加用户的时候系统会默认添加用户文件?

这个主要是受限是两个文件

/etc/default/useradd文件

/etc/login.defs文件

/etc/default/useradd 文件:

[root@Master data]# cat /etc/default/useradd
# useradd defaults file
GROUP=100                           #用户的GID
HOME=/home                          #指定添加的用户的家目录
INACTIVE=-1                         #密码过期后的宽限天数-->shadow的第七列
EXPIRE=                             #密码时效的时间-->第八列系统
SHELL=/bin/bash                     #系统创建默认的用户的shell
SKEL=/etc/skel                      #模板文件位置在/etc/skel/目录下
CREATE_MAIL_SPOOL=yes               #是否创建邮箱

/etc/login.defs文件

[root@Master data]# cat /etc/login.defs | grep -v "^$" | grep -v "^#"
MAIL_DIR    /var/spool/mail           #指定了用户邮箱路径
PASS_MAX_DAYS   99999             #指定了用户密码有效期是多久
PASS_MIN_DAYS   0                 #修改两次密码的相隔时间
PASS_MIN_LEN    5                 #密码的最小长度
PASS_WARN_AGE   7                 #密码到期前的警告天数
UID_MIN           500     #指定普通用户的最小UID
UID_MAX         60000     #指定普通用户的最大UID
GID_MIN           500     #指定普通用户的最小GID
GID_MAX         60000     #指定普通用户的最大GID
CREATE_HOME yes               #是否创建家目录
UMASK           077                  #普通用户默认的umask
USERGROUPS_ENAB yes                  #是否删除系统默认的家用户
ENCRYPT_METHOD SHA512                #密码是使用SHA512加密模式

passwd命令

作用:修改用户密码

语法:

passwd 【选项】 用户名

选项:

-l:锁定密码

-u:解锁用户

echo “密码” | passwd --stdin 用户名

#添加密码
[root@Master ~]# passwd wangwu
更改用户 wangwu 的密码 。
新的 密码:
无效的密码: WAY 过短
无效的密码: 是回文
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@Master ~]# echo "123456" | passwd --stdin zhaoliu
更改用户 zhaoliu 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

问题2:如何设置普通用户一登录就得修改密码?

第一个方法:chage命令

#设置一登录就得改密码
[root@Master ~]# chage -d 0 wangwu#测试检测
[root@Master ~]# ssh wangwu@192.168.75.13
wangwu@192.168.75.13's password:     #输入原始密码
You are required to change your password immediately (root enforced)
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user wangwu.
Changing password for wangwu.
(current) UNIX password:    #输入原始密码
New password:               #输入新密码
Retype new password: #需要再次登录
[root@Master ~]# ssh wangwu@192.168.75.13
wangwu@192.168.75.13's password:
Last login: Sun Jan  3 12:07:54 2021 from 192.168.75.13
[wangwu@Master ~]$ 

第二个方法:直接vim /etc/shadow对应的用户名的密码过期天数

[root@Master ~]# vim /etc/shadow
..........省略...................
zhaoliu:$6$8KgOnXAG$/SaaDO7EHB5knJ1xa8vDPdUabaZj/AQEVIa4sR5PqGt15rkZCu3eGeKQOR1/
oeS4gB.jTQZVhA1iMZkcZpQ/e0:0:0:99999:7:::#第三个字段改为0#登录测试
[wangwu@Master ~]$ ssh zhaoliu@192.168.75.13
zhaoliu@192.168.75.13's password:
You are required to change your password immediately (root enforced)
Last login: Sun Jan  3 12:13:18 2021 from 192.168.75.13
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user zhaoliu.
Changing password for zhaoliu.
(current) UNIX password: [wangwu@Master ~]$ ssh zhaoliu@192.168.75.13
zhaoliu@192.168.75.13's password:
Last login: Sun Jan  3 12:13:43 2021 from 192.168.75.13
[zhaoliu@Master ~]$ 

usermod命令

作用:修改用户的信息

语法:

usermod 【选项】 用户名

选项:

-u:修改用户的UID

-d:修改用户的家目录,通常结合-m使用,把家的内容都搬走

-c:添加用户说明

-g:修改用户的初始组

-G:修改用户的附加组

-s:修改用户的shell

-e:修改用户的时效时间-->年-月-日

-L:临时锁定用户

-U:解锁用户

#修改用户的附加组
[root@Master ~]# usermod -G wangwu zhangsan
[root@Master ~]# id zhangsan
uid=500(zhangsan) gid=500(zhangsan) 组=500(zhangsan),502(wangwu)#添加一些说明信息
[root@Master ~]# usermod -c "hahahah" zhangsan
[root@Master ~]# cat /etc/passwd | grep zhangsan
zhangsan:x:500:500:hahahah:/home/zhangsan:/sbin/nologin#修改用户名:
[root@Master ~]# usermod -l zhangsan01 zhangsan
[root@Master ~]# id zhangsan
id: zhangsan:无此用户
[root@Master ~]# id zhangsan01

userdel命令

作用:删除用户信息

语法:

userdel 【选项】 用户名

选项

-r

#如果不带r选项,不会删除用户的家目录
[root@Master ~]# userdel zhangsan01
[root@Master ~]# ls /home/zhangsan/#带上-r选项-->直接删除用户的家目录
[root@Master ~]# userdel lisi -r
[root@Master ~]# ls /home/lisi
ls: 无法访问/home/lisi: 没有那个文件或目录

groupadd命令

作用:;添加组

语法:

groupadd 【选项】 组名

选项:

-g:指定GID

#默认添加
[root@Master ~]# groupadd hello
[root@Master ~]# tail -n 1 /etc/group
hello:x:506

su命令

作用:切换用户

#切换普通用户-->它不会切换环境变量
[root@Master ~]# su zhaoliu
[zhaoliu@Master root]$ whoami
zhaoliu
[zhaoliu@Master root]$ pwd
/root#常用的是带上-
[root@Master ~]# su - zhaoliu
[zhaoliu@Master ~]$ pwd
/home/zhaoliu
[zhaoliu@Master ~]$ whoami
zhaoliu

groupdel命令

作用:删除用户组

[root@Master ~]# groupdel hello

gpasswd命令

作用:给用户添加或者删除组

语法

gpasswd 【选项】 用户名 组名

选项:

-a:添加

-d:删除

#创建组
[root@Master ~]# groupadd lala
[root@Master ~]# gpasswd -a zhaoliu lala
正在将用户“zhaoliu”加入到“lala”组中#删除组
[root@Master ~]# gpasswd -d zhaoliu lala
正在将用户“zhaoliu”从“lala”组中删除区别两个命令都可以添加附加组
usermod -G 组名  用户名
gpasswd -a 用户名  组名

三、结束

“一个人的一生,没有盲目的痛苦,也没有永恒的痛苦;没有不能跨越的障碍,没有不能跨越的障碍”

“在生活中,更多的人不想被迷惑或假装被迷惑。人活着的时候不需要了解一切,不需要在这个世界上做自己,不需要放下自己顽固的观点,不需要澄清水就没有鱼,不需要澄清人就没有朋友。事实上,生活只需要一颗平静、平和、自由的心,一颗简单而细致的心。”

“成功的秘诀在于从不改变既定的目标。如果你不对自己设限,你的生活中就不会有限制你表现的障碍。幸福不会错过任何人,它迟早会找到你”

“人生就像一盘棋,应该更主动出击,更少消极退却”

互勉~!

Linux用户管理篇相关推荐

  1. linxu passwd 给linux用户设置密码 命令

    [root@localhost ~]# passwd # 修改 root 用户的密码 passwd 给linux用户设置密码 命令 passwd www 直接passwd是当前用户设置密码 非交互式修 ...

  2. Linux用户必须知道的常用终端快捷键

    点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 作者:Linux公社 链接:https://www.linuxidc.com 简介:以下是一些 ...

  3. linux 推荐硬件配置,2012最受欢迎的Linux用户硬件配置

    - Intel HD 2500/4000 "Ivy Bridge" (Gen7) - Intel Core IGP (Gen5) - Matrox MGA G200eW WPCM4 ...

  4. 有针对linux系统的补丁吗,Linux用户的注意了 有两个补丁需要你打一下

    原标题:Linux用户的注意了 有两个补丁需要你打一下 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成. SMB协议则能够为局域网内的不同设备之间提供文 ...

  5. Linux用户添加sudoer

    Linux用户添加sudoer 博客分类: Linux Linux 使用sudo可以在以非root用户登录时临时获得root权限,并执行需要的命令.可以使用sudo的用户可以叫做sudoer. 添加s ...

  6. linux用户和文件目录管理

    Linux用户及权限管理 用户管理 多用户多任务的操作系统 用户类型 管理员用户 root 普通用户 系统用户/程序用户 用户相关的文件: /etc/passwd 用户信息 格式: 用户名:x:UID ...

  7. linux 用户和权限管理

    用户和权限管理 一.linux用户和组的分类 用户: 1.  Linux是多用户使用的系统资源,多任务同时运行多个进程. 用户分为管理员(root)和普通用户两大类 2.  普通用户分为系统用户和登陆 ...

  8. linux记录用户命令的日志是,用日志记录Linux用户执行的每一条命令

    用日志记录Linux用户执行的每一条命令 用日志记录Linux用户执行的每一条命令 工作中,需要把用户执行的每一个命令都记录下来,并发送到日志服务器的需求,为此我做了一个简单的解决方案.这个方案会在每 ...

  9. linux 用户行为审计update1

    根据公司需求,整理了一个linux用户审计的脚本,现和大家分享! 具体步骤如下: 一:配置调试 1.创建用户审计文件存放目录和审计日志文件 : mkdir -p /var/log/usermonito ...

最新文章

  1. 收藏 | 神经网络的 5 种常见求导,附详细的公式过程
  2. 创业-程序员独自5大思维障碍
  3. 【自动化】Python3+Selenium3自动化测试-准备工作
  4. CSS:CSS定位和浮动
  5. php逻辑分析,PHP – 字符串逻辑分析 – “X和Y或Z”
  6. 解析UML箭头、线条代表的意义
  7. 思科软件服务器怎么作用,TFTP 服务器的选择和使用
  8. 一个基于SpringBoot+vue的学生信息管理系统详细设计
  9. 软件生产的工业化思路
  10. 影响科学圈的那些计算机代码
  11. SI4463低功耗测试-STC单片机一样可以超低功耗
  12. vue_todo案例超详细讲解(可跟做练手项目)
  13. 开发小游戏之(案例——装备选择)
  14. css flex 布局 space-around 和 space-evenly 之间的区别css flex布局)
  15. 什么是后端开发?后端能做什么?全栈工程师又是什么?
  16. 计算机科学方向的会议或期刊,计算机顶会和顶刊_计算机顶会_顶会
  17. GO的简单入门:使用Go和Gin开发一个RESTFulAPI
  18. MATLAB相干成像系统,Matlab光学仿真课程设计-基于Matlb相干与非相干照明成像系统的仿真.docx...
  19. 【应用安全】什么是联合身份管理?
  20. linux FTP本地登录

热门文章

  1. HTML5期末考核大作业 基于HTML+CSS+JavaScript仿王者荣耀首页 游戏网站开发 游戏官网设计与实现
  2. 中毒后的反思,我再也受不了
  3. 苹果cms全局标签及各页面ID
  4. 智能车竞赛技术报告 | 节能信标组 - 中南民族大学 - 双子星
  5. 科普知识------地球上的水
  6. 科威特政府成功测试诺基亚XGS-PON技术 速度高达10Gbps
  7. 年薪最高30万!蒙泰集团招聘66人!工作地点:鄂尔多斯!
  8. 电脑忘记密码怎么办的解决方法
  9. [Python Challenge通关]第12关 dealing evil
  10. [转] 上海财经大学演讲