文章目录

  • 用户配置文件
    • 用户信息文件 /etc/passwd
    • 影子文件/etc/shadow
    • 组信息文件/etc/group和组密码文件/etc/gshadow
      • /etc/group
      • /etc/gshadow
  • 用户管理的相关文件
    • 用户的家目录
    • 用户的邮箱
    • 用户模板目录
  • 用户管理命令
      • useradd
      • passwd
      • usermod
      • chage
      • userdel
      • id
      • su
    • 用户组管理命令
      • groupadd
      • groupmod
      • groupdel
      • gpasswd

用户配置文件

用户信息文件 /etc/passwd

越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。Linux主要是通过用户配置文件来查找和修改用户信息。

查看配置文件的信息用man 5 [文件名],数字5代表查看文件信息。

打开passwd,

  • 第一字段:用户名称;

  • 第二字段:密码标志:一般为“X”,因为所有用户都可以读取passwd,如果不隐藏密码内容的话,会导致用户信息不安全,所有用标志取代密码明文,将密码存放到另外的文件当中,在/etc/shadow中,并且用户的密码是通过加密的,保证安全,其他用户无法打开shadow文件,只有root用户可以打开它。标识的作用是表示这个用户有密码,密码存放在shadow文件内,登录时会自动去读取,如果在passpw里面修改删除掉这个“x”会让系统认为该用户没有密码,也不会去shadow文件内查找,然后直接登录系统,这样会导致不安全,但是无密码登录只能在本机登录,无法远程。

  • 第三字段:UID(用户ID){0:root管理员;1-499(系统用户,伪用户);500-65535(普通用户)};系统内核调用用户这个对象都是通过调用对应的uid号码,这个号码相对于该用户的身份证号码,唯一标识,但是对于人来说,记id号很困难,所有取用户名方便记忆。查看passwd文件时会看见很多没见过的用户名,他们是系统伪用户,是系统运行时调用的用户对象,所以不可以修改其信息,不然系统会崩溃。最重要的一点认识是,系统只人uid号,不管你叫什么,它只认id号,id为0的就为管理员,与它叫不叫root没关系。

  • 第4字段:初始组GID(用户初始组ID)组id一般与用户id相同,因为系统默认一般新建用户都会创建一个相同名称的初始组,组id也与用户id相同,这样便于管理。

    初始组:就是指用户一登录就立即拥有这个用户组相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组;可以加入多个附加组,不建议改初始组,可以添加附加组。

    附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。

  • 第5字段:用户说明。

  • 第6字段:家目录。用户登录的位置,是固定的。

    普通用户:/home/用户名/

    超级用户:/root/

  • 第7字段:登录之后的shell。shell是Linux命令解释器

    在/etc/passwd当中,除了标准shell是/bin/bash之外,还可以写如/sbin/nologin。nologin是无法登录的意思,如果用户的shell是nologin则相当于禁用用户,禁止登录。

[root@XYLJ ~]# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
...
jiaojian:x:1000:1000:jiaojian:/home/jiaojian:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
[root@XYLJ ~]# vim /etc/shadow
root:$6$7pLaOlEQRzvsIuEs$gGJP.fqQJmw12R0/bQMktDsm5SkDF4eCVcWaF.QbEmeXclT4Kb6d7ykpDn0s5SehOtlBTVWO4NTrrYONKC28h/::0:99999:7:::
bin:*:17632:0:99999:7:::
daemon:*:17632:0:99999:7:::
adm:*:17632:0:99999:7:::
lp:*:17632:0:99999:7:::
...
jiaojian:$6$1LZe.XL9jeeQ4oCS$2eMnPXkxOd9iqMAKCXpJlOnbmW/3LC1gp.MSGSXDdDCMYhli8QccuFSr1iO6nvXgfzyt0BkUxMKmtMvhL1dpI1::0:99999:7:::
apache:!!:18939::::::

影子文件/etc/shadow

shadow的权限是0,只有root超级用户可以打开,九个字段,查看系统有哪些用户(人为创建的用户)可以打开该文件,查看用户的密码是否是编码形式的就可以知道哪些是人为创建哪些是系统创建(一般不可登录不可修改,密码为*或者!)。

  • 第1字段:用户名。

  • 第2字段:加密密码,如果密码为*或者!!表示没有密码,不能登录。在用户的加密密码前加一个!,相当于禁用这个用户的密码,让他永远也解码不了。

  • 第3字段:密码最后一次修改日期,以1970年1月1号为标准时间,每过一天加一,表示该用户创建的时间相对于标准时间的差。

  • 第4字段:两次密码的修改间隔时间,比如是10,表示相对于3字段,10天内无法改密码(和第3字段相比)

  • 第5字段:密码有效期(于第3字段相比)

  • 第6字段:密码到期前的警告时间,警告用户修改密码,比如7表示密码到期前7天的警告期,这七天内,可以不修改密码,但是会警告用户,提提醒他改密码。

  • 第7字段:密码过期后的宽限天数,(和第5字段比),如果写的是0或者不写,到期后不改密码那么立马封掉用户,如果写的-1,表示永不过期,如果写的5,那么就是密码到期后五天后还不改密码,那么会封掉账号。

  • 第8字段:账户的失效时间,用时间戳的方式。

  • 第9字段:保留字段,没用。

时间戳换算
* 把时间戳换算为日期:
[root@XYLJ ~]# date -d "1970-01-01 16066 days"
2013年 12月 27日 星期五 00:00:00 CST
*把日期换算为时间戳
[root@XYLJ ~]# echo $(($(date --date="2021/11/15" +%s)/86400+1))
18946
[root@XYLJ ~]# 

重点保护这个文件。

组信息文件/etc/group和组密码文件/etc/gshadow

/etc/group
[root@XYLJ ~]# vim /etc/grouproot:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
...
  • 第1字段:组名,每添加一个用户,都会创建一个跟用户名相同的初始组。

  • 第2字段:组的密码标志,与用户密码标志一样在gshadaw内。

  • 第3字段:组GID,组的id。

  • 第4字段:组中附加用户

/etc/gshadow
[root@XYLJ ~]# vim /etc/gshadowroot:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
lp:::
mem:::
kmem:::
wheel:::
cdrom:::
mail:::postfix
man:::
...
  • 第1字段:组名

  • 第2字段:组密码(一般没用,且不建议使用,小组组长拥有组密码,小组组长可以执行root的权限添加或者删除组成员,一般都是root用户可以删除添加组成员,这里不太安全,组长使用了root的权限,所以不推荐这样使用)

  • 第3字段:组管理员用户

  • 第4字段:组中附加用户

用户管理的相关文件

用户的家目录

普通用户:/home/用户名/,所有者和所属组都是此用户,权限700

超级用户:/root/,所有者和所属组都是root,权限550

将普通用户修改为超级用户,是在password里将用户uid改为0,才是真正的将其设置为超级用户,将用户的组改为0,只是将他加入root组(0),他本身不是超级用户。

用户的邮箱

/var/spool/mail/用户名/

用户模板目录

/etc/skel/

这个目录意思为,在用户创建新用户时,会在其家目录下按照模板创建一些文件或者目录,比如用户目录下的隐藏文件之类的,都是以/etc/skel/目录为模板创建新用户目录,这样我们可以编辑此模板目录来达到管理新用户文件夹内容的目的。

用户管理命令

useradd

用户添加命令

useradd [选项] [参数,新建用户名]

  • -u UID:手工指定用户uid。
  • -d 家目录:手工指定用户的家目录。
  • -c 用户说明:手工指定用户说明
  • -g 组名:手工指定用户的初始组
  • -G 组名:指定用户的附加组
  • -s shell:手工指定用户的登录shell。默认为/bin/bash

如下:添加一个名字叫super的用户,并且加入root组。

[root@XYLJ ~]# useradd -G root super (需要加入多个附加组,用逗号隔开)
[root@XYLJ ~]# passwd super
更改用户 super 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@XYLJ ~]# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
...
jiaojian:x:1000:1000:jiaojian:/home/jiaojian:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
super:x:1001:1001::/home/super:/bin/bash[root@XYLJ ~]# vim /etc/shadow
root:$6$7pLaOlEQRzvsIuEs$gGJP.fqQJmw12R0/bQMktDsm5SkDF4eCVcWaF.QbEmeXclT4Kb6d7ykpDn0s5SehOtlBTVWO4NTrrYONKC28h/::0:99999:7:::
...
jiaojian:$6$1LZe.XL9jeeQ4oCS$2eMnPXkxOd9iqMAKCXpJlOnbmW/3LC1gp.MSGSXDdDCMYhli8QccuFSr1iO6nvXgfzyt0BkUxMKmtMvhL1dpI1::0:99999:7:::
apache:!!:18939::::::
super:$6$2cgVxfCZ$m.BVsoZMIuDK2nrlccAFDwGI6dSVN10G.NjIXG2974a2jyg1lMHYpdTtQHuXrkjc7se2288trw1aU6wmgDQvR1:18947:0:99999:7:::[root@XYLJ ~]# vim /etc/group
root:x:0:super  <--已加入root组。
...

useradd这条命令添加用户后,有这几个文件是被更改了:

  • /etc/passwd

  • /etc/shadow

  • /etc/group

  • /etc/gshadoe

  • /home/ (创建了一个用户文件夹,作为用户登录位置)

  • /var/spoll/mail/ (创建了一个新的用户文件夹管理用户的maill)

用户默认值文件夹:

[root@XYLJ mail]# vim /etc/default/useradd # useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
passwd

修改用户密码指令

passwd [选项] [用户]

root用户是可以修改任何用户的密码,普通用户只能修改自己的密码,并且root是通过passwd [用户名]的形式来改变用户的密码,而普通用户修改自己密码直接passwd即可。

  • -S 查询用户密码的密码状态,root用户可用。
  • -l 暂时锁定用户,仅root用户可用。就是在用户shadow文件里面密码编码前加两个!,导致解码错误,从而锁定用户。
  • -u 解锁用户。仅root用户可用
  • –stdin 可用通过管道符输出的数据作为用户的密码。用于批量添加用户,的初始密码,所以很多系统都会给用户一个默认密码,第一次登入后需要用户更改密码,因为这样默认添加的密码是明文密码,没有加密,所以需要第一次登录更改。
usermod

usermod [选项] [参数,新建用户名]

修改用户信息命令,其选项与useradd一样,只是这里是修改。

  • -u UID:手工指定用户uid。
  • -d 家目录:手工指定用户的家目录。
  • -c 用户说明:手工指定用户说明
  • -g 组名:手工指定用户的初始组
  • -G 组名:指定用户的附加组
  • -s shell:手工指定用户的登录shell。默认为/bin/bash
  • -L :锁定用户
  • -U :解锁用户
chage

修改用户密码状态

chage [选项] [用户名]

  • -l 列出用户的详细密码状态。

  • -d 日期:修改密码最后一次更改日期(shadow 3字段)

  • -m 天数:两次密码修改间隔(4字段)

  • -M 天数:密码有效期(5字段)

  • -W 天数:密码过期前警告天数(6字段)

  • I 天数:密码过后宽限天数(7字段)

  • E 日期:账号失效时间(8字段).

这个命令用到最多的是**chage -d 0 [用户名]**这样改的话,该用户上一次修改密码日期为标准日期1970.1.1,这样用户登录时系统会让他必须修改密码,这样是为了保证系统的安全性,要求新用户必须修改密码。

userdel

删除用户命令

userdel [选项] [参数,用户名]

  • -r ,删除用户的同时将其家目录也删除。一般都会使用-r。
id

查看用户的id号和组id命令

id [用户名]

su

切换用户身份

su [选项] [用户名]

  • -: 选项只使用“-”表示连带着用户的环境变量一起切换
  • -c 命令:仅执行一次命令,而不切换用户身份

env命令:查看环境变量命令

[jiaojian@XYLJ ~]$ su root
密码:
[root@XYLJ jiaojian]# env
XDG_SESSION_ID=57
HOSTNAME=XYLJ
SELINUX_ROLE_REQUESTED=
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
SSH_CLIENT=172.20.117.1 61987 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/3
USER=jiaojian
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/jiaojian/.local/bin:/home/jiaojian/bin
MAIL=/var/spool/mail/jiaojian
PWD=/home/jiaojian     <---环境变量没变。
LANG=zh_CN.UTF-8
SELINUX_LEVEL_REQUESTED=
HISTCONTROL=ignoredups
HOME=/root
SHLVL=2
LOGNAME=jiaojian
SSH_CONNECTION=172.20.117.1 61987 172.20.117.132 22
XDG_DATA_DIRS=/home/jiaojian/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
LESSOPEN=||/usr/bin/lesspipe.sh %s
DISPLAY=localhost:11.0
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/root/.xauthqUnMyz
_=/usr/bin/env

简单的使用su 用户这种方式切换用户是不完全的,环境变量没有切换,切换了他的身没有切换他的心,选项“-”为完全切换。

[jiaojian@XYLJ ~]$ su - root
密码:
上一次登录:二 11月 16 17:10:03 CST 2021pts/3 上
[root@XYLJ ~]# env
XDG_SESSION_ID=57
HOSTNAME=XYLJ
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=zh_CN.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/root
LOGNAME=root
XDG_DATA_DIRS=/root/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
LESSOPEN=||/usr/bin/lesspipe.sh %s
DISPLAY=localhost:11.0
XAUTHORITY=/root/.xauthvdz6bP
_=/bin/env

不切换用户执行一条命令用-c 选项:

[jiaojian@XYLJ root]$ su - root -c "useradd tanshuai"
密码:
[jiaojian@XYLJ root]$ id tanshuai
uid=1002(tanshuai) gid=1002(tanshuai) 组=1002(tanshuai)
[jiaojian@XYLJ root]$ 

用户组管理命令

groupadd

groupadd [选项] [组名]

  • -g GID:指定组GID
groupmod

groupmod [选项] [组名]

  • -g GID:修改组ID
  • -n 新组名:修改组名

这里最好不要改组名,因为改后会需要改后续很多东西,如果非必要,直接删除组再新建组会跟容易些。

groupdel

groupdel [组名]

删除组需要注意,如果组里面有初始用户,那么无法删除,因为初始用户没有地方放,如果组内只有附加用户,那么可用删除。

gpasswd

添加附加用户。

gpasswd [选项] [组名]

  • -a 用户名:把用户加入组
  • -d 用户名:把用户从组中删除

Linux学习04---用户与用户组管理相关推荐

  1. Linux学习:用户和用户组管理(大量用户创建)

    Linux学习系列均转载自菜鸟教程,小的地方有改动,便于理解:http://www.runoob.com/linux/linux-file-attr-permission.html Linux系统是一 ...

  2. Linux云计算架构-用户及用户组管理

    文章目录 Linux云计算架构-用户及用户组管理 1. 用户管理命令 1. 查看用户信息 2. 添加用户 3. 添加组 4. 修改用户信息 5. 修改组信息 6. 删除用户 7. 删除组 8. 用户密 ...

  3. linux管理用户和组实验报告,LINUX实验:用户与用户组管理

    实验:用户与用户组管理 实验学时:2 实验类型:验证 实验要求:必修 一.实验目的 熟悉Linux操作系统中的用户和组的概念,掌握Linux操作系统中用户管理,理解用户管理涉及的系统配置文件. 二.实 ...

  4. Linux操作系统——系统用户与用户组管理

    目录 一. 用户和用户组管理 1.1 新增组的命令groupadd 1.2 删除组的命令groupdel 1.3 增加用户的命令useradd 1.4 删除账户的命令userdel 二. 用户密码管理 ...

  5. Linux下的用户与用户组管理命令(含上机作业)

    文章目录 用户与用户组管理 一.用户与组文件目录 1.用户账号文件--/etc/passwd 2.用户影子文件--shadow 3.用户组账号文件--group和gshadow 4.使用pwck和gr ...

  6. 20161011L04-03老男孩linux运维实战培训-Linux系统的用户和用户组管理-01

    一些LINUX用户的操作命令 useradd   创建用户 adduser  创建用户 passwd  改密码命令 usermod  改变用户名,和用户目录的 userdel 删除用户 id 显示用户 ...

  7. linux 域账户密码忘记,linux基础命令-用户域用户组管理

    //与用户相关的配置文件:/etc/passwd:  #用户的配置文件, 保存用户账户的基本信息 /etc/shadow  #用户影子口令文件 一.用户帐号文件--passwd 1."/et ...

  8. 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)

    一,认识/etc/passwd和/etc/shadow 1. /etc/passwd :文件中保存系统中所有的用户和用户的主要信息. 在命令行输入 cat /etc/passwd  | head  ( ...

  9. Linux学习之用户管理和组管理

    一.Linux系统上用户和用户组类别 用户类别 1.管理员 uid=0 2.普通用户 id:1~65535 2.1.系统用户 id:1~499,一般不允许登陆系统 2.2.一般用户 id:500~60 ...

最新文章

  1. HTML上传文件的多种方式
  2. linux小白-基础命令-useradd
  3. 算法------设计哈希映射
  4. 08--swift之类与结构体
  5. python适合做后端开发吗-转行IT做后端开发,学python还是java?
  6. 用官方的SSD1306.py 驱动 OLED
  7. EXT2/EXT3/EXT4文件系统数据恢复工具开发计划
  8. .net framework 4.0 0xc8000247错误解决
  9. 【材料计算】输入文件INCAR
  10. PHP在线考试系统源码 在线答题 在线批改
  11. 关于在pyomo框架下无法调用ipopt求解器解决方法
  12. 拼图android系统程序,2021手机照片拼图软件
  13. LQ0187 猜年龄【填空题】
  14. Go内存溢出与内存泄露
  15. 解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper
  16. 2021-11-11
  17. 计算机模块中的画板英文,画图板
  18. 手机号码如何检测开通微信
  19. 一个屌丝程序猿的人生(一百二十一)
  20. pip安装pytorch 0.4.1

热门文章

  1. [jzoj 3383] 【NOIP2013模拟】太鼓达人 {欧拉回路+暴力}
  2. 复活iPad mini 2
  3. c语言呆鱼,基于线性溶解自由能关系构建有机化学品对黑头呆鱼(Pimephales Promelas)急性毒性的计算毒理学模型...
  4. 高通机型备份字库 备份 制作线刷包的几种方式解析{二}
  5. ubuntu下安装QQ2013
  6. 深度学习结合SLAM的研究思路/成果整理之(一)使用深度学习方法替换SLAM中的模块
  7. php中header的用法,php header的用法小结
  8. 关于QQ空间相册功能的构想与简单实现
  9. 蓝宝石超频软件测试,白金般的品质—蓝宝石9550白金版测试
  10. 游戏虚拟盘两台服务器,网维大师游戏虚拟盘如何设置