用户类型

用户类型 名称 uid 特点
管理员用户 root 0 权力至高无上
虚拟用户 nobody(可自定义) 1-999 用于管理进程 无家目录 不能登录系统
普通用户 自定义 1000+ 权限有限

用户管理基本操作

创建用户

# 创建普通用户danni
useradd danni
# 创建用户,指定用户id,所属组,附属组,用户注释
useradd danni -u 2000 -g danni -G dannis -c "An IT girl"
# 创建虚拟用户 mysql
useradd mysql -M -s /sbin/nologin -c "database manager"

useradd参数说明:

参数 说明
-M 不创建家目录
-s 设置用户登录方式
-c 设置用户注释
-g 设置用户所属组
-u 设置用户id
-G 设置用户的附属组

查看用户信息

用户的信息保存在 /etc/passwd 目录下

# 查看用户信息
[root@smartgirl ~]# grep mysql /etc/passwd
mysql:x:1002:1002:database manager:/home/mysql:/sbin/nologin
1    2  3    4    5               6            7
------------------------------------------------------------------------
各字段含义:
1.用户名
2.用户密码,正真的密码保存在/etc/shadow中,此处仅占位
3.用户id
4.所属组id
5.用户注释
6.用户家目录 --- 虚拟用户的家目录实际并不存在
7.用户登录方式  /sbin/nologin ---- 不能登录

修改用户信息

usermod $用户名 $参数 $信息

# 修改用户登录方式 --- 当有员工离职,账号可以设置为不可登录(保留账号)
usermod danni -s /sbin/nologin

删除用户

userdel $用户名 — 不会删除用户的家目录
userdel -r $用户名 — 彻底删除用户,会删除用户家目录

补充:
groupadd $用户组名 — 创建用户组
groupdel $用户组名 — 删除用户组

设置用户密码

交互式设置

passwd $用户名

非交互式设置

echo 密码信息|passwd --stdin $用户名

查看所有用户登录信息

# 根据用户信息空闲时间,当前操作等,可以判断用户的使用系统情况
# 如判断用户是否占用CPU资源过多,是否长时间运行脚本
# 从而判断是否执行了死循环脚本,或者系统被植入病毒
[root@smartgirl ~]# w
05:47:31 up 10:19,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/2    10.0.0.1         01:45    3.00s  0.24s  0.00s w
root     pts/3    10.0.0.1         01:45    2:55m  0.03s  0.02s bash
1       2         3                 4       5           6       7
----------------------------------------------------------------------
各字段含义:
1. 登录用户用户名
2. pts/x 远程登录系统tty1 本地登录echo '请勿继续操作!' >> /dev/pts/2   --- 将在用户终端输出该信息,可用于提醒用户
3. 从哪连接的服务器
4. 登录时间
5. 空闲时间 --- 无操作
6. 用户操作系统 消耗的CPU资源
7. 用户当前操作 ich(执行脚本)  bash命令行输入

文件/目录权限

文件/目录权限的设置是用户管理中非常重要的内容,因为Linux中一切皆文件,掌握了文件的控制权,就掌握了系统的控制权,文件权限的管理对服务器的安全至关重要。

文件权限说明

  • r 可读
  • w 可执行
  • x 执行这个文件(脚本文件)

权限配置结论:

  • root用户对任何文件都默认有读写权限,即使没有执行权限也可以用sh命令执行文件
  • 对于文件来说,写权限和执行权限都需要有读权限支持
  • 普通如果想对文件进行操作,必须对文件赋予读的权限

目录权限说明

  • r 可读目录中文件的属性
  • w 可在目录中添加或删除文件数据信息
  • x 可进入到目录中

目录权限配置结论:

  • root用户对目录有绝对权限
  • 对于目录来说,写权限和读权限都需要有执行权限的配合
  • 如果想对目录进行操作,必须对目录赋予执行操作

root用户文件默认权限:644

保证属主可编辑文件,其他用户可读文件

root用户目录默认权限:755

保证属主可编辑目录中文件,其他用户可读取目录信息,并进入到目录

ps:文件是否可以编辑查看,不仅与文件自身的权限有关,还与上一级或上n级目录的权限有关

设置用户文件权限

修改单类型用户权限

属主 — user — u
属组 — group — g
其他用户 — other — o

chmod u+r/w/x — 添加权限
chmod u-r/w/x — 减少权限
chmod u=rw — 直接赋值

修改所有类型用户权限

数值设定:chmod 755 $文件名
符号设定:chmod a=x $文件名

修改文件属主/属组

# 修改属主
chown $属主 $文件
# 修改属组
chgrp $属组 $文件
# 修改属主和属组
chown $属主.$属组 $文件
chown $属主. $文件
# 修改目录的权限
chown  -R $属主.$属组 $目录 --- 递归修改(注意参数是大写R)

默认用户文件/目录权限

系统中有一个umask,是文件/目录权限掩码,不同用户的umask值是不一样的,不同用户的umask的值可以是不一样的,umask决定了用户创建的文件/目录的默认权限。

这里只用root用户权限来作说明。

  • 默认umask : 0022
  • 默认文件权限: 666 - 022 = 644
  • 默认目录权限:777 - 022 = 755

文件权限计算:

对于目录,只需要用 777 减去 umask的值即可
但是,对于文件,其情况就比较特殊
若 umask 某一位是奇数,则该位对应的计算结果要+1
若都是偶数,则不需要特殊处理,也就是说:
假如umask是033,那么文件权限是 666 - 033 => 633 + 011 => 644

修改umask

  • 临时修改

    umask $数字

  • 永久修改

    vi /etc/profile

文件特殊权限位

文件在系统中一共有12个权限位,除了属主,属组和其他用户rwx一共9个权限位外,还有另外三个,分别时:

  • setuid:将用户属主所拥有的能力分配给所有人chmod u+s $文件名chmod 4xxx $文件名
  • setgid:将用户属组所拥有的能力分配给所有人 chmod g+s $文件名chmod 2xxx $文件名
  • sticky bit(粘滞位):可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改,可以用于创建一个共享目录 chmod o+t $目录chmod 1777 $目录
    系统有一个默认的共享目录 /tmp

普通用户提权

  • 修改文件/目录 rwx 权限位
  • 修改/etc/sudoers文件内容,使用sudo命令执行被赋予的权限
    # 示例
    # `visudo` 或 `vi /etc/sudoers` 可对文件进行编辑,推荐使用`visudo`,其有语法检查功能
    92 root ALL=(ALL) ALL
    93 danni ALL=(ALL) /usr/sbin/useradd
    ------------------------------------
    [danni@smartgirl ~]sudo useradd danni01   # 获得添加用户的权限
    
  • 设置setuid/setgid,赋予普通用户属主/属组的权限
    注意:
    setuid 权限一般赋予二进制文件的命令文件或者一些可执行的脚本文件
    setgid

特殊目录和文件

系统中一个特殊的目录/etc/skel/

该目录是用户家目录的样板目录,新创建用户的家目录会参考这个目录

目录中自带的文件有:

文件 功能
.bash_logout 保存系统退出登录状态时执行的命令
.bash_profile 保存别名和环境变量(只针对某个用户) ,等同于.bashrc
.bashrc 保存别名和环境(只针对某个用户)

/etc/skel 目录的应用:

  • 目录中可以存储运维操作规范说明文件
  • 调整命令提示符信息
    用户家目录中文件被恶意删除,出现问题:命令提示符变为bash-4.2$
    可将/etc/skel目录中的文件复制到用户家目录下,提示符即恢复正常

用户家目录下的特殊文件

  • .bash_history — 历史命令记录文件
  • .viminfo — 样式信息(可设置默认显示行号,文件头信息)

系统中和用户相关的文件

  • /etc/passwd — 记录系统用户信息文件
  • /etc/shadow — 系统用户密码文件
  • /etc/group — 组用户记录文件
  • /etc/gshadow —组用户密码信息
  • /etc/shells — 所有可选登录方式

Linux 运维基础(七):用户管理相关推荐

  1. linux运维基础[系统磁盘管理]——————磁盘的物理结构[内部结构、外部结构、计算磁盘大小]

    文章目录 1. 磁盘的外部结构 2.磁盘的内部结构 3. 计算一个磁盘的大小 1. 磁盘的外部结构 我们首先查看一个磁盘的结构,然后我们来进行一一的解读: 磁盘的主轴:决定磁盘的转速,转的越快,就会效 ...

  2. linux运维基础[系统磁盘管理]——————存储设备的识别、df、du、fsck

    文章目录 1. 本地存储设备的识别 1.1 fdisk -l 1.2 cat /proc/partition 1.3 blkid 1.4 df 2.文件系统常用命令 2.1 df 2.1.1 -h 2 ...

  3. Linux运维基础进阶——PPT汇总

    Linux运维基础 admin day1--云网络基础 day2--Linux系统简介.安装Linux系统.Linux基本操作 day3--命令行基础.目录和文件管理 day4--管理用户和组.tar ...

  4. 第一阶段·Linux运维基础-第1章·Linux基础及入门介绍

    01-课程介绍-学习流程 02-服务器硬件-详解 03-服务器核心硬件-服务器型号-电源-CPU 01-课程介绍-学习流程 1.1. 光看不练,等于白干: 1.2 不看光练,思想怠慢: 1.3 即看又 ...

  5. puppet运维自动化之用户管理

    系统管理员离不开账户管理,账户管理,密码管理,开发机器,测试机器,线上机器,都需要创建用户,并给与相关用户的权限.你如果要创建100个,1000个账户和密码,你会不会疯掉,如何在1分钟完成百上千个账户 ...

  6. linux 运维基础问题_Linux基础能力问题和解答

    linux 运维基础问题 This section contains Aptitude Questions and Answers on Linux Basics. 本节包含有关Linux基础知识的 ...

  7. 网络配置——Linux运维基础

    今天把Linux的网络配置总结了一下,尽管并不难可是是个比較重要的基础.然后我也不知到自己以后是否会做运维,可是我知道自己比較喜欢刨根问底.还有就是我很珍惜我以前掌握过的这些运维的技能.今天突然间问自 ...

  8. linux运维基础进阶和shell入门,Linux运维工程师从基础到进阶:Shell变量知识梳理...

    原标题:Linux运维工程师从基础到进阶:Shell变量知识梳理 Shell是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言,涵盖的知识点多且杂 ...

  9. 0基础linux运维,Linux运维基础

    字符匹配: . 匹配任意单个字符 [] 匹配指定范围内的任意单个字符 [^] 匹配指定范围外的任意单个字符 [:alnum:] 字母和数字 [:alpha:] 代表任何英文大小写字符,亦即 A-Z, ...

最新文章

  1. gin自定义路由日志的格式
  2. 虚拟机中mysql-cobar安装_cobar配置安装
  3. 【机器学习】线性回归代码练习
  4. CF1000G. Two-Paths(树形dp)
  5. 你一直想学的 RocketMQ,原来这样学才最省时省力
  6. windows android ios,TIM for Windows/iOS/Android v2.2.6 正式版发布
  7. encodeURI() 的用法
  8. asp.net 动态生成二维码加文字描述或者二维码加logo
  9. Spring Boot过滤器和拦截器详解
  10. flutter中状态栏高度等信息
  11. xp计算机连接不上网络打印机驱动,windows xp系统打印机共享提示连接失败的解决方法...
  12. 《东周列国志》第五回 宠虢公周郑交质 助卫逆鲁宋兴兵
  13. win10浏览器闪退_为什么win10浏览器总是闪退_win10浏览器闪退是怎么回事
  14. 计算机网络基础之安全防范措施
  15. python用cartopy包画地图_python – 使用Cartopy在地图上显示图像时的投影问题
  16. win11磁盘分区怎么分?手把手教会你
  17. 数据分析师必备思维——矩阵思维
  18. 互联网摸鱼日报(2023-04-30)
  19. DDN获中国工信部—可信区块链评测证书
  20. 用pyhton爬虫技术爬取所有股票的每周价格

热门文章

  1. 移动设备智能化的基石–从iPhone4的传感器谈起
  2. promql中使用rate/irate等函数__name__丢失处理
  3. LDR6328支持不同电压输出,TYPE-C转DC/surface快充线方案
  4. 数字图像处理-图像分割-复习总结
  5. React实现在移动端进行签字
  6. webpack 优化启动项目速度
  7. js中的callee
  8. Html编码转换(#数字型)
  9. 2022认证杯(小美赛)C题详细思路
  10. Java使文本框失去焦点的方法,使文本框text1获得焦点,js使文本框失去焦点