我想在linux下创建一个可执行文件,且某些用户可以执行,但是大部分用户只能查看,除了root用户都不能删除:
1、先创建一个用户
useradd shTest
给指定用户设置密码
passwd shTest
123456
123456
2、在指定目录创建一个可执行文件:
到根目录下去查找可用目录
cd /
选择在home路径下创建一个文件夹,并且创建一个可执行文件,以.sh结尾的文件:
mkdir test --创建一个文件夹
cd test --到指定文件目录下
touch a.sh --创建一个文件
sh a.sh --运行sh文件
3、先把a.sh的所有权限都关掉:
u:文件或目录的拥有者
g:文件或目录的所属组
chmod o=- a.sh --o代表其他用户
或者
chmod 000 a.sh
切换到刚才的用户尝试一下:
用su shTest
用rm -rf a.sh 删除a文件
提示权限不够
4、创建一个用户组,之后再创建一个用户,把两个用户放在一个用户组中
新增用户组:
groupadd Test
把shTest加到用户组中:
usermod -g Test shTest
5、给用户组执行权限,给rmTest读的权限,都没有写的权限:
改变a.sh的所属组
chgrp Test a.sh
给Test组执行权限
chmod g=x,o=r a.sh
用shTest去读取a.sh提示
我本来想着直接可以执行,但是执行提示异常
重新给组增加了读的权限,则正常执行:
结果我发现原来人家的执行命令./
ps:在切换用户后,如果写错删除的时候删除不了,则按ctrl+删除按钮,则可正常删除。



