原来policykit和sudo无关。不过完成同样的功能而已。
先看sudo:
--------------------------------------------------------------------------------------------------------------
su与sudo的用法
By 人生百味 发表于 2006-11-12 10:25:00
一、su
看帮助:#man su
1、后面加“-”,或者“-l”,再接用户名,将重新初始化用户环境,并切换到用户的家目录(后面不带用户名,则直接切换到root用户)
如果不带参数“-”或“-l”,执行下面的命令就会出错!(因为还是普通用户的环境)
$su
#fdisk -l
bash: fdisk: command not found
2、后面加“-c”,可切换到root用户来改变文件的权限,后面的执行内容要用双引号引起来。
$su -c "chmod u+s /bin/ls" (给/bin/ls增加suid位)
二、sudo
sudo
的作用,它允许经过同意的使用者以超级管理员的身份执行指定指令。sudo
的主要配置文件是/etc/sudoers,编辑文件时最好使用visudo,它会对语法进行简单的校验,并且防止多个程序同时编辑该文件。执行
visudo这个命令后,你在里面所作的更改,只要你不执行“保存并退出”这个操作,是不会更改/etc/sudoers这个文件的,t它只是修改的一个
临时文件“/etc/sudoers.tmp”,那怕你这个时候已经执行了写的指令 。
sudo 有4个字段
root ALL(ALL) ALL
第一个字段指明哪个用户可使用sudo,这里是root,也可以用组,语法为 %组名
第二个字段指明允许登录的主机(可以是主机名或主机的IP地址),这里ALL表示所有机器
第三个字段指明sudo运行的程序以哪个用户权限运行(可以使用用户别名),(ALL)指所有用户
第四个字段指明执行的命令(也可使用Cmnd alias),ALL指任何指令,以命令前加!表示禁止执行的命令
执行sudo指令后,在5分钟内若再次使用sudo不用输入当前用户的密码,为了安全可取消这个功能,使用参数“-k”
#sudo -k /sbin/fdisk
更多详见:
-----------------------------------------------------------------------------------------
关于policykit一些资料:
------------------------------------------------------------------------------------------------------
来源:
这几天来每天都研究PolicyKit,终于把它的大致机制搞明白了。
PolicyKit主要是通过dbus来进行的,是在dbus服务的基础上增强了policykit的配置文件来实现的。因此理论上只要是dbus服务就可以使用PolicyKit。从而让用户具备更多的操作权。
调用dbus服务确实可以以普通用户的权限就完成root才能完成的操作。但是前提是,你以root权限正确地安装上这个dbus服务。
所以说,你不能执行sudo,也就不能做这样破坏的事情了。代码的话,只能看Ubuntu Tweak有关PolicyKit的部分了,除去帐户验证的部分,就是权限无限的dbus服务了。
我看的是Freedesktop上的资料,其他都是零零散散搜索来的。
官方:
policykit配置文件说明:
相关命令:
polkit-action - List and modify registered PolicyKit actions
polkit-auth - Manage authorizations, If invoked without any options, the authorizations of
the calling process will be printed.
— Centralized policy management
— PolicyKit configuration
— Validate a PolicyKit policy file
— Validate a PolicyKit configuration file
如果嫌麻烦每次都要点unlock按纽,可以在授权里把admin auth通通改成yes就行了,这样unlock按纽变灰不能用但不影响程序功能。OK目的达到了。虽然GDM这个东东不能删(和policykit关系太密切了),但使用上方便了许多。
-
阅读(6212) | 评论(0) | 转发(0) |