今天测试写的代码,出现了在用一个账户登录操作的时候,操作记录的是另外一个id. 经过查找网上的解决方案确认了问题:在controller里面定义了一个userid属性,每次都通过userid传输值.然后多线程情况下会同时共享这个userid属性 解决方案:把controller里面的属性删除,然后用其他方案替代 找到了一篇关于controller单例和多例分析比较好的文章:如下 对于SpringMVC Controller单例和多例,下面举了个例子说明下. 第一次:类是多例,一个普通属性和一个静…
一.基本概念 实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid. 有效用户ID(EUID):用于系统决定用户对系统资源的权限,也就是说当用户做任何一个操作时,最终看它有没有权限,都是在判断有效用户ID是否有权限.如果有,则ok,否则报错不能执行.在正常的情况下,一个用户登录之后(假设是A用户),A用户的有效用户ID和实际用户ID是相同的,但是如果A用户在某些场景中想要执行一些特权操作,能顺利的执行吗?上面说到了用户的任务操作,linu…
linux 设置用户id 设置组id   转自 linux 设置用户id 设置组id   最近看apue,简单记录对设置用户id理解(设置组id同理). 1. 相关的id好像很多,共有哪些? 文件2个id 2个位: 拥有者id             拥有者组id 设置用户id位         设置组id位 进程6个或更多的id(如果有附加组id): 实际用户id             实际组id       (仅仅标志我们是谁,不参与文件访问权限检测) 有效用户id            …
今天在看APUE,这两个问题很难理解,GOOGLE一下,有篇文章总结的不错,看了一下才明白透彻了. 由于用户在UNIX下经常会遇到 SUID.SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题.关于SUID. SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考.限于本人的 水平问题,文章中如果有不当之处,请广大网友指正. 一.UNIX下关于文件权限的表示方法和解析 SUID 是 Set…
在unix系统中,特权是基于用户和组ID的,当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己 用户ID或组ID,使的新ID具有合适的特权或访问权限.与此类似,当程序需要降低其特权或阻止对某些资源的访问时,也需要 更换用户ID或组ID,从而使新ID不具有相应特权或访问这些资源的能力. 可以用setuid函数设置实际用户ID和有效ID,与此类似,可以使用setgid函数设置实际组ID和有效组ID. #include <unistd.h> int setuid(uid_t u…
与一个进程关联的ID有6个或更多,如下图所示: 与每个进程相关联的用户ID和组ID 实际用户ID 实际组ID 我们实际是谁 有效用户ID 有效组ID 附加组ID 用于文件访问权限检索 保存的设置用户ID 保存的设置组ID 由exec函数保存 实际用户ID和实际组ID标识我们究竟是谁,这两个字段在登录时取自口令文件中的登录项.通常,在一个登录会话间这些值并不改变,但是超级用户进程有方法改变它们. 有效用户ID,有效组ID以及附加组ID决定了我们的文件访问权限. 保存的设置的用户ID和保存的设置组I…
与一个进程相关联的ID有6个或更多,它们如表4-4所示: 表4-4 与每个进程相关联的用户ID和组ID 实际用户ID                            我们实际上是谁 实际组ID 有效用户ID                            用于文件访问权限检查 有效组ID 附加组ID 保存的设置用户ID                   由exec函数保存 保存的设置组ID 实际用户ID和实际组ID标识我们究竟是谁(执行这个程序的用户和组).这两个字段在登录时取自口…
在UNIX系统中,特权(例如能改变当前日期的表示法以及访问控制(例如,能否读.写一特定文件))是基于用户ID和组ID的.当程序需要增加特权,或需要访问当前并不允许访问的资源时,我们需要更换自己的用户ID或组ID,使得新ID具有合适的特权或访问权限.与此类似,当程序需要降低其特权或阻止对某些资源的访问时,也需要更换用户ID或组ID,从而使新ID不具有相应特权或访问这些资源的能力. 一般而言,在设计应用程序时,我们总是试图使用最小特权(least privilege)模型.依照此模型,我们的程序应当…
实际用户ID,有效用户ID和设置用户ID 看UNIX相关的书时经常能遇到这几个概念,但一直没有好好去理清这几个概念,以致对这几个概念一直一知半解.今天好好区分了一下这几个概念并总结如下.说白了这几个UID引出都是为了系统的权限管理. 下面分别用RUID, EUID,SUID来表示实际用户ID,有效用户ID,设置用户ID.另外用户ID是个整型数,为了说明方便真接使用了用户名来代表不同的UID.先解释一下这几个ID的作用: RUID, 用于在系统中标识一个用户是谁,当用户使用用户名和密码成功登录后一…
最近在读<unix环境高级编程>,看到文件权限这里比较糊涂,主要设计多个用户ID和用户组ID,包括下面两个: (1)实际用户ID和实际用户组ID:这一部分表示我们究竟是谁.这两个字段在登录时取自口令文件中的登录项.通常,在一个登录会话期间这些值并不改变,但是超级用户进程有办法改变他们.简单来说,实际用户ID是登录用户的uid,实际用户组Id是登录用户的gid. (2)有效用户ID和有效用户组ID:这一部分用于文件的权限检查.一般情况下,有效用户ID等于实际用户ID,有效用户组ID等于实际用户组…