linux中用shell脚本在nis环境中的/var/yp/src/group路径下添加group并判断是否复制原有group里的成员,并使gid不同
时间: 2023-12-10 14:04:53 浏览: 40
可以使用以下shell脚本来实现在NIS环境中/var/yp/src/group路径下添加group并判断是否复制原有group里的成员,并使gid不同的功能:
```shell
#!/bin/bash
# 定义新group的信息
new_group="newgroup:x:1001:"
# 获取当前最大的gid
max_gid=$(ypcat group | awk -F ':' '{print $3}' | sort -n | tail -1)
# 计算新的gid
new_gid=$((max_gid+1))
# 添加新group到/var/yp/src/group
echo "$new_group$new_gid" >> /var/yp/src/group
# 判断是否复制原有group里的成员
read -p "是否复制原有group里的成员?[y/n]: " copy_members
if [ "$copy_members" == "y" ]; then
# 复制原有group里的成员
old_members=$(ypcat group | grep "^oldgroup:" | awk -F ':' '{print $4}')
for member in $old_members; do
echo "newgroup:x:1001:$member" >> /var/yp/src/group
done
fi
# 更新NIS数据库
cd /var/yp
make
```
上述脚本中,首先定义了新group的信息,然后通过ypcat命令获取当前最大的gid,并计算出新的gid。接着将新group信息和新gid添加到/var/yp/src/group文件中。然后通过询问用户是否需要复制原有group里的成员,来决定是否进行复制操作。最后使用make命令更新NIS数据库。这样就实现了在NIS环境中添加group并判断是否复制原有group里的成员,并使gid不同的功能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)