当前位置:首页 » 文件管理 » shell修改文件夹权限

shell修改文件夹权限

发布时间: 2023-09-18 08:13:27

A. 编写的shell程序运行前必须赋予该脚本文件什么权限

题主你好,

linux系统下, 如果想执行一个文件,必须要给该文件赋予可执行权限, 而赋予权限的命令为:

chmod +x 文件名

举例来说, 下图为我编写的输出文本 hello world 的shell脚本内容,脚本名为ok.sh:

通过上图可以看出, 在使用chmod命令给ok.sh文件加上可执行权限后, 对其执行, 终端成功输出了我们想要的结果: hello world

-----

希望可以帮到题主, 欢迎追问.

B. 编写的shell程序运行前必须赋予该脚本文件什么权限

程序要运行,就必须有执行权限。用代码表示为:chmod +x script.sh
有三种权限更改方式:chmod/acl/sudo
前两者用来更改文件权限,sudo用来更改应用程序或者是命令的执行权限
chmod的局限是无法实现多种权限分配(用户群体只有三种),面对多权限时需要用ACL进行设置
第一种:Chmod
chmod (agou)(+-)(rwx) filename
agou 表示文件权限更改影响的范围,分别代表all, group, others, user
+-表示增加或者删除权限
rwx表示具体的权限类型
chmod a+x test.txt 表示给test.txt的所有使用者增加执行权限
chmod a-x,a-w test.txt 表示去除所有人执行和更改test.txt的权限
chmod XXX filename
三类用户一起设置,第一个X代表所有者,第二个X代表所属组,第三个X代表其他
r(4) w(2) x(1): chmod 755 test.txt 给test.txt的owner设置rwx的权限,给其他所有用户设置rx权限因为要计算每一种用户的权限,多用于批量处理权限。对用户单独设置权限多用英文,而非数字
权限细化的问题,chmod最多只有三个权限组,当有多个用户,并且每个用户的权限都不一样时,chmod有局限性。

第二种:ACL(setfacl/getfacl)
文件和文件夹的权限:
如果有多个用户组,权限设置是很复杂的事情,需要仔细规划(ACL和Chmod混合使用容易产生一些权限问题,建议单独使用)
文件夹的读权限:可以列出目录下内容
文件夹执行权限:可以进入到文件夹中,执行切换目录等操作
文件夹的写权限:可以在文件夹中增删文件
用户对某个文件有了rwx权限,不代表用户有权删除该文件,只代表对文件内容有了删除权限,要能对文件级别进行操作,需要设置相应的文件夹的w权限。
getfacl filename/filedirectory
查看文件/文件夹 权限:结果会展示user,group和other的整体权限,以及特殊用户的权限
setfacl -m u:username:rwx filename
给某个用户添加对某个文件或者文件夹的特殊权限
给普通用户添加完相应权限以后,root也会有相应的权限(理论上root拥有最多的权限)
setfacl -x u:username filename
删除用户对某个文件或者是文件夹的特殊权限

第三种:SUDO
不同于chmod/acl 设置某个文件的权限,sudo主要是为非root用户增加系统的处理和执行权限。比如只有root有useradd权限,通过sudo,可以为普通用户增加useradd权限。

为普通用户增加权限有两种方式:带密码验证和不带密码验证,并且可以指定sudo可运行的机器。
使用sudo有两个步骤:1. visudo编辑权限 2. 普通用户在使用命令前添加sudo
创建无密码sudo(执行脚本时通常采用无密码sudo)
编辑visudo: 运行visudo, 采用Vim编辑器编辑添加 sr localhost=NOPASSWD:/usr/sbin/useradd,给用户sr添加“添加用户”的超级权限
切换到sr用户
sudo useradd testadd,在sr模式下添加新的用户
创建有密码sudo(可以确保有密码用户才使用此命令)
编辑visudo: 运行visudo, 采用Vim编辑器编辑添加 sr localhost=/usr/sbin/useradd,给用户sr添加“添加用户”的超级权限
切换到sr用户
sudo useradd testadd,系统会弹出命令提示,验证完命令以后sr可以成功添加用户

热点内容
电子商务搭建服务器的模式 发布:2025-01-24 19:15:13 浏览:152
电脑怎么连接服务器存储 发布:2025-01-24 19:13:32 浏览:348
qq邮箱传文件夹怎么传 发布:2025-01-24 19:03:22 浏览:762
a5手动挡有哪些配置 发布:2025-01-24 19:03:10 浏览:415
萌点星球安卓怎么修改砖石 发布:2025-01-24 19:02:08 浏览:391
php远程连接mysql数据库 发布:2025-01-24 19:00:37 浏览:345
云计算加密 发布:2025-01-24 18:50:25 浏览:176
简单的c语言程序实例 发布:2025-01-24 18:44:42 浏览:100
怎样创建数据库 发布:2025-01-24 18:42:37 浏览:461
drupal拒绝访问 发布:2025-01-24 18:34:47 浏览:271