一、虚拟机网络设定
克隆一台node1
在node1上进行网络配置
进入网卡配置目录
# 红帽9网卡配置文件目录,其他版本不一样
[root@localhost ~]# cd /etc/NetworkManager/system-connections/
网卡配置文件
[root@localhost system-connections]# vim ens160.nmconnection
[root@localhost system-connections]# nmcli connection reload
[root@localhost system-connections]# nmcli connection up ens160
二、sshd
更改sshd配置文件,允许超级用户登录
[root@localhost ~]# vim /etc/ssh/sshd_config
PermitRootLogin yes
允许超级用户登录,不更改Xshell连接不上
重启sshd服务
[root@localhost ~]# systemctl restart sshd
纯净实验环境
[root@localhost ~]# rm -rf ~/.ssh/
生成密钥
[root@localhost ~]# ssh-keygen -f /root/.ssh/id_rsa -P ""
-f /root/.ssh/id_rsa
-f
指定密钥位置 -P ""
指定密码为空
[root@localhost ~]# ssh-keygen -f /root/.ssh/id_rsa -P ""
Generating public/private rsa key pair.
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:kEygDZAjI1PYKaiaCMV1bFnKR2bjzq5HS+EA49RX+hk root@localhost.localdomain
The key's randomart image is:
+---[RSA 3072]----+
|oBooo+oo*.. |
|@ =++==B.o |
|+*.o.+*.+ E |
|o . .=.. o |
|+. oS.o |
|+ .+ |
| o.. |
| .o |
| .. |
+----[SHA256]-----+
上锁
# 锁root用户
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.128
[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.128
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@172.25.254.128's password: Number of key(s) added: 1Now try logging into the machine, with: "ssh 'root@172.25.254.128'"
and check to make sure that only the key(s) you wanted were added.
root用户被公钥加密成功
三、用户管理
监控动作
[root@localhost ~]# watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home"
用户建立时的命令
useradd test
创建用户
userdel -r test
删除用户及其相关文件
useradd -M test
不建立用户的家目录
useradd -s /sbin/nologin test
-s
建立系统账号,非交互式
useradd -d /mnt test
指定用户存放的工作目录,一般为/home
四、权限管理
在Linux系统中,用户对文件或目录的访问权限除了r、w、x三种一般权限外,还有SET UID(SUID)、SET GID(SGID)、Sticky Bit(粘滞位)三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制。
1、SUID 权限的含义:是为了让一般用户在执行某些程序的时候, 在程序的运行期间, 暂时获得该程序文件所属者的权限。
分析:student用户要更改自己的密码
■ student 在执行 passwd 修改自己的密码时, 其修改的密码, 最终是需要保存到 /etc/shadow
这个文件中, 而这个文件的权限是 --------- ,它的拥有者是 root ,也只有 root 可以“ 强制” 存储, 其他用户连看都不行。
■ 可偏偏 student 去执行 passwd (/usr/bin/passwd) ,却可以更新自己的密码。
这就是因为有 s 权限的存在,当 s权限在拥有者的权限位上时, 即如 -rwsr-xr-x 这样时, 称为SUID 。SUID 即 Set UID , UID 指的是拥有者的的 ID, 而这个程序 (/usr/bin/passwd) 的拥有者为(root) 。
注意:
-
suid仅对二进制文件有效。
-
在执行过程中,调用者会暂时获得该文件的所有者权限。
-
该权限只在程序执行的过程中有效。
# find / -perm /4000■ 0 表示为无的权限■ 4 代表拥有者的 s 权限位■ /4000 代表权限至少是4000
2、SGID 权限
SGID 可以用在两个方面:
■ 文件: 如 果 SGID 设置在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将会变成该程序文件的所属组。
■ 目录, 如 果 SGID 是设置在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A目录的所属组。
一 般来说, SGID 多用在特定的多人团队的项目开发上,在系统中用的很少。
该如何查询整个系统中设置了 SGID 的文件呢 ?
# find / -perm /2000
■ 0 表示为无的权限
■ 2 代表所属组的 s 权限位
■ /2000 代表权限至少是2000
3、Sticky Bit 权限
Sticky Bit (SBit) 当前只针对目录有效, 对文件没有效果。其对目录的作用是:
■ 在 具 有 SBit 的目录下, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目录时, 只有文件拥有者与 root 才有权力删除。
例如:当 student 用户属于 A 目录的组成员或属于 other ,且拥有 wx 权限时, 可以对该目录内任何人建立的目录或文件进行“ 删除/重命名/移动” 等操作。 如果将 A 目录加上了 Sticky Bit 权限, 则 student用户只能针对自己建立的文件或目录进行“ 删除/重命名/移动” 等操作。
4、设置文件和目录的特殊权限
为文件或目录添加三种特殊权限同样可以通过chmod命令来实施,使用“u±s”、“g±s”、“o±t”的字符权限模式分别用于添加和移除SUID、GUID、sticky权限。
若使用数字形式的权限模式,可采用“nnnn”格式的四位八进制数字表示,其中:后面三位是一般权限的数字表示,前面第一位则是特殊权限的标志数字:
0——表示不设置特殊权限
1——表示只设置sticky
2——表示只设置GUID权限
3——表示只设置SGID和sticky权限
4——表示只设置SUID权限
5——表示只设置SUID和sticky权限
6——表示只设置SUID和SGID
7——表示同时设置SUID、GUID、sticky3种权限