Skip to content

Eternal Center

  • Single Node (单节点)
    • System (系统)
    • Service (服务)
    • Database (数据库)
    • Container (容器)
    • Virtualization (虚拟化)
  • Multi Node (多节点)
    • Cluster (集群)
    • Big Data (大数据)
    • Cloud Computing (云计算)
    • Batch Processing (批量处理)
  • Other (其它)
    • Ideas (思路)
    • Language (语言)
    • Project (项目)
  • Eternity (永恒)
    • Creations (创作)
    • Classics (经典)
    • Chronicle (编年史)
    • News (消息)

Category: System User & System Privilege (系统用户 & 系统权限)

Posted on June 11, 2022July 29, 2022

[工具] Shell 显示可以无密码登录系统的用户 (以 1 行的形式显示)

介绍

基本信息

作者:朱明宇
名称:显示可以登录系统的用户 (以 1 行到形式显示)
作用:显示可以登录系统的用户 (以 1 行到形式显示)

使用方法

1. 给此脚本添加执行权限
2. 执行此脚本

脚本

#!/bin/bash

userlist=
n=`cat /etc/passwd | wc -l`
i=1

while [ $i -le $n ]
do
	line=`sed -n "$[i]p" /etc/passwd`
	echo $line | egrep "nologin$|false$" &> /dev/null
	if [ $? -ne 0 ];then
                userlist="$userlist `echo $line | awk -F: '{print $1}'`"
	fi
	let i++
done

echo $userlist
Posted on June 10, 2022June 18, 2022

[排错] 解决 Linux 执行 crontab -e 命令时报错 “You (……) are not allowed to use this program (crontab)”

解决方法

如果在系统中没有 /etc/cron.deny 配置文件,在 /etc/cron.allow 配置文件中添加要使用 crontab -e 命令的用户

# vim /etc/cron.allow

添加以下内容:

......
zhumingyu

(补充:这里以添加用户 zhumingyu 为例)

如果在系统中没有 /etc/cron.allow 配置文件,在 /etc/cron.allow 配置文件中删除要使用 crontab -e 命令的用户

# vim /etc/cron.allow

删除以下内容:

......
zhumingyu
......

(补充:这里以删除用户 zhumingyu 为例)

Posted on June 8, 2022June 18, 2022

[内容] Linux 某个所属组里有哪些用户的显示

方法一:通过 /etc/group 配置文件显示某个附属所属组里有哪些用户

# cat /etc/group

(注意:此方法并不能显示出把这些所属组当作主要所属组的用户)

方法二:通过 /etc/passwd 配置文件和 id 命令等显示主要所属组和附属所属组

# for i in `cat /etc/passwd | egrep -v "nologin$|false$|half|sync|shutdown|halt" | awk -F: '{print $1}'`; do id $i; done | sort -k2

(补充:可以通过肉眼比对此命令的输出结果来判断其主要所属组和附属所属组)

Posted on January 15, 2022June 18, 2022

[步骤] sudo 提权的实现 (sudo 提权的同时可以使用代理) (openSUSE & SLE)

步骤一:给用户添加相应的 sudo 权限

# vim /etc/sudoers

或者:

# visudo

添加以下内容:

……
zhumingyu ALL=(ALL) /usr/bin/mysql

(补充:这里以给用户 zhumingyu 添加 /usr/bin/mysql 命令为例)

步骤二:设置用户使用自己的密码实现 sudo 提权

# vim /etc/sudoers

在

......
env_reset
......

这一行下面添加:

......
Defaults env_keep += "http_proxy https_proxy"
......

(补充:这里以允许用户在进行 sudo 提权的同时也能使用 http_proxy、https_proxy 为例)

Posted on October 10, 2021July 6, 2022

[工具] Shell 批量修改多个远程服务器某个用户的密码 (精致版)

介绍

基本信息

作者:朱明宇
名称:批量修改多个远程服务器某个用户的密码
作用:批量修改多个远程服务器某个用户的密码

使用方法

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 "type lsb_release" &> /dev/null
        if [ $? -ne 0 ]; then
              distribution=`ssh -t $i "cat /etc/*release | grep '^NAME'"`
	      if [ $? -ne 0 ];then
		      distribution=`ssh -t $i "cat /etc/*release"`
	      fi
        else
              distribution=`ssh -t $i "lsb_release -i | grep 'ID' | grep -v 'n/a'"`
        fi;

        echo $distribution

	case $distribution in
		*"RedHat"* | *"Red Hat"*)
		ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*"CentOS"*)
		ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*"SUSE"* | *"SLES"*)
		ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;
               
		*"openSUSE"*)
		ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*)
                echo -e "\033[31m$i is fail \033[0m" 
		;;
        esac

        let num++

        echo
done

Posts navigation

Previous page Page 1 Page 2 Page 3 Page 4 … Page 7 Next page

Aspiration (愿景):

Everyone can achieve self achievement and self happiness fairly

每个人都能公平地实现自我成就和自我幸福

Position (位置):

Running on Evolution Host and DigitalOcean

正在 Evolution Host 和 DigitalOcean 上运行

Logo (徽标):

Additional Information (其他信息):

About Manual Clone Contact
Disclaimer Donation Friendly Links
关于 说明书 克隆 联系
免责申明 捐赠 友情链接

Standby IP Address (备用 IP 地址):

152.69.204.95  150.230.63.10  Please configure before use / 请先配置再使用

Search Outside Website (站外搜索):

Google Wikipedia Bing
Proudly powered by LNMP Proudly powered by WordPress