一.关于用户

​ 用户一般来说是指使用计算机的人,计算机针对使用的每一个人给了一个特定的名称,用户就可以使用这些名称来登录使用计算机,除

了人之外,一些系统服务也需要含有部分特权的用户账户运行;因此出于安全考虑,用户管理应运而生,它加以明确限制各个用户账户的

权限,root在计算机中用拥有至高特权,所以一般只作管理用,非特权用户可以通过SU或SUDO程序来临时获得特权。

​ GNU/Linux 通过用户和用户组实现访问控制,包括对文件的访问,设备使用的控制。

​ 个人可以拥有很多账户,只不过是彼此名称不同,比如root名称已经占用就不能再用了,此外,任意用户可能从属某个用户组,此用户

可以加入某些已经存在的组来获得该组的特权。

​ GNU/Linux 系统中的每一个文件都属于一个用户(属主)和一个用户组(属组)。

​ 文件拥有三种类型的访问权限:读(read)、写(write)、运行(execute)。我们可以针对文件的属主、属组、而设置相应的访问权

​ 我们可以通过 ls 或者stat命令查询文件属主、属组和权限

#可以看到passwd文件的访问权限是-rw-r--r--,用户是root,用户组是root
[root@node5 ~]# ls -l /etc/passwd
-rw-r--r-- 1 root root 1447 Oct 13 15:15 /etc/passwd #stat命令显示的信息更详细
[root@node5 ~]# stat /etc/passwd
File: ‘/etc/passwd’
Size: 1447 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 17664215 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2020-10-13 15:20:01.164284250 +0800
Modify: 2020-10-13 15:15:22.754277347 +0800
Change: 2020-10-13 15:15:22.755277347 +0800
Birth: -

二.用户的三种类型

linux中用户分为三类:

  • ​ 超级用户(root):root 拥有系统最高的管理权限,uid=0
  • ​ 普通用户:从centos7开始,系统用户的UID为1-999,centos6的系统用户UID为1-499,从centos7开始,本地用户的UID从1000开始,centos6的本地用户UID从500开始。其中UID是每个用户的身份标示,类似于每个人的身份证号码。
  • ​ 虚拟用户:又称伪用户 ,一般不会用来登录系统的,它主要是用于维持某个服务的正常运行。如:ftp,apache服务。

三.与用户有关的配置文件详解

配置文件名称 配置文件存放路径 配置文件详解
用户配置文件 /etc/passwd 记录了每个用户的基本属性,并且对所有用户可读,每一行记录对应一个用户,每行记录通过冒号进行分隔
用户组文件 /etc/group 用户组的所有信息存放地,组名不能重复
用户密码信息文件 /etc/shadow 由于/etc/passwd文件对所有用户是可读的,为安全起见把密码从passwd中分离出来放入这个单独的文件,该文件只有root用户拥有读权限,从而保证密码安全性

1./etc/passwd各个字段含义:

[root@node5 ~]# tail -1 /etc/passwd
elk:x:1001:1001::/opt/elk:/bin/bash #elk:用户名
#x:密码占位符
#1001:用户的UID,它都是用数字来表示的
#1001:用户所属组的GID,它都是用数字来表示的
#用户描述信息:对用户的功能或其它来进行一个简要的描述
#/opt/elk:用户主目录/家目录
#/bin/bash:用户登录系统后默认使用的shell #扩展,查看系统中,支持哪些shell
[root@node5 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/ksh
/bin/rksh
/bin/zsh

2./etc/shadow各个字段含义

[root@node5 ~]# grep root /etc/shadow
root:$6$KLWtaWU.iaW5rSmI$QgFqjhNnwVjBXRRvHA.TPwhku260i6yJv5X2dGUfn.EBBoOrGuP5QrSKTmNwJehB1j/B2lCHnbUxuvTx6L2G./::0:99999:7:::

/etc/shadow各个字段详解

name 账户名称,这个必须是系统中的有效账户名
password 已加密的密码,分为三个部分,第一部分是表示使用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希
哈希算法:$1表示MD5 ; $6 表示SHA-512 ; $5 SHA-256
lastchange 最近一次更改密码的日期,以距离1970/1/1的天数表示
min-age 不能更改密码的最少天数,最近更改过后几天才可以更改;如果为0表示“最短期限要求”
maxage 密码过期时间,必须更改密码前的最多天数
warning 密码即将到期的警告期,以天数表示,0表示“不提供警告”
inactive 宽限天数,密码到期后
expire 账号过期时间,以距离1970/1/1的天数计算 (千年虫)
blank 预留字段

3./etc/group各个字段详解

[elk@node5 ~]$ tail -4 /etc/group
postgres:x:26:elk
esnode:x:8001:elk
elk:x:1001:
logstash:x:1002: #第一个字段:组名,用户组的名称,组名不能重复
#第二个字段:密码占位符,密码存在/etc/gshadow里
#第三个字段:组标识号gid,这个gid号是和/etc/passwd中组标识号对应的
#第四个字段:组内用户列表,可以有多个用户,多个用户之间用逗号分隔

4.控制添加用户规则的文件有两个,/etc/default/useradd和/etc/login.defs

[root@node5 ~]# ls /etc/default/useradd
/etc/default/useradd [root@node5 ~]# ls /etc/login.defs
/etc/login.defs #egrep -v "^$|^#"的意思是过滤掉空行和#开头的行
[root@node5 ~]# egrep -v "^$|^#" /etc/login.defs
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000 #本地用户的UID从1000开始
UID_MAX 60000 #本地用户的UID最大值
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000 #GID从1000开始
GID_MAX 60000 #GID的最大值
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes #是否为用户建立home目录
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512 #shadow文件的加密算法 [root@node5 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 #表示可以创建普通组,users组ID为100。如果没有这一条,或者你把users这个组删除了,当你再创建用户时,将提示:#useradd: group '100' does not exist
HOME=/home #指定用户家目录,如果你不想让用户家目录在/home下,可以修改这个地方。
INACTIVE=-1 #是否启用帐号过期。passwd文件中第7栏。即:密码过期后是否会失效的设定值 。INACTIVE:无效。-1表示启用
EXPIRE= #帐号终止日期 shadow中第8栏。账号失效的日期 就是 shadow 内的第八字段,你可以直接设定账号在哪个日期后就直接失效,#而不理会密码的问题。通常不会设定此配置项,但如果是付费的会员制系统,或许这个字段可以设定!
SHELL=/bin/bash #指定默认使用的shell类型
SKEL=/etc/skel #模板目录
CREATE_MAIL_SPOOL=yes #是否创建邮箱文件 

四.创建用户

1.创建用户使用useradd命令,命令的格式为:useradd -d -u “UID” -g "初始组" -G "附加组" -s "登陆的shell” 用户

#useradd命令参数说明
#-d:-d 用户主目录路径,指定用户家目录
#-M:不创建用户的主目录
#-g:设置用户初始组的名称或数字ID;该组必须是存在的;如果没有设置该选项,useradd会根据/etc/login.defs文件中
#USERGROUPS_ENAB环境变量进行设置。默认USERGROUPS_ENAB yes 会用和用户名相同的名字创建群组,GID等于UID
#-G:用户要加入的附加组列表;使用逗号分隔多个组,不要添加空格;如果不设置,用户仅仅加入初始组。(一个用户只允许有一个主组,可以有多#个附属组)
#-s:用户默认登录shell的路径;启动过程结束后,默认启动的登录shell在此处设定;请确保使用的shell已经安装,默认是 Bash。有时候需#要禁止某些用户执行登录动作,例如用来执行系统服务的用户。将shell设置成 /sbin/nologin可以禁止用户登录。 #扩展,useradd的其他用法
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
#参数说明
#-c:加上备注文字(添加注释),备注文字保存在passwd的备注栏中。
  #-d:指定用户登入时的主目录,替换系统默认值/home/<用户名>
  #-D:变更预设值。
  #-e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
  #-f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
  #-g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
  #-G:指定用户所属的附加群组。
  #-m:自动建立用户的登入目录。
  #-M:不要自动建立用户的登入目录。
  #-n:取消建立以用户名称为名的群组。
  #-r:建立系统账号。
  #-s:指定用户登入后所使用的shell。默认值为/bin/bash。
  #-u:指定用户ID号。

2.创建elk账户,elk的家目录为/opt/elk,UID为1001,附属组为esnode,postgres,root,默认登录的shell为bash

[root@node5 ~]# useradd -d /opt/elk -u 1001 -g 1001 -G esnode,postgres,root -s /bin/bash elk
useradd: group '1001' does not exist #-g:设置用户初始组的名称或数字ID;该组必须是存在的,默认GID等于UID
[root@node5 ~]# useradd -d /opt/elk -u 1001 -G esnode,postgres,root -s /bin/bash elk #id查看elk用户的uid,gid,groups
[root@node5 ~]# id elk
uid=1001(elk) gid=1001(elk) groups=1001(elk),0(root),26(postgres),8001(esnode) [root@node5 ~]# tail -1 /etc/passwd
elk:x:1001:1001::/opt/elk:/bin/bash #elk用户下的家目录存在的掩藏文件
[root@node5 ~]# ls /opt/elk/ -a
. .. .bash_logout .bash_profile .bashrc .kshrc .zshrc #如果一个组有多个成员,我们是可以在/etc/group文件中最后一个字段看到的
[root@node5 ~]# tail -4 /etc/group
tss:x:59:
postgres:x:26:elk
esnode:x:8001:elk
elk:x:1001: #切换到elk用户,并进入家目录
[root@node5 ~]# su - elk [elk@node5 ~]$ pwd
/opt/elk [elk@node5 ~]$ ls #退出elk用户
[elk@node5 ~]$ exit
logout

3.创建logstash账户,但是不创建家目录

[root@node5 ~]# useradd -M logstash

[root@node5 ~]# id logstash
uid=8002(logstash) gid=8002(logstash) groups=8002(logstash) [root@node5 ~]# tail -1 /etc/passwd
logstash:x:8002:8002::/home/logstash:/bin/bash #/etc/passwd里虽然存在/home/logstash家目录,但是并没有创建家目录
[root@node5 ~]# ls /home/logstash
ls: cannot access /home/logstash: No such file or directory [root@node5 ~]# tail -1 /etc/group
logstash:x:8002:

4.创建es账户,并对es账户进行注释

#-c:加上备注文字(添加注释),备注文字保存在passwd的备注栏中。
[root@node5 ~]# useradd -c "es的账户" es [root@node5 ~]# id es
uid=8003(es) gid=8003(es) groups=8003(es) [root@node5 ~]# tail -1 /etc/passwd
es:x:8003:8003:es的账户:/home/es:/bin/bash

5.创建用户除了使用useradd,还可以使用adduser,

[root@node5 ~]# which useradd
/usr/sbin/useradd [root@node5 ~]# which adduser
/usr/sbin/adduser #可以看到adduser只是useradd的软链接
[root@node5 ~]# ll -h /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 Apr 26 2019 /usr/sbin/adduser -> useradd

五.设置用户密码

1.以交互方式设置用户密码

#可以发现如果一个用户被创建了,但是没有设置密码,/etc/shadow文件的第二字段使用!!表示
[root@node5 ~]# tail -3 /etc/shadow
esnode:$6$fznP2Oqd$02x2dTMV0kP5Ra780.sw.W06KZVl7ua8sA7QBMfEsYp0iUs1ukz.9H/iqYjToLLLa1TPSGWDC6a8yVJFZCVV5/:18378:0:99999:7:::
elk:!!:18548:0:99999:7:::
logstash:!!:18548:0:99999:7::: #设置elk密码
[root@node5 ~]# passwd elk
Changing password for user elk.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully. [root@node5 ~]# tail -3 /etc/shadow
esnode:$6$fznP2Oqd$02x2dTMV0kP5Ra780.sw.W06KZVl7ua8sA7QBMfEsYp0iUs1ukz.9H/iqYjToLLLa1TPSGWDC6a8yVJFZCVV5/:18378:0:99999:7:::
elk:$6$An7lKn2Q$dSuliu1h.Wn42GsrRwKPDS6bgEmTR8TlMsWMHIVWIEXOVbsKwvBcKDDNv.Mxki7aOwV8EBASQFAGQ9W.N/LeV.:18548:0:99999:7:::
logstash:!!:18548:0:99999:7:::

2.一条命令设置用户密码,免交互

[root@node5 ~]# echo 123456 | passwd --stdin logstash
Changing password for user logstash.
passwd: all authentication tokens updated successfully. [root@node5 ~]# tail -3 /etc/shadow
esnode:$6$fznP2Oqd$02x2dTMV0kP5Ra780.sw.W06KZVl7ua8sA7QBMfEsYp0iUs1ukz.9H/iqYjToLLLa1TPSGWDC6a8yVJFZCVV5/:18378:0:99999:7:::
elk:$6$An7lKn2Q$dSuliu1h.Wn42GsrRwKPDS6bgEmTR8TlMsWMHIVWIEXOVbsKwvBcKDDNv.Mxki7aOwV8EBASQFAGQ9W.N/LeV.:18548:0:99999:7:::
logstash:$6$9yY5A65j$YzViQt8dC7mb9ID4my1x1o2dZX3ovQbTfsMr3f5UaJkt3THQRMOmt0pq2YIN0W.zlyU/hRlZe.9vocyFepTYl1:18548:0:99999:7:::

3.如果嫌想密码太麻烦,可以使用mkpasswd生成随机密码

#如果想使用mkpasswd,需要提前安装expect
[root@node5 ~]# yum -y install expect [root@node5 ~]# which mkpasswd
/usr/bin/mkpasswd #mkpasswd命令的参数说明:-l密码长度 -s特殊字符数 -d数字个数
[root@node5 ~]# mkpasswd -l 12 -s 3 -d 2
y=JZixsj~,14

4.假如两个用户的密码一样,那么shadow中加密的hash值一样吗?

答:不一样, 因为salt不一样。

六.删除用户

删除用户使用userdel,加-r参数的时候,会同时删除用户的家目录和/var/mail下的目录

[root@node5 ~]# ls /var/mail/
elk es esnode logstash nginx root rpc www
[root@node5 ~]#
[root@node5 ~]# userdel -r es
[root@node5 ~]#
[root@node5 ~]# ls /home/es
ls: cannot access /home/es: No such file or directory
[root@node5 ~]# ls /var/mail/
elk esnode logstash nginx root rpc www

七.用户密码时效管理

1.chage命令用于密码实效管理,是用来修改帐号和密码的有效期限

2.chage命令参数详解

参数 描述
-d 指定密码最后修改日期,上一次更改的日期,为0表示强制在下次登录时更新密码
-E 密码到期的日期,过了这天,此账号将不可用,0表示马上过期,-1表示永不过期
-h 显示帮助信息并退出
-I(大写的i) 密码过期后,锁定账号的天数
-l 列出用户及密码的有效期
-m 密码可更改的最小天数,为零代表任何时候都可以更改密码
-M 密码保持有效的最大天数
-W 密码过期前,提前收到警告信息的天数

八.查看用户相关信息的命令

参数 描述
id 查看用户和组的信息
whoami 查看当前有效用户名
who 显示目前登入系统的用户信息
w w命令用于显示已经登陆系统的用户列表
users 用于显示当前登录系统的所有用户的用户列表
[root@node5 ~]# id
uid=0(root) gid=0(root) groups=0(root)
[root@node5 ~]# whoami
root
[root@node5 ~]# who
esnode tty1 2020-10-14 00:38
root pts/0 2020-10-13 12:37 (192.168.110.1)
root pts/1 2020-10-13 12:37 (192.168.110.1)
[root@node5 ~]# w
00:39:35 up 6 days, 4:39, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
esnode tty1 00:38 1:03 0.01s 0.01s -bash
root pts/0 192.168.110.1 Tue12 7.00s 0.55s 0.00s w
root pts/1 192.168.110.1 Tue12 6:23m 0.07s 0.07s -bash
[root@node5 ~]# users
esnode root root

九.修改用户基本信息

1.修改用户基本信息使用usermod命令,格式为:usermod 【参数】用户名

参数 描述
-u 修改用户UID
-d 修改用户家目录
-g 修改用户起始组
-G 修改用户附加组
-s 修改用户登录shell
-L 锁定用户账户
[root@node5 ~]# tail -1 /etc/passwd
logstash:x:8002:8002::/home/logstash:/bin/bash [root@node5 ~]# id logstash
uid=8002(logstash) gid=8002(logstash) groups=8002(logstash) #修改用户UID
[root@node5 ~]# usermod -u 1002 logstash [root@node5 ~]# id logstash
uid=1002(logstash) gid=8002(logstash) groups=8002(logstash) #修改用户起始组,修改用户GID
[root@node5 ~]# usermod -g 1002 logstash
usermod: group '1002' does not exist [root@node5 ~]# groupmod -g 1002 logstash [root@node5 ~]# id logstash
uid=1002(logstash) gid=1002(logstash) groups=1002(logstash) #修改用户登录shell,设置logstash禁止登陆
[root@node5 ~]# usermod -s /sbin/nologin logstash [root@node5 ~]# grep logstash /etc/passwd
logstash:x:1002:1002::/home/logstash:/sbin/nologin #修改nginx用户的附属组为wheel
[root@node5 ~]# id nginx
uid=8000(nginx) gid=8000(nginx) groups=8000(nginx)
[root@node5 ~]# usermod -aG wheel nginx
[root@node5 ~]# id nginx
uid=8000(nginx) gid=8000(nginx) groups=8000(nginx),10(wheel)
[root@node5 ~]# grep wheel /etc/group
wheel:x:10:nginx

2.更改用户家目录,并把以前家目录里的内容迁移到新的家目录里

[root@node5 ~]# grep elk /etc/passwd
elk:x:1001:1001::/opt/elk:/bin/bash [root@node5 ~]# su - elk
Last login: Tue Oct 13 15:01:37 CST 2020 on pts/0 [elk@node5 ~]$ pwd
/opt/elk
[elk@node5 ~]$ ls
[elk@node5 ~]$ mkdir -p a/b/c
[elk@node5 ~]$ touch a/test.txt
[elk@node5 ~]$ tree ./
./
└── a
├── b
│   └── c
└── test.txt 3 directories, 1 file [elk@node5 ~]$ exit
logout #-m选项会自动创建新目录并且迁移原有内容到新目录里面
[root@node5 ~]# usermod -m -d /home/elk elk [root@node5 ~]# grep elk /etc/passwd
elk:x:1001:1001::/home/elk:/bin/bash [root@node5 ~]# su - elk
Last login: Wed Oct 14 01:10:27 CST 2020 on pts/0 [elk@node5 ~]$ pwd
/home/elk #发现原有内容也迁移过来了
[elk@node5 ~]$ tree ./
./
└── a
├── b
│   └── c
└── test.txt 3 directories, 1 file

3.修改用户注释

[root@node5 ~]# grep elk /etc/passwd
elk:x:1001:1001::/home/elk:/bin/bash [root@node5 ~]# usermod -c "elk是es,logstash,kibana的缩写" elk [root@node5 ~]# grep elk /etc/passwd
elk:x:1001:1001:elk是es,logstash,kibana的缩写:/home/elk:/bin/bash

十.管理用户组

[root@node5 ~]# tail -4 /etc/group
postgres:x:26:elk
esnode:x:8001:elk
elk:x:1001:
logstash:x:1002: [root@node5 ~]# groupadd es
[root@node5 ~]# groupadd -g 1004 kibana [root@node5 ~]# tail -4 /etc/group
elk:x:1001:
logstash:x:1002:
es:x:8002:
kibana:x:1004: #修改es的GID
[root@node5 ~]# groupmod -g 1005 es [root@node5 ~]# tail -4 /etc/group
elk:x:1001:
logstash:x:1002:
es:x:1005:
kibana:x:1004:

linux用户管理:创建用户,删除用户,管理用户,用户配置的更多相关文章

  1. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

  2. Linux下用户的创建与删除

    我们在Linux下创建用户主要有两种方式:adduser和useradd,它们的区别以及主要用法如下: adduser adduser的用法很简单,只需adduser+username即可,如下: s ...

  3. Linux基础学习-用户的创建修改删除

    用户添加修改删除 1 useradd添加用户 添加一个新用户hehe,指定uid为3000,家目录为/home/haha [root@qdlinux ~]# useradd -u 3000 -d /h ...

  4. mysql 数据库备份与还原,用户的创建与删除,用户的密码修改

    1.备份数据库 要退出mysql rimideiMac-23:~ rimi$    mysqldump -u root -p pro >pro.sql ls 查看路径 2.恢复数据库 2.1直接 ...

  5. orcal中创建和删除表空间和用户

    1.创建表空间 create tablespace NW_DATA logging datafile 'F:\oracle\product\10.2.0\oradata\nwdb\NW_DATA.db ...

  6. 学习Linux二(创建、删除文件和文件夹命令)

     转自:http://www.cnblogs.com/zf2011/archive/2011/05/17/2049155.html 今天学习了几个命令,是创建.删除文件和文件夹的,在linux里,文件 ...

  7. Linux环境下oracle创建和删除表空间及用户

    #su - oracle $ sqlplus /nolog SQL> connect / as sysdba --//创建临时表空间 create temporary tablespace te ...

  8. Oracle创建、删除表空间、用户

    1.创建临时表空间 create temporary tablespace linshi tempfile 'e:\linshi.dbf' size 50m autoextend on next 50 ...

  9. linux 软链接的创建、删除和更新

    大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作.同样的,在系统级别也有.在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能有 ...

  10. linux软链接的创建、删除和更新

    大家都知道,有的时候,我们为了省下空间,都会使用链接的方式来进行引用操作.同样的,在系统级别也有.在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能有 ...

随机推荐

  1. C# Dev GridControl小结

    1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...

  2. 一种提升深度多视角行人检测的泛化性能的方法 Bringing Generalization to Deep Multi-View Pedestrian Detection

    一种提升深度多视角行人检测的泛化性能的方法 Bringing Generalization to Deep Multi-View Pedestrian Detection 论文url: https:/ ...

  3. 全面支持JS/eTS应用开发,DevEco Studio 3.0 Beta4新版本发布

    原文:https://mp.weixin.qq.com/s/j5Cl48ZxzEmnnpfoM0pKJg ,点击链接查看更多技术内容. HUAWEI DevEco Studio(后文简称DevEco ...

  4. 基于Canvas实现的简历编辑器

    基于Canvas实现的简历编辑器 大概一个月前,我发现社区老是给我推荐Canvas相关的内容,比如很多 小游戏.流程图编辑器.图片编辑器 等等各种各样的项目,不知道是不是因为我某一天点击了相关内容触发 ...

  5. 推荐一个计算Grad-CAM的Python库

    前言 类激活图CAM(class activation mapping)用于可视化深度学习模型的感兴趣区域,增加了神经网络的可解释性.现在常用Grad-CAM可视化,Grad-CAM基于梯度计算激活图 ...

  6. .NET Emit 入门教程:第六部分:IL 指令:9:详解 ILGenerator 指令方法:运算操作指令(指令篇结束)

    前言: 经过前面几篇的学习,我们了解到指令的大概分类,如: 参数加载指令,该加载指令以 Ld 开头,将参数加载到栈中,以便于后续执行操作命令. 参数存储指令,其指令以 St 开头,将栈中的数据,存储到 ...

  7. axios 使用与 拦截器

    未拦截使用使用: 由于axios每个请求都是异步.例如有ABC三个请求,C需要拿到AB请求回来的值作为参数,则需同步加载才能,所以使用axios.all才好完成.... 拦截器:为了处理axios中g ...

  8. HL7消息类型

    HL7消息有很多不同的类型,每种都有其自己的独特用途和消息内容.以下是常见的HL7消息类型的列表. Message Type Description HL7 ADT Admit, Discharge ...

  9. 关于 Data Lake 的概念、架构与应用场景介绍

    数据湖(Data Lake)概念介绍 什么是数据湖(Data Lake)? 数据湖的起源,应该追溯到2010年10月,由 Pentaho 的创始人兼 CTO, James Dixon 所提出,他提出的 ...

  10. [FAQ] html 的 select 标签 option 获取选中值的两种方式及区别

      Q: 对于一个 html 的 select 标签节点 class是module_select,获取选中值使用  $('.module_select').find('option:selected' ...