linux下权限问题,如何让无root管理员权限的用户执行需root权限执行的脚本文件

2020-05-25 科技 112阅读

看了前面几位回答者我觉得应当采取一种简单的方法。

看你的意图允许任何人挂载/dev/sda5并且访问它

那么可以如此,任何人都可以挂载硬盘而无需密码,包括其他的/dev/sda6之类的

首先新建一个组,然后让每一个人都在这个组里(添加组及设置组的成员有图形界面较简单,省略),假设为newnew

设置方法

sudo gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

里面会有(第一个代码块),如下内容加上第三行后如发炮制加上(第二个代码块)


[Mounting, checking, etc. of internal
drives]
Identity=unix-group:admin
Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart*
ResultActive=yes
[Change CPU Frequency
scaling]
Identity=unix-group:admin
Action=org.gnome.cpufreqselector
ResultActive=yes
[Setting the
clock]
Identity=unix-group:admin
Action=org.gnome.clockapplet.mechanism.*
ResultActive=yes
;unix-group:newnew

由此任何人都可以挂载硬盘了。但问题还没解决

挂载后普通用户是没有读权限的。在此要设置/media/d(假设/dev/sda5挂载在这里)为任何人可读

sudo chmod 777 /media/d

如此任何人都可以相当于在这个文件夹下建立读取删除执行文件了,当然里面的子文件夹和子文件另有设置的除外。

当然,也有可能有些其它的”盘“(严格来讲linux中没有盘的概念)挂载之后就有可读可写可执行的权限,但你又不希望这个盘有这样的权限。则另外设置其为相应的权限。

具体见chmod命令

如此这个问题得一解决。虽说与问题中所说的suid,脚本文件中离得较远,但终归解决了问题。

程序之类的东西应当是本着解决问题的原则。然后才是怎样最优化解决问题。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com