1.系统中和用户相关的文件

(1)/etc/passwd:记录系统用户信息文件

(2)/etc/shadow:系统用户密码文件

(3)/etc/group:组用户信息文件

(4)/etc/gshadow:组用户密码文件

2./etc/passwd文件含义

[root@shuai /etc]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
#第一列:用户名
#第二列:用户密码信息
#第三列:用户的uid
#第四列:用户的gid
#第五列:用户的注释信息
#第六列:用户的家目录
#第七列:用户登录方式(解释器)

3.用户概念介绍:

管理员用户 root id(0)

虚拟用户 nobody id(1-999)

普通用户 shuai id(1000+)

4.系统用户相关命令

(1)创建用户命令(useradd)
[root@shuai ~]# useradd shuai
#创建虚拟用户
[root@shuai ~]# useradd shuai -M -s /sbin/nologin
#指定用户uid -u
[root@shuai ~]# useradd shuai -u 3000
#指定用户用户组 -g
[root@shuai ~]# useradd shuai01 -u 3000 -g amy
[root@shuai ~]# id shuai01
uid=3000(shuai01) gid=1002(amy) groups=1002(amy)
[root@shuai ~]# useradd shuai02 -u 3001 -g1002
[root@shuai ~]# id shuai02
uid=3001(shuai02) gid=1002(amy) groups=1002(amy)
#添加附属组 -G
[root@shuai ~]# useradd shuai03 -u 3004 -g amy -Gshuai
[root@shuai ~]# id shuai03
uid=3004(shuai03) gid=1002(amy) groups=1002(amy),1001(shuai)
#给用户添加备注信息 -c
[root@shuai ~]# useradd shuai05 -M -s /sbin/nologin -c "test user"
[root@shuai ~]# grep shuai05 /etc/passwd
shuai05:x:3005:3005:test user:/home/shuai05:/sbin/nologin
(2)修改用户信息(usermod)
usermod shuai -s /sbin/nologin
#-s 修改用户的登录方式
#-g 修改用户的主要组信息
#-G 修改用户附属组信息
#-c 修改用户的注释信息
(3)删除用户(userdel -r)
[root@shuai ~]# userdel -r shuai03
#彻底删除用户以及用户的家目录

5.用户组相关命令

#添加用户组
groupadd
#修改用户组
groupmod
#删除用户组
groupdel

6.用户密码设置方法

#交互式设置密码
[root@shuai ~]# passwd 用户名
#非交互设置密码
[root@shuai ~]# echo 123|passwd --stdin shuai
Changing password for user shuai.
passwd: all authentication tokens updated successfully.

补充:企业中设置密码和管理密码的方式

01.密码要复杂12位以上字母数字及特殊符号

02.管理密码的软件

keeppass

https://keepass.info/download.html

https://keepass.info/translations.html #汉化包下载

密码保险柜,本地存储密码

lastpass

密码保险柜,在线存储密码

03.大型企业用户和密码统一管理(openldaq域,jumpsever)

04.动态密码:动态口令,第三方提供或自己开发。

7.用户的属组属主的修改命令

[root@shuai ~]# chown shuai.shuai shuai
[root@shuai ~]# ll -d
dr-xr-x---. 7 root root 4096 Jul 15 11:04 .
[root@shuai ~]# ll -d shuai
drwxr-xr-x 2 shuai shuai 196 Jul 13 16:46 shuai
[root@shuai ~/shuai]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai01.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai02.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai03.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai04.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai05.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai06.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai07.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai08.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai09.txt
-rw-r--r-- 1 root root 0 Jul 13 16:38 shuai10.txt
#递归修改-R
[root@shuai ~]# chown -R shuai.shuai shuai
[root@shuai ~]# ll -d shuai
drwxr-xr-x 2 shuai shuai 196 Jul 13 16:46 shuai
[root@shuai ~]# cd shuai && ll
total 0
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai01.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai02.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai03.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai04.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai05.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai06.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai07.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai08.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai09.txt
-rw-r--r-- 1 shuai shuai 0 Jul 13 16:38 shuai10.txt

8.用户信息查看命令

1.显示用户信息(id)
[root@shuai ~]# id shuai
uid=1001(shuai) gid=1001(shuai) groups=1001(shuai)
2.显示正在登陆系统的用户信息(w)
[root@shuai ~]# w
14:47:05 up 1 day, 1:26, 2 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 07Jul20 29:42m 0.61s 0.61s -bash
root pts/2 10.0.0.1 12:55 1.00s 2.01s 0.02s w
登陆的用户 登陆的方式 源地址 登陆时间 空闲时间 消耗的cpu资源 用户在干什么,用了多少时间
3.看那个用户登录过系统(lastlog)
[root@shuai ~]# lastlog
Username Port From Latest
root pts/0 10.0.0.1 Thu Jul 16 14:50:19 +0800 2020
bin **Never logged in**
daemon **Never logged in**
adm **Never logged in**
lp **Never logged in**
sync **Never logged in**
shutdown **Never logged in**

远程通知

9.用户权限说明

1.直接切换到root账户下管理系统 篡权夺位

su -: 会切换root用户,也会把用户变量也切换到root的环境变量

su : 只是会切换root用户,但是当前的环境变量还是以前用户的环境变量

2.直接让root用户修改要做的数据文件权限
3.root用户赋予了普通用户权利 (sudo)

sudo:root用户授权一个能力给普通用户

[root@shuai ~]# visudo  (相当于编辑vim /etc/sudoers)
90 ##
91 ## Allow root to run any commands anywhere
92 root ALL=(ALL) ALL
93 shuai01 ALL=(ALL) /usr/sbin/useradd, /usr/bin/mv
94
95 ## Allows members of the 'sys' group to run networking, software,
测试:查看shuai01用户的权利
[shuai01@shuai ~]$ sudo -l
User shuai01 may run the following commands on shuai:
(ALL) /usr/sbin/useradd, /usr/bin/mv
[shuai01@shuai ~]$ sudo useradd shuai06
[shuai01@shuai ~]$ id shuai06
uid=3008(shuai06) gid=3008(shuai06) groups=3008(shuai06)
sudo命令补充:

Defaults logfile=/var/log/sudo //定义日志记录并指定存储位置

sudo -k Kill 清除“入场卷”上的时间,下次再使用sudo时要再输入密码

授权单个命令或多个命令 /usr/sbin/useradd, /usr/bin/rm, , 授权单个命令目录或多个命令目录 (需要排除部分特权命令) /usr/sbin/, !/usr/sbin/visudo , /usr/bin/ 不需要输入用户密码,可以直接sudo方式执行命令

NOPASSWD: /usr/sbin/, !/usr/sbin/visudo , /usr/bin/

10.设置特殊权限位

rwx -w- –x 系统文件数据的9个权限位 系统中实际应该有12个权限位

(1)setuid:

权限设置方法:

chmod u+s  文件信息
chmod 4755 文件信息
#root
[root@shuai ~]# chmod u+s /usr/bin/cat
[root@shuai ~]# ll -d /usr/bin/cat
-rwsr-xr-x. 1 root root 54080 Apr 11 2018 /usr/bin/cat
#zhaosi
[zhaosi@shuai ~]$ cat /root/shuai.txt
123
在属主权限位多出s信息
总结: setuid权限位设置,将文件属主拥有的能力,分配给所有人
权限一般富裕二进制的命令文件或者一些可执行的脚本文件
(2)setgid:
chmod g+s  文件信息
chmod 2755 文件信息 (属组加s 加w权限)
chmod 6755 文件信息 (属主属组加s权限,属组加w权限)


[root@shuai ~]# chmod g+s /usr/bin/cat
[root@shuai ~]# ll -d /usr/bin/cat
-rwxr-sr-x. 1 root root 54080 Apr 11 2018 /usr/bin/cat
[root@shuai ~]# chmod 2775 /usr/bin/ls
[root@shuai ~]# ll -d /usr/bin/ls
-rwxrwsr-x. 1 root root 117672 Apr 11 2018 /usr/bin/ls
[root@shuai ~]# chmod 6775 /usr/bin/ls
[root@shuai ~]# ll -d /usr/bin/ls
-rwsrwsr-x. 1 root root 117672 Apr 11 2018 /usr/bin/ls
总结: setgid权限位设置,将文件属组拥有的能力,分配给所有用户组

sticky bit:粘滞位: (创建一个共享目录) 可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改

设置方法:
chmod o+t 目录信息
chmod 1777 目录信息
系统中已经准备好了一个共享目录,权限位1777
[root@shuai ~]# ll -d /tmp/
drwxrwxrwt. 10 root root 4096 Apr 25 09:35 /tmp/

11.总结: 普通用户拥有root用户能力

1.直接切换用户 su – (*)

优势: 简单快捷

劣势: 风险太高(root权限泛滥)

2.修改数据文件权限 ,9位权限位 ,属主信息

优势: 只针对某个数据文件进行修改 只针对某个用户进行授权

劣势: 需要了解权限位功能

3.采用sudo提权方式

优势: 可以利用文件编辑指定用户有哪些指定权限 sa运维部门 dev开发人员

劣势: 配置规划复杂

4.修改数据文件权限 后3位权限位

优势: 设置权限简单方便

劣势: 设置好的权限所有用户都拥有

5.如何防范系统中的重要文件不被修改(root用户也不能修改)

给文件加上锁头: 目的: 使root用户也不能直接修改相应文件

设置方法:
[root@shuai ~]# chattr +i /etc/passwd
[root@shuai ~]# ll -d /etc/passwd
-rw-r--r-- 1 root root 1227 Jul 17 11:51 /etc/passwd
[root@shuai ~]# lsattr /etc/passwd
----i----------- /etc/passwd
解锁方法:
[root@shuai ~]# chattr -i /etc/passwd
[root@shuai ~]# ll -d /etc/passwd
-rw-r--r-- 1 root root 1227 Jul 17 11:51 /etc/passwd
检查方法
[root@shuai ~]# lsattr /etc/passwd
---------------- /etc/passwd

Linux用户体系的更多相关文章

  1. Linux用户体系和文件权限总结

    一.           Linux系统用户和用户组相关文件 1.  /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/r ...

  2. 关于Hadoop用户体系的设想(胡思乱想)

    关于Hadoop的用户体系设计设想 Hadoop并没有一个完整的用户体系,其权限控制的对象,主要是Linux的其它用户(即非安装Hadoop的用户),控制方式也和Linux的文件权限很像,目前权限控制 ...

  3. Linux中断处理体系结构分析

    Linux中断处理体系结构分析(一) 异常,就是可以打断CPU正常运行流程的一些事情,比如外部中断.未定义指令.试图修改只读的数据.执行swi指令(Software Interrupt Instruc ...

  4. Linux用户深度管理

      linux系统是多任务.多用户的系统. 用户.用户组的概念 每个文件和进程,都需要对应一个用户和用户组. linux系统是通过UID和GID来是识别用户和组的. 其中用户名等同于人名(人类识别), ...

  5. [中英对照]User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序

    如对Linux用户态驱动程序开发有兴趣,请阅读本文,否则请飘过. User-Space Device Drivers in Linux: A First Look | 初识Linux用户态设备驱动程序 ...

  6. linux用户权限相关内容查看

    linux用户权限相关内容查看 1   用户信息 创建用户一个名为 webuser 的账号,并填写相应的信息: root@iZ94fabhqhuZ:~# adduser webuser Adding ...

  7. linux 用户管理

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

  8. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

  9. Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

随机推荐

  1. [bug] 前台表单添加数据,后台返回成功消息,但数据库相应字段值为null

    原因 前端代码中输入框字段值和后端定义的属性值不一致 分析 bean . controller 如下图,浏览器收到后台返回消息,在后台也可打印user信息,说明已成功接收前端JSON数据并转换为use ...

  2. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  3. 059.Python前端Django组件cooki和session

    一 会话跟踪技术 1.1 什么是会话 会话是指一个终端用户(服务器)与交互系统(客户端)进行通讯的过程. 1.2 什么是会话跟踪 对同一个用户对服务器的连续的请求和接受响应的监视.(将用户与同一用户发 ...

  4. 一次线上事故,让我对MySql的时间戳存char(10)还是int(10)有了全新的认识

    美好的周五 周五的早晨,一切都是那么美好. 然鹅,10点多的时候,运营小哥哥突然告诉我后台打不开了,我怀着一颗"有什么大不了的,估计又是(S)(B)不会连wifi"的心情,自信的打 ...

  5. 基于 BDD 理论的 Nebula 集成测试框架重构(上篇)

    本文首发于 Nebula Graph 公众号 NebulaGraphCommunity,Follow 看大厂图数据库技术实践. 测试框架的演进 截止目前为止,在 Nebula Graph 的开发过程中 ...

  6. 微服务架构(Microservices) ——Martin Flower

    不知不觉到达了Sring Boot的学习中了,在学习之前,了解微服务架构是很有必要的,对于自己提升今后面试的软实力有很大帮助,在此写下. 让我们接下来看下Martin Flower 如何解释微服务架构 ...

  7. TVM将深度学习模型编译为WebGL

    使用TVM将深度学习模型编译为WebGL TVM带有全新的OpenGL / WebGL后端! OpenGL / WebGL后端 TVM已经瞄准了涵盖各种平台的大量后端:CPU,GPU,移动设备等.这次 ...

  8. deeplearning模型量化实战

    deeplearning模型量化实战 MegEngine 提供从训练到部署完整的量化支持,包括量化感知训练以及训练后量化,凭借"训练推理一体"的特性,MegEngine更能保证量化 ...

  9. TensorFlow多元线性回归实现

    多元线性回归的具体实现 导入需要的所有软件包:   因为各特征的数据范围不同,需要归一化特征数据.为此定义一个归一化函数.另外,这里添加一个额外的固定输入值将权重和偏置结合起来.为此定义函数 appe ...

  10. 自监督学习(Self-Supervised Learning)多篇论文解读(下)

    自监督学习(Self-Supervised Learning)多篇论文解读(下) 之前的研究思路主要是设计各种各样的pretext任务,比如patch相对位置预测.旋转预测.灰度图片上色.视频帧排序等 ...