IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux——最详细的用户与组相关知识全解(一) -> 正文阅读

[系统运维]Linux——最详细的用户与组相关知识全解(一)

目录

用户和组

用户账户

用户的家目录

组账号

创建用户背后发生了什么?

??小练习:# 截取第七字段并查找出几种

useradd命令

userdel -r 用户名 -->家目录和本地邮件目录全部删除

usermod命令

练习

passwd命令

group相关命令

selinux(security Linux)

关于用户与组的目录与文件

passwd与shadow

组相关文件

/etc/skel

用户默认属性设置文件

linux加密

拓展

who

su 与su - 的区别:

vsftpd服务与本地用户

ftp:文本传输协议

10000台机器如何管理?

练习


用户和组

用户 user -->登陆的人

组? group? -->组织

用户 -- 加入组 -- 继承权限

多个账户可以属于同一个组;一个用户可以加入多个组

为什么要引入这个用户和组?

1、安全性

2、权限管理

3、资源管控:文件的访问、读取、执行

为了对Linux系统里的资源进行管控? -- 谁能访问,谁不能访问

用户账户

[root@kafka01 usergroup]# id root

uid=0(root) gid=0(root) groups=0(root)

UID -- 每个用户的身份证号 --唯一

GID -- 每个组的标识? -- 唯一

?超级用户root(最高权限),超级用户root的UID为0

?程序用户,程序用户的UID1-1000

?普通用户,普通用户的UID大于等于1001

用户的家目录

默认情况下,创建用户时会在/home 目录下创建一个同名文件夹

UID_MIN????????????????? 1000? #普通用户uid最小为1000

UID_MAX???????????????? 60000

小练习:找出/etc/passwd里用户id大于或等于1000的用户名

[root@kafka01 sc3]# awk -F:'$3>=1000{print $1,$3}' /etc/passwd

组账号

主要组(私有组)

与用户相关的默认组,在/etc/passwd文件的第四个字段定义

次要组(附属组)

用户可以属于其他的组,在/etc/group文件的第四字段定义

用户的主要组的名称和GID相关

[root@kafka01 usergroup]# useradd chaochao

[root@kafka01 usergroup]# id chaochao

uid=1001(chaochao) gid=1001(chaochao) groups=1001(chaochao)

[root@kafka01 usergroup]# useradd sc1

[root@kafka01 usergroup]# id sc1

uid=1002(sc1) gid=1002(sc1) groups=1002(sc1)

创建用户背后发生了什么?

/etc/passwd -- 记录用户信息? 当用户登录的时候,会查看这个文件

一行记录一个用户

[root@kafka01 usergroup]# tail -3 /etc/passwd

mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin

chaochao:x:1001:1001::/home/chaochao:/bin/bash

sc1:x:1002:1002::/home/sc1:/bin/bash

使用进行分割

字段1:用户名

字段2:用户密码字段和密码占位符

字段3:用户id -->唯一,创建的普通用户uid都是在上一个用户的基础上+1

字段4:所属基本组的id -->用户在创建的时候默认会创建一个同名的组,这个组会成为用户的基本组 -g 可以指定

字段5:用户的描述信息‘-->默认是空 -c 可以指定

字段6:家目录 -d 可以指定

字段7:登录shell信息 -s 可以指定

?小练习:# 截取第七字段并查找出几种

sort先排序,让相同文本在一起,然后在做uniq去重(uniq去重只能去重挨在一起的相同项)

[root@kafka01 usergroup]# awk -F: '{print $7}' /etc/passwd|sort|uniq

/bin/bash? #普通的shell

/bin/false #禁止用户登录

/bin/sync? #内存的缓存同步到磁盘

/sbin/halt #

/sbin/nologin

/sbin/shutdown

useradd命令

格式:useradd? [选项]...? 用户名

常用命令选项

-u:指定 UID 标记号

-d:指定宿主目录,缺省为 /home/用户名

-e:指定帐号失效时间

-g:指定用户的基本组名(或GID号)

-G:指定用户的附加组名(或GID号)

-M:不为用户建立并初始化宿主目录

-s:指定用户的登录Shell

-c:用户注释描述信息

-r:?? 新建系统用户,不会有新建家目录

指定登录 -s

[root@sc usergroup]# useradd -s /sbin/nologin sc3?? #禁止登录

[root@sc usergroup]# tail -1 /etc/passwd

sc3:x:1063:1063::/home/sc3:/sbin/nologin

[root@sc usergroup]# echo 123456|passwd sc3 --stdin? #指定密码

更改用户 sc3 的密码 。

passwd:所有的身份验证令牌已经成功更新。

ssh? linux中远程登录命令? xshell

使用sc3用户 远程登录到主机

[root@sc usergroup]# ssh sc3@192.168.0.204 -p 2233

The authenticity of host '[192.168.0.204]:2233 ([192.168.0.204]:2233)' can't be established.

ECDSA key fingerprint is SHA256:JccgoJ9N7Tel3N/Zehpgraddu8nLaQUlepsJrQNX34c.

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

Warning: Permanently added '[192.168.0.204]:2233' (ECDSA) to the list of known hosts.

sc3@192.168.0.204's password:

Connection closed by 192.168.0.204 port 2233

[root@sc usergroup]# su - sc3

This account is currently not available.

更改用户密码

[root@sc usergroup]# useradd -s /bin/false sc4

[root@sc usergroup]# echo 123456|passwd sc4 --stdin

passwd:所有的身份验证令牌已经成功更新。

[root@sc usergroup]# su - sc4

[root@sc usergroup]# ssh sc4@192.168.0.204 -p 2233

sc4@192.168.0.204's password:

Last login: Tue Aug? 3 11:23:46 2021

Connection to 192.168.0.204 closed.

?

-c 指定描述信息

[root@sc ~]# useradd -c "this is sc5" sc5

[root@sc ~]# tail -1 /etc/passwd

sc5:x:1065:1065:this is sc5:/home/sc5:/bin/bash

-d 指定家目录

[root@sc ~]# useradd -d /tmp/sc6 sc6

[root@sc ~]# tail -1 /etc/passwd

sc6:x:1066:1066::/tmp/sc6:/bin/bash

[root@sc ~]# su - sc6

[sc6@sc ~]$ pwd

/tmp/sc6

-g 指定组

[root@sc ~]# useradd -g sc1 sc7

[root@sc ~]# id sc7

uid=1067(sc7) gid=1061(sc1) 组=1061(sc1)

[root@sc ~]# tail -1 /etc/passwd

sc7:x:1067:1061::/home/sc7:/bin/bash

-u / --uid 指定用户创建id

#-u是短选项

#--uid是长选项

[root@sc ~]# useradd --uid 2000 sc8

[root@sc ~]# tail -1 /etc/passwd

sc8:x:2000:2000::/home/sc8:/bin/bash

-M 不为用户建立并初始化宿主目录

[root@kafka01 home]# useradd -M sc4

[root@kafka01 home]# cd /home

[root@kafka01 home]# ls

admin? chaochao? sc1? sc2? sc3

[root@kafka01 home]# tail -1 /etc/passwd

sc4:x:1005:1005::/home/sc4:/bin/bash

-e:指定帐号失效时间

[root@kafka01 usergroup]# useradd -e "2021-07-01" sc5

[root@kafka01 usergroup]# su - sc5

# 设置sc5密码

[root@kafka01 ~]# passwd sc5

Changing password for user sc5.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

# 远程连接sc5

[root@kafka01 ~]# ssh sc5@172.26.41.201

The authenticity of host '172.26.41.201 (172.26.41.201)' can't be established.

ECDSA key fingerprint is SHA256:BVYuFBUnGylWL8m6WdJS/lO2N4DpkA8l4AGQsx0L6lw.

ECDSA key fingerprint is MD5:f5:3c:e3:98:ed:dd:d8:66:44:3e:41:e5:e9:d4:5f:2d.

Are you sure you want to continue connecting (yes/no)? ^[[A^[[D^[[C

Please type 'yes' or 'no': yes

Warning: Permanently added '172.26.41.201' (ECDSA) to the list of known hosts.

sc5@172.26.41.201's password:

Your account has expired; please contact your system administrator

Authentication failed.

-g和-G

-g:指定用户的基本组名(或GID号)

-G:指定用户的附加组名(或GID号)

[root@kafka01 ~]# useradd -g sc4 -G sc3,sc5 sc6

[root@kafka01 ~]# id sc6

uid=1007(sc6) gid=1005(sc4) groups=1005(sc4),1004(sc3),1006(sc5)

[root@kafka01 ~]# less /etc/group

sc1:x:1002:

sc2:x:1003:

sc3:x:1004:sc6

sc4:x:1005:

sc5:x:1006:sc6

userdel -r 用户名 -->家目录和本地邮件目录全部删除

[root@kafka01 usergroup]# cd /home

[root@kafka01 home]# ls

admin? chaochao? sc1? sc2? sc3? sc5? sc6

[root@kafka01 usergroup]# userdel -r sc6

[root@kafka01 usergroup]# cd /home

[root@kafka01 home]# ls

admin? chaochao? sc1? sc2? sc3? sc5

[root@kafka01 home]#

usermod命令

格式:usermod? [选项]...? 用户名

常用命令选项

-l:更改用户帐号的登录名称

[root@kafka01 home]# usermod -l sanchuang03 sc3

[root@kafka01 home]# ls

admin? chaochao? sc1? sc2? sc3? sc5

[root@kafka01 home]# tail -1 /etc/passwd

sanchuang03:x:1004:1004::/home/sc3:/bin/bash

[root@kafka01 home]#

-L:锁定用户账户

[root@kafka01 home]# usermod -L sc3

sc3:!!:18842:0:99999:7:::

# 账户锁定其实就是在密码前加一个!

# 这样的话在用户登录的时候就会出现密码不匹配

-U:解锁用户账户

[root@kafka01 home]# usermod -p 123456 sc3

[root@kafka01 home]# usermod -U sc3

[root@kafka01 home]# less /etc/shadow

sc3:123456:18843:0:99999:7:::

以下选项与useradd命令中的含义相同

?-u、-d、-e、-g、-G、-s

练习

1.编写创建sanchuang01-sanchuang25

2.编写批量删除sanchuang01-25,存在就删除不存在就输出不存在

创建:

方法一

[root@kafka01 usergroup]# cat sanchuang.sh

#!/bin/bash

?

for i in $(seq -w 1 25)

do

??? if id sanchuang$i &>/dev/null

??? then

??????? echo "sanchuang$i has exsted"

??? else

??????? useradd sanchuang$i

??????? echo "sanchuang$i 创建成功"

??? fi

done

方法二:

#!/bin/bash

id sanchuang$i? &>/dev/null && echo "用户sanchuang$i已存在" || useradd sanchuang$i

删除:

#!/bin/bash

?

for i in $(seq -w 1 20)

do

??? id sanchuang$i &>/dev/null && userdel -r sanchuang$i &? echo "sanchuang$i 已删除" || echo "sanchuang$i不存在"

done

passwd命令

格式:passwd? [选项]...? 用户名

常用命令选项

-d:清空用户的密码,使之无需密码就可以切换用户

-l:锁定用户帐号

-S:查看用户帐号的状态(是否被锁定)

-u:解锁用户帐号

--stdin:接收别的命令stdout做为stdin标准输入设置密码

root用户可以修改所有用户密码,不要求复杂性

普通用户只能改自己的密码,要求复杂性

[root@mysql-binary mail]# passwd sanchuang2

更改用户 sanchuang2 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[root@mysql-binary mail]# passwd -l sanchuang2

锁定用户 sanchuang2 的密码 。

passwd: 操作成功

#usermod和passwd 锁定账户都是修改账户的shadow加密字段信息,使他们登陆的时候密码匹配不上,达到一个锁定状态

#usermod 加一个!

#passwd? 加两个!


group相关命令

groupadd 新建组

groupdel 删除组

[root@kafka01 ~]# groupadd -g 20001 g1

[root@kafka01 ~]# less /etc/group

[root@kafka01 ~]# tail -1 /etc/group

g1:x:20001:

[root@kafka01 ~]# groupdel g1

[root@kafka01 ~]# tail -1 /etc/group

sanchaung09:x:1036:

groupadd命令

格式:groupadd? [-g GID]? 组帐号名

groupdel命令

格式:groupdel? 组帐号名

[root@mysql-binary ~]# groupadd -g 5000 sanle

[root@mysql-binary ~]# less /etc/group

[root@mysql-binary ~]# groupdel sanle

[root@mysql-binary ~]# less /etc/group

groupmod命令

用途:设置组名和组id

格式:groupmod [选项]...? 组帐号名

常用命令选项

-n:修改组名

-g:修改组id


selinux(security Linux)

#linux系统里的一个安全程序

#有很多默认的规则

#比如说 useradd只能在/home创建家目录

# SELINUXTYPE= can take one of three values:

#???? targeted - Targeted processes are protected,

#???? minimum - Modification of targeted policy. Only selected processes are protected.

#???? mls - Multi Level Security protection.

SELINUXTYPE=targeted

?

#水至清则无鱼 -- 睁一只闭一只眼-? selinux-眼睛里容不得沙子

selinux 规则非常多且繁琐,日常工作中一般是关闭的

临时关闭

[sc6@sc ~]$ getenforce?? #获取selinux的状态

Disabled

[sc6@sc ~]$ setenforce 0? #临时设置成宽松状态 0-->临时关闭 1--->代表enforcing

setenforce: SELinux is disabled

永久关闭

[sc6@sc ~]$ vim /etc/selinux/config

SELINUX=disabled

服务器重启才会生效


关于用户与组的目录与文件

passwd与shadow

/etc/passwd 存放用户信息相关文件

/etc/shadow 存放用户密码相关文件

两个备份文件:/etc/passwd-? /etc/shadow-

组相关文件

/etc/group?? -->存放组信息的

/etc/gshadow -->存放组密码的

/etc/group- 和 /etc/gshadow- 备份文件?

/etc/skel

新建用户,复制到用户的家目录

-rw-r--r--.? 1 root root?? 18 Oct 31? 2018 .bash_logout

-rw-r--r--.? 1 root root? 193 Oct 31? 2018 .bash_profile

-rw-r--r--.? 1 root root? 231 Oct 31? 2018 .bashrc

以上三个文件就是三个脚本,三个脚本在特殊时间执行

.bash_logout 用户每次退出登录时执行

.bash_profile 用户每次登陆的时候执行 用于用户个性化环境配置

.bashrc? 用户每次进入新的环境时执行

# 家目录下配置这几个文件,只对当前用户生效

一般用于个性化设置

[sc1@kafka01 ~]$ ls -al

total 24

drwx------? 2 sc1? sc1? 4096 Aug? 4 16:49 .

drwxr-xr-x. 8 root root 4096 Aug? 4 16:23 ..

-rw-------? 1 sc1? sc1??? 44 Aug? 5 09:57 .bash_history

-rw-r--r--? 1 sc1? sc1??? 18 Oct 31? 2018 .bash_logout

-rw-r--r--? 1 sc1? sc1?? 193 Oct 31? 2018 .bash_profile

-rw-r--r--? 1 sc1? sc1?? 231 Oct 31? 2018 .bashrc

.bash_history 记录注销前使用的历史命令

用户默认属性设置文件

/etc/login.defs文件

对账户初始的属性设置

设置普通用户的UID和GID范围等

/etc/login.defs

PASS_MAX_DAYS?? 99999?? #密码默认过期天数

PASS_MIN_DAYS?? 0

PASS_MIN_LEN??? 5

PASS_WARN_AGE?? 7


linux加密

默认采用sha512算法

哈希算法(Hash) --》散列值求取

?? 把任意长度的输入,映射成固定长度的输出,该输出就是散列值

?? 是一种单向加密技术

hash 算法: md5? sha1? sha2? sha256 sha512

less /etc/shaodw

sc2:$6$hd8RxF9i$PpBk2kB7HVmllk8tODKgpQhVekIBWuxnSiS7LP1FxIb2Gsm8jIHb4HJebikz8WYuiJwJ9k2GRjI/dfQvUZ6p30:18842:0:99999:7:::

使用$分割为3个字段:

第一个字段6 表示sha512(哈希)算法

第二个字段 盐值

第三个字段 加密之后的散列值

密码字段: $加密算法id$盐值$真正的密文

加密底层使用内核的crypt函数实现

>>> import crypt

>>> crypt.crypt("123456","$6$hd8RxF9i")

'$6$hd8RxF9i$PpBk2kB7HVmllk8tODKgpQhVekIBWuxnSiS7LP1FxIb2Gsm8jIHb4HJebikz8WYuiJwJ9k2GRjI/dfQvUZ6p30'

>>>


拓展

who

查看本地登录用户和远程登陆用户

su 与su - 的区别:

[root@kafka01 usergroup]# su sc1

[sc1@kafka01 usergroup]$ pwd

/lianxi/usergroup

[sc1@kafka01 usergroup]$ exit

exit

[root@kafka01 usergroup]# su - sc1

Last login: Thu Aug? 5 09:56:17 CST 2021 on pts/0

[sc1@kafka01 ~]$ pwd

/home/sc1

su 切换用户,不切换用户环境,是不改变当前变量

su - 是切换到用户的变量

su只能获得root的执行权限,不能获得环境变量,而su - 是切换到root并获得root的环境变量及执行权限

vsftpd服务与本地用户

#ftp 是一个文件传输服务,主要用于上传和下载文件,实现文件共享

https://www.cnblogs.com/mikeguan/p/7118229.html

1、服务安装

? yum install? vsftpd

2、启动服务

? [root@mysql-binary xulilin]# service vsftpd restart

3、安装客户端

?? yum install lftp ftp -y? #这两个都是ftp的客户端

#centos8里vsftpd服务默认不允许匿名用户登陆

#使用匿名用户(ftp)登陆的话需要,修改/etc/vsftpd/vsftpd.conf里的配置

anonymous_enable=YES

修改完配置文件重启vsftpd服务

登陆上去之后,默认读取系统中ftp这个用户的家目录文件

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

ftp:文本传输协议

ftp常用命令:

上传文件:put

下载文件:get

查看: ls

切换路径:cd

[root@kafka01 sc3]# service vsftpd restart

Redirecting to /bin/systemctl restart vsftpd.service

[root@kafka01 sc3]# ftp 172.26.41.201

Connected to 172.26.41.201 (172.26.41.201).

220 (vsFTPd 3.0.2)

Name (172.26.41.201:root): ftp

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ^C

匿名用户和本地用户都可以登陆ftp服务,他们登陆进去之后只能操作家目录下的文件或者文件夹。

三种用户:

?1、匿名用户

?2、本地用户

?3、虚拟用户

10000台机器如何管理?

环境规范化? -- 操作系统统一、主机名规范

网络划分?

建立在基础设施规范的情况再实施自动化、监控化

练习

1、如何知道一个用户是否在linux系统里存在?

id或/etc/passwd

2、如何禁用一个用户登陆linux系统

usermod -L 锁定

usermod -e 设置失效时间

usermod -s /sbin/nologin (bin/false)

3、如何知道一个用户属于哪些组

id?

/etc/passwd?

/etc/group 第四个字段,展示哪些用户的附属组是这个组

4、如何知道哪些用户现在已经登录在linux里??哪些用户曾经登陆过linux系统?

# 登陆在linux系统

who w users

# 曾经登陆过

last lastlog

5、如何给用户重新设置密码

echo 密码|passwd 用户名

6、linux的root密码忘记了怎么办

进入单用户模式

1、开机,按任意键停住启动界面,然后选择对应的内核,按 e 进行编辑

2、找到root这一行,将ro换成rw?init=/sysroot/bin/bash

3、按 Ctrl-x,进入单用户模式

4、单用户模式下 chroot?/sysroot/

5、LANG=en,修改密码 echo “1234567”|passwd root --stdin或者输入passwd

7、如何将已经登录在系统里的用户踢出去?并且防止它再次登陆?

1.找到进程号(ps、who am i)并且杀掉这个进程号

[root@kafka01 ~]# w

?16:50:21 up 2 days,? 5:33,? 2 users,? load average: 0.00, 0.01, 0.05

USER???? TTY????? FROM???????????? LOGIN@?? IDLE?? JCPU?? PCPU WHAT

root???? pts/0??? 113.246.76.120?? 16:36??? 5.00s? 0.00s? 0.00s w

root???? pts/1??? 113.246.76.120?? 16:50??? 2.00s? 0.00s? 0.00s -bash

[root@kafka01 ~]# pkill -kill -t pts/1

pkill?可以kill掉指定伪终端

2.踢出可疑的root登录用户,马上修改密码

3.sshd—》/etc/hosts.deny hosts.allow -->ip

4./etc/ssh/sshd_config -->DenyUsers -->用户

8、怎么把普通用户变成root用户

①直接修改passwd文件 ,将用户的uid改成0,执行shutdown测试

②usermod -u 0 -o 用户名,要加-o选项,不然提示已存在。

9.创建目录/tech/cali和/tech/sanle,分别用于保存个项目组中用户帐号的宿主目录;

为两个项目组添加组帐号cali、sanle,GID号分别为1001、1002;为技术部添加组帐号tech,GID号为200;

添加2个用户,分别为b1、b2,要求他们的基本组是cali,附加组是tech,宿主目录均使用/tech/cali目录中与帐号同名的文件夹(例如b1用户的宿主目录/tech/cali/b1);其中b2用户帐号设置2012-12-31日后失效;

添加2个用户,分别为a1、a2,要求他们的基本组是sanle,附加组是tech;宿主目录均使用/tech/sanle目录中与帐号同名的文件夹(例如a1用户的宿主目录/tech/cali/a1)?;其中a2用户帐号登录的shell为/bin/ksh

所有新建用户密码都是123456;

[root@chaochao ~]# mkdir -p /tech/cali /tech/sanle

[root@chaochao ~]# groupadd -g 1001 /tech/cali

groupadd:“/tech/cali”不是有效的组名

[root@chaochao ~]# groupadd -g 1001 cali

groupadd:GID “1001”已经存在

[root@chaochao ~]# groupadd -g 1002 cali

[root@chaochao ~]# groupadd -g 1003 sanle

[root@chaochao ~]# groupadd -g 200 tech

[root@chaochao ~]# useradd -g cali -G tech -d /tech/cali/b1 b1

[root@chaochao ~]# useradd -g cali -G tech -d /tech/cali/b2 -e "2012-12-31" b2

[root@chaochao ~]# useradd -g sanle -G tech -d /tech/sanle/a1? a1

[root@chaochao ~]# useradd -g sanle -G tech -d /tech/sanle/a2 -s /bin/ksh a2

[root@chaochao ~]# echo 123456|passwd a1 --stdin

更改用户 a1 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@chaochao ~]# echo 123456|passwd a2 --stdin

更改用户 a2 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@chaochao ~]# echo 123456|passwd b1 --stdin

更改用户 b1 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@chaochao ~]# echo 123456|passwd b2 --stdin

更改用户 b2 的密码 。

passwd:所有的身份验证令牌已经成功更新。

[root@chaochao ~]# less /etc/passwd

b1:x:1002:1002::/tech/cali/b1:/bin/bash

b2:x:1003:1002::/tech/cali/b2:/bin/bash

a1:x:1004:1003::/tech/sanle/a1:/bin/bash

a2:x:1005:1003::/tech/sanle/a2:/bin/ksh
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 17:05:14  更:2021-08-23 17:05:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 9:25:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码