limadm 命令是管理员用来维护用户的 lnode 的主要工具。该命令对某一列表的用户帐户的 Solaris Resource Manager 属性值进行更改。如果有任何用户的 lnode并不存在,则先创建一个用默认值填充的空白 lnode。新的 lnode 创建时带有如下属性:
flag.real 得到设置:
cpu.shares 和 cpu.myshares 属性设置为1;
标志 uselimadm 和 admin 设置为清空;
所有其它标志设置为继承;
所有的限制和利用率属性设置为零。
新的 lnode 的调度组设置为 limadm 的调用者,条件是该用户是一个分管理员;否则(如果调用者是根或者其 uselimadm 标志得到设置),则设置为用户其它,条件是该用户帐户否则设置为根 lnode。
limadm 调用者需要足够的管理特权才能进行所指定的更改。其必须是超级用户,有一个得到设置的 uselimadm 标志,或者是分管理员,且只是要更改其调度组成员的属性。分管理员使用 limadm 时受到限制:
其无法更改其自身的属性值,除非其拥有 selfadmin 条件(例如,cpu.myshares 属性)。
用户的 sgroup 属性只能指派给身为调用者调度组成员的组头目,或者调用者自己。
其无法更改其调度组之外的用户的属性。
其无法更改任何用于存储 usages 的属性的值。如果缺少这一限制,则分管理员有可能通过减少其子节点的利用率,减少组的利用率,从而逾越组限制。
如果其所拥有的一个标志的值与该标志的默认值相反,则其无法为其组成员更改该标志的值,除非是将该标志设置为相同的相反的值。这就确保那些特权明确遭到拒绝的分管理员无法将这些特权赋予任何受其影响的用户。
limadm 命令使得管理员可以删除某一 lnode,而不删除口令映射中相对应的用户帐户。如要使用 limadm,调用者必须是超级用户,有一个设置过的 uselimadm 标志,或者有一个设置过的 admin 标志。如果调用者有一个设置过的 admin 标志,则其只能删除其为组头目的用户的 lnode。