步骤一:进入 Python 环境
# python3
步骤二:导入 UUID 模块
>>> import uuid
步骤三:生成 UUID
>>> uuid.uuid4()
步骤四:生成 UUID 并以十六进制进行显示
>>> uuid.uuid4().get_hex()
# python3
>>> import uuid
>>> uuid.uuid4()
>>> uuid.uuid4().get_hex()
作者:朱明宇
名称:批量修改多个远程服务器某个用户的密码
作用:批量修改多个远程服务器某个用户的密码,并显示密码更新时间
1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每个服务器名占用 1 行
3. 给脚本分割线里的变量赋值
4. 给此脚本添加执行权限
5. 执行此脚本
1. list=”list.txt” #指定清单的目录和名称
2. user=eternalcenter #指定要修改密码的用户
3. password=eternalcenter #指定要修改的密码
此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器,并且可以通过 sudo 获得 su 的 root 权限
#!/bin/bash
####################### Separator ########################
list="list.txt"
user=eternalcenter
password=eternalcenter
####################### Separator ########################
num=1
cat $list
for i in `cat $list`
do
echo $num
echo $i
ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
ssh -t $i sudo -u root su - root -c \"chage -l $user\"
let num++
echo
done
在 SELinuxProject 的官网上下载 SELinux 策略 UseRefpolicy:
https://github.com/SELinuxProject/refpolicy/wiki/UseRefpolicy
1) 如果使用此文的方法将 openSUSE & SLE 的 SELinux 设置为 Enforcing 则系统将无法设置 IP 地址
2) 如果使用此文的方法开启了 SELinux 并且将所有的布尔(boolean)值开启,则系统将无法关机,开启所有布尔值的方法:# for i in semanage boolean -l | awk '{print $1}'
; do echo $i;setsebool -P $i 1; done
# zypper in libselinux1 libsemanage1 libsepol-devel libsepol1 libselinux-devel mcstrans libselinux1-32bit policycoreutils checkpolicy libsemanage-devel setools-tcl setools-libs setools-java setools-devel setools-console selinux-tools python3-policycoreutils python3-selinux python3-semanage python3-setools restorecond
# tar -xvf refpolicy-2.20210203.tar.bz2
(补充:这里以解压 refpolicy-2.20210203.tar.bz2 压缩包为例)
# mv refpolicy /etc/selinux/
# cd /etc/selinux/refpolicy/
# cat INSTALL
# make conf
# make policy
# make install
# make load
# vim /etc/selinux/config
创建以下内容:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=permissive
# 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=refpolicy
# vim /etc/default/grub
在这一行里:
GRUB_CMDLINE_LINUX_DEFAULT="......"
添加以下内容:
GRUB_CMDLINE_LINUX_DEFAULT="...... security=selinux selinux=1 enforcing=0"
# grub2-mkconfig -o /boot/grub2/grub.cfg
# restorecon -Rp /
# reboot
https://documentation.suse.com/sles/15-SP2/html/SLES-all/cha-selinux.html
1) Disabled:完全关闭 SELinux
2) Permissive:即使违反了策略也依旧可以执行,但是违反策略的记录会被记录在日志中
3) Enforcing:如果违反了策略就不能之行
# vim /etc/selinux/config
将以下内容:
......
SELINUX=......
......
修改为:
......
SELINUX=disabled
......
# reboot
# getenforce
Disabled
# vim /etc/selinux/config
将以下内容:
......
SELINUX=......
......
修改为:
......
SELINUX=permissive
......
# reboot
# getenforce
Permissive
# vim /etc/selinux/config
将以下内容:
......
SELINUX=......
......
修改为:
......
SELINUX=enforcing
......
# reboot
# getenforce
Enforcing
# setenfoce 0
(
注意:
1) 系统重启后失效
2) 只能从 Enforcing 状态切换到 Permissive 状态
)
# getenforce
Permissive
# setenfoce 1
(
注意:
1) 系统重启后失效
2) 只能从 Permissive 状态切换到 Enforcing 状态
)
# getenforce
Enforcing
# ifconfig | grep HW
# arp -n