Linux的root机制很成问题啊
Tofloor
poster avatar
qiansen1386
deepin
2014-11-15 08:19
Author
为什么用软件商城fetch的时候就不能用终端更新?装软件的时候不能更新软件。感觉这种安全机制粒度太大了。
在win下只要UAC过了就能给root权限,可是linux给人的感觉是只有一个令牌……

探讨一下,求别喷。
Reply Favorite View the author
All Replies
xliang9550
deepin
2014-11-15 08:35
#1
按照我的粗浅理解,不论安装软件还是更新,都是在调用dpkg,而似乎不允许同时运行多个dpkg例程。
Reply View the author
MattD
deepin
2014-11-15 08:50
#2
软件商城、aptitude、apt-get都只是dpkg的前端,dpkg才是最底层的包管理器,不能并行处理多个包管理进程,否则包数据库会错乱。
这种关系就类似于dnf、pkcon或yum和rpm的关系一样。
另外,Windows下面和root等价的是system权限,不是administrator。
Linux的gksu或者sudo鉴权是有一个有效期的,在这个有效期内,多次调用root身份进行操作不会反复要求输入密码,默认应该是五分钟。嫌麻烦的话,自己设置无密码鉴权。
我个人是不在图形程序中进行提权操作的,都是在终端用su临时切换root身份,用完就退出。
Reply View the author
qiansen1386
deepin
2014-11-15 09:03
#3
软件商城、aptitude、apt-get都只是dpkg的前端,dpkg才是最底层的包管理器,不能并行处理多个包管理进程,否则包数据库会错乱。
这种关系就类似于dnf、pkcon或yum和rpm的关系一样。
另外,Windows下面和root等价的是system权限,不是administrator。
Linux的gksu或者sudo鉴权是有一个有效期的,在这个有效期内,多次调用root身份进行操作不会反复要求输入密码,默认应该是五分钟。嫌麻烦的话,自己设置无密码鉴权。
我个人是不在图形程序中进行提权操作的,都是在终端用su临时切换root身份,用完就退出。
似乎感觉没事装个软件就要提权为Super不是太好。要是Linux也能实现类似Android和IOS的权限管理系统,然后询问需要授权的操作就好了。
Reply View the author
Lotuso
deepin
2014-11-15 18:12
#4
[quote]软件商城、aptitude、apt-get都只是dpkg的前端,dpkg才是最底层的包管理器,不能并行处理多个包管理进程,否则包数据库会错乱。
这种关系就类似于dnf、pkcon或yum和rpm的关系一样。
另外,Windows下面和root等价的是system权限,不是administrator。
Linux的gksu或者sudo鉴权是有一个有效期的,在这个有效期内,多次调用root身份进行操作不会反复要求输入密码,默认应该是五分钟。嫌麻烦的话,自己设置无密码鉴权。
我个人是不在图形程序中进行提权操作的,都是在终端用su临时切换root身份,用完就退出。
似乎感觉没事装个软件就要提权为Super不是太好。要是Linux也能实现类似Android和IOS的权限管理系统,然后询问需要授权的操作就好了。[/quote]
包管理的问题不是系统的问题
Reply View the author
httpe
deepin
2014-11-15 18:43
#5
[quote]软件商城、aptitude、apt-get都只是dpkg的前端,dpkg才是最底层的包管理器,不能并行处理多个包管理进程,否则包数据库会错乱。
这种关系就类似于dnf、pkcon或yum和rpm的关系一样。
另外,Windows下面和root等价的是system权限,不是administrator。
Linux的gksu或者sudo鉴权是有一个有效期的,在这个有效期内,多次调用root身份进行操作不会反复要求输入密码,默认应该是五分钟。嫌麻烦的话,自己设置无密码鉴权。
我个人是不在图形程序中进行提权操作的,都是在终端用su临时切换root身份,用完就退出。
似乎感觉没事装个软件就要提权为Super不是太好。要是Linux也能实现类似Android和IOS的权限管理系统,然后询问需要授权的操作就好了。[/quote]
如果我没有搞错,那么polkit就是干这个事情的~
Reply View the author
MattD
deepin
2014-11-15 19:49
#6
[quote][quote]软件商城、aptitude、apt-get都只是dpkg的前端,dpkg才是最底层的包管理器,不能并行处理多个包管理进程,否则包数据库会错乱。
这种关系就类似于dnf、pkcon或yum和rpm的关系一样。
另外,Windows下面和root等价的是system权限,不是administrator。
Linux的gksu或者sudo鉴权是有一个有效期的,在这个有效期内,多次调用root身份进行操作不会反复要求输入密码,默认应该是五分钟。嫌麻烦的话,自己设置无密码鉴权。
我个人是不在图形程序中进行提权操作的,都是在终端用su临时切换root身份,用完就退出。
似乎感觉没事装个软件就要提权为Super不是太好。要是Linux也能实现类似Android和IOS的权限管理系统,然后询问需要授权的操作就好了。[/quote]
如果我没有搞错,那么polkit就是干这个事情的~[/quote]
对,没错。昨天太晚了,我都没想起来polkit。gksu/kdesu等程序配合polkit就能实现类似UAC的效果了。
Reply View the author
httpe
deepin
2014-11-16 00:25
#7
对,没错。昨天太晚了,我都没想起来polkit。gksu/kdesu等程序配合polkit就能实现类似UAC的效果了。
按我的理解,我觉得polki要比UAC还要高级一点。
UAC有点像原来的安卓,每个软件都会尽可能地要求高权限,不管用不用得着,结果就是用户要么不用那些软件,要么就给它管理员权限,于是UAC就没什么意义了……
polkit和OSX的权限管理方式比较像,只有当程序确实调用了某些需要root权限的功能时才提权。
Reply View the author
ahyanglf
deepin
2014-11-16 00:58
#8
win下不能叫root吧

毕竟linux权限更彻底,win下最高权限是sys而不是admin
Reply View the author
qiansen1386
deepin
2014-11-16 01:20
#9
[quote]
对,没错。昨天太晚了,我都没想起来polkit。gksu/kdesu等程序配合polkit就能实现类似UAC的效果了。
按我的理解,我觉得polki要比UAC还要高级一点。
UAC有点像原来的安卓,每个软件都会尽可能地要求高权限,不管用不用得着,结果就是用户要么不用那些软件,要么就给它管理员权限,于是UAC就没什么意义了……
polkit和OSX的权限管理方式比较像,只有当程序确实调用了某些需要root权限的功能时才提权。[/quote]
小米 LBE等公司提供的权限管理就类似于这种,需要提特定权限的时候才提权。大赞,就是不知道能不能整合进LD里。
Reply View the author
MattD
deepin
2014-11-16 02:23
#10
[quote][quote]
对,没错。昨天太晚了,我都没想起来polkit。gksu/kdesu等程序配合polkit就能实现类似UAC的效果了。
按我的理解,我觉得polki要比UAC还要高级一点。
UAC有点像原来的安卓,每个软件都会尽可能地要求高权限,不管用不用得着,结果就是用户要么不用那些软件,要么就给它管理员权限,于是UAC就没什么意义了……
polkit和OSX的权限管理方式比较像,只有当程序确实调用了某些需要root权限的功能时才提权。[/quote]
小米 LBE等公司提供的权限管理就类似于这种,需要提特定权限的时候才提权。大赞,就是不知道能不能整合进LD里。[/quote]
你是不是忘了一件事情,Linux发行版是[color=#FF0000:33ftbyo4]多用户的桌面操作系统[/color:33ftbyo4],跟手机系统是一回事么?
Unix类系统下面涉及9个普通权限位加上3个特殊权限位,总共12个权限位。而且有些服务和进程还需要用特定的虚拟用户身份运行。
我不知道你哪里觉得root被滥用了,还是说,你想把整个根目录变成777?要想实现你说的那种权限分配,方法不是没有,可以参照BSD。开发人员只提供基础系统,用户自己安装的软件统一放在/usr/local或/usr/pkg下,配置文件对应放在/usr/local/etc或/usr/pkg/etc。这样一来,你想怎么玩都行,就是没有安全性可言了而已。
如果你觉得这样太复杂,那就玩玩suid和sgid权限位,同样很危险就是了。
Reply View the author
xliang9550
deepin
2014-11-16 04:11
#11
我现在不管是用Windows还是Linux,都会尽量避免提权。
前些天测试了一下自己的计算软件,发现自带一些安全限制,提权了反而不能正常运行(报错并自动退出),而且所有相关文件都不能具有全局访问权限,最高只能设成750。
Reply View the author
httpe
deepin
2014-11-16 23:58
#12
我现在不管是用Windows还是Linux,都会尽量避免提权。
前些天测试了一下自己的计算软件,发现自带一些安全限制,提权了反而不能正常运行(报错并自动退出),而且所有相关文件都不能具有全局访问权限,最高只能设成750。
可是windows下很多程序都要提权才能运行……
Reply View the author
qiansen1386
deepin
2014-11-17 09:16
#13
[quote][quote]
按我的理解,我觉得polki要比UAC还要高级一点。
UAC有点像原来的安卓,每个软件都会尽可能地要求高权限,不管用不用得着,结果就是用户要么不用那些软件,要么就给它管理员权限,于是UAC就没什么意义了……
polkit和OSX的权限管理方式比较像,只有当程序确实调用了某些需要root权限的功能时才提权。
小米 LBE等公司提供的权限管理就类似于这种,需要提特定权限的时候才提权。大赞,就是不知道能不能整合进LD里。[/quote]
你是不是忘了一件事情,Linux发行版是[color=#FF0000:8698gyk3]多用户的桌面操作系统[/color:8698gyk3],跟手机系统是一回事么?
Unix类系统下面涉及9个普通权限位加上3个特殊权限位,总共12个权限位。而且有些服务和进程还需要用特定的虚拟用户身份运行。
我不知道你哪里觉得root被滥用了,还是说,你想把整个根目录变成777?要想实现你说的那种权限分配,方法不是没有,可以参照BSD。开发人员只提供基础系统,用户自己安装的软件统一放在/usr/local或/usr/pkg下,配置文件对应放在/usr/local/etc或/usr/pkg/etc。这样一来,你想怎么玩都行,就是没有安全性可言了而已。
如果你觉得这样太复杂,那就玩玩suid和sgid权限位,同样很危险就是了。[/quote]
安卓现在也是多角色多任务了。只不过软件的运行环境更为单一而已。
MattD大神觉得软件怎么放比较好?是所有软件统一放一个地方好,还是配置文件分用户放比较好?还是软件和配置都放到用户的home下比较好?绿色软件的概念很好,可是用起来总是感觉放的地方很乱。现在好像Linux上和win上都乱放,基本上各种情况都有。不知道mac上是不是好一点?
Reply View the author
181******81
deepin
2014-11-17 17:04
#14
4楼正解。会慢慢完善的。其实这个系统刚刚开始不是给桌面用户用的,所以在设计之初就没有考虑桌面用户的使用习惯。现在不同了。在等等吧,会更好的。
Reply View the author