0
点赞
收藏
分享

微信扫一扫

【Springboot系列】SpringBoot整合WebSocket,既然如此简单(含源码)

问题:user版本增加su 指令以后,允许切换root用户,但是,没有设置密码,这样访问不安全。

需要增加root用户密码。

一、Linux账户管理

1.1 文件和权限

Linux一切皆文件。文件和目录都有相应的权限,权限定义的基本格式:

文件类型 所有者权限 用户组权限 其他用户权限

drwxr-xr-x   3 root root       4096 Aug 17 14:54 toolchain
drwxr-xr-x 19 root root 4096 Aug 17 14:54 tools
-rw-r--r-- 1 root root 21089672 Aug 18 16:06 u28081802.log

drwxr-xr-x    toolchain 文件类型是d (文件夹) 所有者权限 rwx: 可读(r)可写(w)可执行(x),用户组权限r-x:

可读(r)可执行(x)。文件所有者是root, 用户组是 user。更加详情内容可以参考:

一文带你学习Linux 中的文件权限概念和相关命令 - 知乎 (zhihu.com)

1.2 Linux账户系统

账号用户管理登录用户,实现访问控制。

1.2.1 id命令

id命令用于查看用户和用户所在的组信息。

安卓系统查看系统用户信息:

lahaina:/ # id
uid=0(root) gid=0(root) groups=0(root),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),1078(ext_data_rw),
1079(ext_obb_rw),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid) context=u:r:su:
s0
lahaina:/ # id root
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0
lahaina:/ #

root用户uid=0, 组id=0, 所在的组root, SELinux策略上下文: u:r:su:s0

已经内置了root用户。还有其他的系统用户,shell, adb等。

lahaina:/ # id shell
uid=2000(shell) gid=2000(shell) groups=2000(shell) context=u:r:su:s0
lahaina:/ #

1.2.2 useradd命令

lahaina:/ # id root
uid=0(root) gid=0(root) groups=0(root) context=u:r:su:s0

useradd 命令用于创建新的用户

命令格式:useradd [-选项] 用户名

常用选项:

-u 指定用户UID,root用户的uid=0

-d 指定用户家目录,一般用户目录, /home/[用户名], 可以通过cd ~到当前用户的家目录

-c 用户描述信息

-g 指定用户基本组, 用户组信息,root的用户组

-G 指定用户附加组

-s 指定用户的shell

#创建用户指定用户UID、描述信息、附加组
[root@localhost ~]# useradd -u 1600 -c yunwei -G test xiaozhang
[root@localhost ~]# id xiaozhang
uid=1600(xiaozhang) gid=1600(xiaozhang) 组=1600(xiaozhang),1401(test)

#/sbin/nologin :禁止用户登录系统
[root@localhost ~]# useradd -u 1800 -c test -s /sbin/nologin user8
user8:x:1800:1800:test:/home/user8:/sbin/nologin

更多信息请参考博文:

https://zhuanlan.zhihu.com/p/561408502

查看用户家目录

root@ubuntu:/etc/skel# cd ~
root@ubuntu:~# pwd
/root

例如创建一个用户 test, 用户uid=4000, 组 test。

注意:如果用户组不存在,请先创建用户组

root@ubuntu:~# groupadd -g 4000 test
root@ubuntu:~# useradd -u 4000 -g test test
root@ubuntu:~# id
uid=0(root) gid=0(root) groups=0(root)

用户创建以后,使用id查看不存在,因为id默认只能查看系统用户。

id test能看到用户test信息。

root@ubuntu:~# id test
uid=4000(test) gid=4000(test) groups=4000(test)

1.2.3 groupadd命令

groupadd [-g gid [-o]] [-r] [-f] 组名

-g gid group’s ID 值 .除非使用 -o,

-o--non-unique 参数不然该值必须是唯一, 不可相同.数值不可为负。预设为最小不得小于500而逐次增加。 0~999 传统上是保留给系统账号使用。

-r,--system 此 参数是用来建立系统账号。的 UID 会比定义在系统档上/etc/login.defs. 的 UID_MIN 来的小.注意 useradd 此法所建立的账号不会建立使用者目录,也不会在乎纪录在 /etc/login.defs. 的定义值 . 如果你想要有使用者目录须额外指定。 -m 参数来建立系统账号。 这是 RED HAT 额外增设的选项。它会自动帮你选定一个小于999 的 gif 不需要 再加上 -g 参数。这是RED HAT 额外增设的选项。

-f,--force 新增一个已经存在的群组账号,系统会出现错误讯息然后结束groupadd .如果是这样的情况,不会新增这个群组(如果 是这个情况下,系统不会再新增一次)也可同时加上 -g,--gid GID选项当你加上一个gid,此时 gid 就不用是唯一值,可不加 -o 参数,建好群组后会显结果 .

例如:创建一个分组 test, gid=4000

root@ubuntu:~# groupadd -g 4000 test

1.2.4 password命令

二、增加root密码

举报

相关推荐

0 条评论