编写 Shell 程序 (setmod.sh) ,在/home 目录下建立 10 个目录,即 user1~user10,并设置每个 目录的权限

该Shell脚本(setmod.sh)用于在/home目录下创建user1到user10的10个目录,并分别设置其权限。每个目录的所有者拥有读、写、执行权限,同组用户有读、执行权限,其他用户只有读权限。

编写 Shell 程序 (setmod.sh) ,在/home 目录下建立 10 个目录,即 user1~user10,并设置每个 目录的权限,其中: (1)文件所有者的权限为:读、写、执行 (2) 文件所有者所在组的权限为:读、执行 (3) 其他用户的权限为:读

#! /bin/bash

mkdir /home/user{1..10} # 创建 10 个目a
chmod 751 /home/user{1..10} # 设置权限为 rwxr-x--x
chown user:group /home/user{1..10} # 将所有者设置为 user,组设置为 group
chmod g+r /home/user{1..10} # 设置组权限为 r-x
chmod o+r /home/user{1..10} # 设置其他用户权限为 r
                                        

<think>我们将在/data目录创建20个子目录,命名为user1user20,设置权限为rwxr-xr-x(即755,因为rwxr-xr-x对应数字权限为755)。步骤:1.使用循环从120。2.在循环体内,使用mkdir命令创建目录目录名为/data/user$i(其中$i是循环变量)。3.设置权限为755,使用chmod命令。注意:需要确保/data目录存在,且有足够的权限。脚本如下:</think> 以下是为您在 `/data` 目录下批量创建 20 个子目录 (user1user20) 设置权限为 `rwxr-xr-x` (755)Shell 脚本解决方案: ```bash #!/bin/bash # 指定目标目录 target_dir="/data" # 创建20个子目录设置权限 for i in {1..20}; do # 创建目录路径 dir_path="${target_dir}/user${i}" # 创建目录(使用-p确保父目录存在) mkdir -p "$dir_path" # 设置权限为rwxr-xr-x (755) chmod 755 "$dir_path" # 打印状态信息 echo "创建目录: $dir_path (权限: 755)" done ``` ### 代码说明: 1. **`target_dir="/data"`**: 指定目标父目录 2. **`mkdir -p "$dir_path"`**: - `-p` 选项确保父目录存在(自动创建必要的父目录) - 创建路径为 `/data/userX` (X=1-20) 的子目录[^1] 3. **`chmod 755 "$dir_path"`**: - 设置目录权限为 `rwxr-xr-x` (数值权限:755) - 详细权限说明: * **拥有者**:读(r)、写(w)、执行(x) - `rwx` ($7_8$) * **组用户**:读(r)、执行(x) - `r-x` ($5_8$)[^2] * **其他用户**:读(r)、执行(x) - `r-x` ($5_8$)[^4] - 此权限组合保证拥有者完全控制,其他用户只读可执行[^3] ### 应用场景: 1. 创建多用户工作目录时保持权限一致性 2. 设置安全共享目录(组协作开发环境) 3. 自动化构建标准化目录结构 ### 执行步骤: 1. 将脚本保存为 `create_dirs.sh` 2. 添加执行权限: ```bash chmod +x create_dirs.sh ``` 3. 执行脚本(需 root 权限): ```bash sudo ./create_dirs.sh ``` > **注意**:确保您的账户对 `/data` 目录有写入权限,否则需要使用 `sudo` 执行脚本 ### 验证结果: ```bash $ ls -ld /data/user* drwxr-xr-x 2 root root 4096 Jan 1 10:00 /data/user1 drwxr-xr-x 2 root root 4096 Jan 1 10:00 /data/user2 ... drwxr-xr-x 2 root root 4096 Jan 1 10:00 /data/user20 ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值