mkgroup
在 AIX 中创建组非常简单明了。对创建用户的限制也适用于组:
组名不能以下面的字符开头:
连字符或减号 (-)
加号 (+)
At 符号 (@)
波浪号 (~)
组名不能是 ALL 或 default,因为这些名称是为 *** 作系统保留的。
组名不能包含:
冒号 (:)
引号 — 单引号或双引号 (’ 或 “)
镑符或数字符 (#)
逗号 (,)
等号 (=)
斜杠 — 反斜杠或前向斜杠 ( 或 /)
问号 (?)
反引号或勾号 (`)
空白(空格或制表符)
换行符
在 AIX 5.2 和更早的版本上,组名的长度必须小于等于 8 个字符。从 AIX 5.3 开始,最大字符数增加到了 255。
用 mkgroup 创建组
# mkgroup atctest
# grep atctest /etc/group
atctest:!:202:
# grep -p atctest /etc/security/group
atctest:
admin = false
添加 -a 可以创建管理员组,
创建管理员组
# mkgroup -a atcadmin
# grep atcadmin /etc/group
atcadmin:!:15:
# grep -p atcadmin /etc/security/group
atcadmin:
admin = true
要想创建组并指定 Xander 作为组的管理员,应该在命令行上指定 adms=xander,这会在 /etc/security/group 文件中添加 adms 属性,
指定一个用户作为组管理员
# mkgroup adms=xander xangroup
# grep xangroup /etc/group
xangroup:!:203:
# grep -p xangroup /etc/security/group
xangroup:
admin = false
adms = xander
与 mkuser 一样,mkgroup 采用与 chgroup 相同的属性。
以下示例中把 xangroup 组的 GID 由 203 改为 204,还添加了几个用户。
修改组的 GID 并添加用户
# grep xangroup /etc/group
xangroup:!:203:
# chgroup id=204 users=xander,atc,amdc xangroup
# grep xangroup /etc/group
xangroup:!:204:xander,atc,amdc
chgrpmem
也可以使用 chgrpmem 修改组的成员。可以使用 chgrpmem 命令列出、添加和删除组中的用户,以及改变组管理员。
例如,xangroup 组包含成员 xander 和 atc,xander 是组管理员。从组中删除 atc
从组中删除用户
# chgrpmem xangroup
xangroup:
members = xander,atc
adms = xander
# chgrpmem -m – atc xangroup
# chgrpmem xangroup
xangroup:
members = xander
adms = xander
假设这是错的,不应该删除 atc 用户。相反,应该把 atc 用户变成组管理员,删除 xander 的管理权限。
以下示例中给出纠正错误的代码
添加已经删除的用户并改变组管理员
# chgrpmem -m + atc xangroup
# chgrpmem -a + atc xangroup
# chgrpmem -a – xander xangroup
# chgrpmem xangroup
xangroup:
members = xander,atc
adms = atc
lsgroup
lsuser 对于用户管理很有用,有相似的组管理命令吗?有,这就是 lsgroup。lsgroup 采用 AIX 的标准命令和选项格式,采用与 lsuser 相同的结构。
lsgroup 命令的输出
# lsgroup xangroup
xangroup id=204 admin=false users=xander,cormany adms=cormany registry=files
# lsgroup -f xangroup
xangroup:
id=204
admin=false
users=xander,cormany
adms=cormany
registry=files
# lsgroup -c xangroup,atcadmin
#name:id:admin:users:adms:registry
xangroup:204:false:xander,cormany:cormany:files
#name:id:admin:registry
atcadmin:15:true:files
# lsgroup -c -a id xangroup,atcadmin
#name:id
xangroup:204
#name:id
atcadmin:15
rmgroup
前面创建了组。现在,要清理 AIX 系统。要想从系统中删除组,只需执行 rmgroup 并指定组名:
# rmgroup atctest
以这个组作为主组的所有用户必须把主组改为另一个组,然后 rmgroup 命令才允许删除这个组。
用户目录,例如: mkdir /oracle创建组,例如:groupadd -g 200 dba(200是组号,dba是组名)
创建用户,例如:useradd -u 101 -d /oracle -g dba -s /bin/bash -m oracle(101是用户的号,/oracle是用户的home路径,dba是用户的组,/bin/bash是用户的sh)
AIX 下面新建用户的命令是:#smitty mkuser 或者:
#smit mkuser
但新新用户会涉及到非常多的内容,以下内容供参考:
AIX 中的命令
请记住,本文讨论的命令和方法应该可以在配置文件中有本地用户和组的 AIX 系统上使用。如果系统处理来自远程源(例如 Network Information System,即 NIS)的用户和组,那么不应该使用 chuser 和 chgroup 等命令。
/etc/passwd
/etc/security/.profile
/etc/security/limits
/etc/security/passwd
/etc/security/user
/usr/lib/security/mkuser.default
/etc/passwd
/etc/passwd 文件包含用户的基本信息,它可能是 UNIX® 和 Linux® 用户最熟知的用户管理文件。清单 1 给出 /etc/passwd 文件的示例。
清单 1. /etc/passwd 文件示例
root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:
sys:!:3:3::/usr/sys:
adm:!:4:4::/var/adm:
uucp:!:5:5::/usr/lib/uucp:
guest:!:100:100::/home/guest:
nobody:!:4294967294:4294967294::/:
lpd:!:9:4294967294::/:
lp:*:11:11::/var/spool/lp:/bin/false
invscout:*:6:12::/var/adm/invscout:/usr/bin/ksh
snapp:*:200:13:snapp login user:/usr/sbin/snapp:/usr/sbin/snappd
ipsec:*:201:1::/etc/ipsec:/usr/bin/ksh
nuucp:*:7:5:uucp login user:/var/spool/uucppublic:/usr/sbin/uucp/uucico
pconsole:*:8:0::/var/adm/pconsole:/usr/bin/ksh
esaadmin:*:10:0::/var/esa:/usr/bin/ksh
sshd:*:206:201::/var/empty:/usr/bin/ksh
atc:!:8000:400:Adam Cormany,Sr UNIX Admin:/home/atc:/bin/ksh
amdc:!:8001:401:AMDC:/home/amdc:/bin/ksh
pac:!:8002:400:PAC,Jr UNIX Admin:/home/pac:/bin/ksh
atc2:!:8003:402:ATCv2:/home/atc2:/bin/ksh
可以看到这个文件使用冒号 (:) 作为分隔符,每个条目按以下格式包含 7 个字段(为了便于阅读,在分隔符前后添加了空格):
Username : Password Flag : UID : GID : GECOS : Home : Shell/Command
下面逐一解释这些字段:
Username。这是与用户账户相关联的登录名/用户名。
Password Flag。这个字段因 UNIX 和 Linux 的风格而异。在 AIX 上,第二个字段可以包含两个字符之一:! 或 *。如果显示 !,那么已经为此用户设置了密码。如果还没有设置密码,就会出现 *。密码本身存储在 /etc/security/passwd 中。
UID。User Identifier (UID) 是用户的数字标识符。
GID。Group Identifier (GID) 与 UID 相似,但是它与组相关联。GID 在 /etc/group 中定义。
GECOS。General Electric Comprehensive Operating System (GECOS) 信息存储在第五个字段中。这里存储用户的姓名、电话号码和其他一般个人信息。
Home。这是用户的主目录。
Shell/Command。通常情况下,最后一个字段包含在用户登录时启动的 shell。管理员也可以通过修改这个字段执行其他命令而不是 shell(例如 /bin/false),从而限制访问。
/etc/security/.profile
/etc/security/.profile 文件可以节省宝贵的时间和减少麻烦。在使用 mkuser 命令创建用户时,执行 /usr/lib/security/mkuser.sys 脚本。这个脚本创建用户的目录,设置正确的权限,“创建” 用户的 .profile。mkuser.sys 脚本实际上是把 /etc/security/.profile 文件复制到新用户的主目录中。
如果您正在构建新系统,或者一个新部门有 100 名员工需要在系统上建立账户,那么一定要先修改 /etc/security/.profile 文件,然后再开始创建用户账户。如果已经创建了账户,然后意识到需要对某个变量或其他设置做简单的修改,就不得不手工修改每个用户的 profile。可以使用脚本简化这个过程,但是如果提前修改了 /etc/security/.profile,会简单得多。
export PATH
if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG"# operation, the Shell checks
fi # periodically.
/etc/security/limits
/etc/security/limits 文件包含所有 ulimit,即用户的系统资源限制。表 1 列出 /etc/security/limits 文件中的字段及其用途。
表 1. /etc/security/limits 中的字段
软限制
硬限制
说明
fsizefsize_hard用户可以创建的文件的大小
corecore_hard用户可以创建的核心文件的大小
cpucpu_hard允许的系统时间量
datadata_hard进程数据段的大小
stackstack_hard进程堆栈段的大小
rssrss_hard允许的物理内存量
nofilesnofiles_hard同时打开的文件描述符数量
nprocnproc_hard同时运行的进程数量
软限制和硬限制的区别是什么?在最大值(硬限制)范围内,用户或应用程序可以动态地修改软限制。硬限制 就是参数可以设置的最大值。如果把参数设置为数字值太困难(例如,如果开发人员不知道程序将使用的内存量或它需要打开的文件数量),那么可以把参数设置为 -1,这表示无限制。
但是,不必为每个用户设置所有 ulimit。/etc/security/limits 文件包含一个 default 部分,它为每个用户定义一组标准值,如果用户没有设置定制的值,就会使用这些值。如果 default 部分不存在,系统会设置预先确定的限制。
IBM 的默认值如下:
* AttributeValue
* ======================
* fsize_hardset to fsize
* cpu_hard set to cpu
* core_hard -1
* data_hard -1
* stack_hard 8388608
* rss_hard -1
* nofiles_hard -1
清单 3 给出一个 /etc/security/limits 文件示例。
清单 3. /etc/security/limits 文件示例
default:
fsize = 4194303
core = 16384
cpu = -1
data = 262144
rss = 65536
stack = 65536
pac:
fsize = 131072
fsize_hard = 262144
core = 262144
假设用户 “pac” 是一位初级 UNIX 管理员,他的软限制值 fsize 由 default 部分的 4,194,303 降低到 131,072;但是,允许他在需要时把这个值增加到 262,144。另外,pac 经常把自己的程序弄坏。因此,把他的 core ulimit 增加到 262,144。
/etc/security/passwd
/etc/security/passwd 文件包含 AIX 用户的密码信息。在这个文件中,每个用户有三个字段:
password。加密的密码。
注意:如果这个字段只包含星号 (*),那么账户被锁定,直到设置密码为止。
lastupdate。最后一次更新密码的时间(系统纪元以来的秒数)。
flags。对修改用户密码的限制。可以设置三个标志:
ADMIN。如果设置,那么只有根用户可以修改用户的密码。
ADMCHG。如果设置,那么在用户下一次登录或执行 su 时提示修改密码。
NOCHECK。如果设置,那么忽略 /etc/security/user 中的任何其他限制。
清单 4 提供一个 /etc/security/password 文件示例。
清单 4. /etc/security/password 文件示例
amdc:
password = oBQaUkPkUryCY
lastupdate = 1243972006
flags = ADMCHG
在这个示例中,用户 “amdc” 的密码是在 2009 年 6 月 2 日星期二 15:46:46 EDT 设置的。当用户下一次登录或执行 su 时,会提示修改密码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)