AIX 用户组和目录文件权限及安全(有修改)

更新时间:2024-01-26 03:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

AIX 用户权限管理

来自: 推动者社区 用户管理和用户

1. 用户管理概念

用户账号:每个用户账号都有唯一的用户名、用户id和口令;文件所有者依据用户id判定;文件所有者一般为创建文件的用户,但root用户可以改变一个文件的所有者;固定用户:root为超级用户,adm、adm、 bin……..大多数系统文件的所有者,但不能用这些用户登录。 用户组:需要访问同一文件或执行相同功能的多个用户可放置到一个用户组,文件所有者组给了针对文件所有者更多的控制;

固有用户组:system,管理者组;staff普通用户组!AIX将用户分为root用户、管理型用户和组、普通用户和组三个层次。

基本的系统安全机制是基于用户账号的。每当用户登录后,系统就使用其用户id号作为检验用户请求权限的唯一标准;拥有创建文件的那个进程的用户id,就是被创建文件初始的所有者id,除了文件所有者root,任何其他用户不能改变文件所有者;需要共享对一组文件的访问的多咯用户可放置在一个用户组中,一个用户可属于多个用户组,每个用户组有唯一的用户组名和用户组id,当文件创建时,拥有创建文件的那个进程的用户所在的主用户组,就是被创建文件的所有者组 id。

如无特殊需求,锁定与设备运行、维护等工作无关的账号,除root外的系统初始帐户都需要锁定,包括如下账户:

deamon,bin,sys,adm,uucp, pconsole,nuucp,guest,nobody,lpd, esaadmin,lp,sshd,snapp, ipsec, invscout。

锁定方法如下:

# chuser account_locked=TRUE username 给用户加锁 检查方法:

lsuser -c -a account_locked login rlogin ALL | sed '/^#.*/d' | tr ':' '\\011' 例子

# lsuser -c -a account_locked login rlogin ALL | sed '/^#.*/d' | tr ':' '\\011' root false true true daemon false true true bin false true true sys false true true adm false true true uucp false false false guest false true true nobody false true true lpd false true true lp false true true

invscout false true true snapp false true false ipsec false true true nuucp false true true

pconsole false false true esaadmin false false false sshd true false false nrpadm false true true oranrp false true true sapadm false true true 禁用lpd用户

# chuser account_locked=true lpd 查看

# lsuser -c -a account_locked login rlogin ALL | sed '/^#.*/d' | tr ':' '\\011' root false true true daemon false true true bin false true true sys false true true adm false true true uucp false false false guest false true true nobody false true true lpd true true true lp false true true

invscout false true true snapp false true false ipsec false true true nuucp false true true

pconsole false false true esaadmin false false false sshd true false false

# pwdadm -q sapadm sapadm:

lastupdate = 1453417902 flags = ADMCHG

2. 用户组

一个用户组包含一个或多个用户,每个用户都必须属于至少一个用户组,一个用户可属于多咯用户组,可以使用groups 或setgroups命令查看用户所属的组;建立用户组以便组织并区分用户,是系统管理的重要组成部分,它与系统安全策略密切相关;组管理员拥有增加、删除组中用户和组管理员的权限,

有三种类型的用户组:

自建用户组,根据用户情况和安全策略建立的用户组;

系统管理员组,system,这个组的成员可以执行一些系统管理任务;

系统定义的组:有若干个系统定义的固有用户组,某些只是为系统所有,不应当随意为其添加用户,例如,bin,sys等等;

所有非系统管理员组成员的用户属于staff组;security组成员可以执行部分安全安全性管理的任务。

3. 用户组层次

属于系统管理员组或系统定义组的用户可以执行某些系统管理任务,系统固有组有:system,可对标准的软硬件进行配置和维护工作;printq,可管理打印队列,enable、disable、qadm、qpri等等;security:可进行用户口令和限制管理,mkuser、rmuser等;adm,可进行系统监视工作,性能监视、统计等等;staff,所有新用户的默认组。

为了保护重要的用户和用户组不被security组成员任意修改,aix提供了admin用户和admin组,只有root才能增删改admin用户和admin组,系统中任何用户都可被root设为admin用户,无论其属于哪个组, #cat /etc/security/user User1:

Admin=true

4. 控制root访问

限制root登录,系统管理员必须按照不公开的时间表定期更改root口令,对不同的系统指定不同的root口令,为每个系统管理员建立一个自己的账号,执行系统管理任务时,首先用自己的账号登录,然后用su命令切换到root用户,这可以为日后清理留下审计记录,root的path环境变量设置不能危机系统安全;root口令要严格保密,只让尽量少的人知道,root用户的path环境变量不仅被以root登录的用户所用,很多系统内部功能都使用它,所以必须保证root用户的path环境变量设置不危及系统安全。

Su 命令

Su命令使一个用户切换到另一个用户账号,su会创建一个新的shell进程;如果su命令带上“-“参数(前后都有空格),用户环境也被切换, $ cd /tmp $su – root #pwd /

Su命令以指定的用户id运行一个子shell,如果不指定用户名参数,su默认root,从root切换到其他用户不用回答口令,否则系统提示输入要切换的用户的口令,结束一个su会话,可以在命令行中输入exit命令或按ctrl+d键。

5. 安全性记录文件

/var/adm/sulog:记录每次su命令的执行,这是个文本文件,是用任何观看文本文件的命令查看;

/var/adm/wtmp和/etc/utmp:记录用户的成功登录,使用who命令查看;

/etc/security/failedlogin:记录所有不成功的登录尝试,如果用户名不存在记录为unknown项目,使用who命令查看。

6. 文件和目录权限

每个文件和目录有3组权限,分别为所有者权限、所有者组权限、和其他用户权限,每个组权限都有三个可设定的许可:r、w、x。

修改方式位和指定文件或目录的扩展访问控制表(ACL):chmod 775 file1 修改与文件关联的所有者或组:chown user1 file1 如下 # chown –R oracle:oinstall /u01/oracle

修改文件或目录的组所有权:chgrp group1 file1

7. 安全性相关文件,包含用户属性和访问控制的文件

/var/adm/sulog 记录每次su命令的执行

/var/adm/wtmp 记录用户的成功登录,使用who命令查看 /etc/utmp 记录用户的成功登录,使用who命令查看

/etc/security/failedlogin 记录所有不成功的登录尝试,使用who命令查看

/etc/passwd 文件包含有合法用户列表,包括用户id、主用户组、宿主目录、默认登录shell等;

/etc/group 文件包含合法用户组列表,包括用户组id和成员用户名; /etc/security/passwd 文件含有加密形式的用户口令和口令更新信息; /etc/security/user 文件含有用户属性信息; /etc/security/group 文件含有用户组属性;

/etc/security/limits 文件含有对用户的进程资源限制值;

/etc/security/environ 文件含有用户的环境变量,不过这个文件很少用到;

/etc/security/login.cfg 文件含有对登录程序的配置信息,录入对某个端口的登录限制; /usr/lib/security/mkuser.default新用户的默认设置存放文件

8. 用户环境初始化过程

登录:

/etc/profile:一个shell脚本,控制整个系统的默认环境变量,例如:term、mailmsg等; /etc/enviroment:控制所有进程的基本环境,例如:home、lang、tz、nlspath等; /$HOME/.profile:每个用户自由的环境变量设置文件,位于用户的宿主目录中; 安全和用户管理菜单:smit security

如果不指定用户id,系统将自动分配一个新的id,admin用户id从7开始,而普通用户从200开始;创建用户过程中,系统运行shell脚本/etc /lib/security/mkuser.sys,它建立用户宿主目录,以及$home/.profile文件,用户刚刚创建时,其账号状态是 disable的(即

/etc/passwd中相应条目的口令标志是”*”,要激活它,必须为其设置口令,可以通过passwd 命令或smit菜单完成。完成后就变成”!”

创建用户账号,不会象创建用户自动创建宿主目录,删除用户时不会自动删除宿主目录,要手工删除。

设置用户口令:在设置口令前,新用户账号不可用;修改用户口令,passwd username:使用这个命令,root用户可以修改任何用户的口令,其他用户只能修改自己的口令。

9. 单元小结

每个用户在aix系统中都必须属于一个用户组,可以属于多个,如果是这样,必须为其指定一个主用户组;

属于系统固有用户组的用户,根据其所在组的不同,可以执行某一类系统管理任务; 不要使用root用户进行普通的操作,并且应当密切监视多root用户的使用;

文件和目录所有者和3组许可权,使用chmod、chown和chgrp命令可以修改它们; 系统将包含用户和用户组信息的ascII文本文件放置在目录/etc和/etc/security中; 用户、用户组及其属性可以使用smit创建、修改和删除。

10.实验

测试A用户发起的进程,B用户能否kill掉不?

新建用户testdb,主组加入到bin组,副组加入到system

由用户wanggx发去topas命令,用testdb用户去kill,结果报没权限,然后将testdb用户主组更改为system后,仍然没有权限。

用wanggx用户执行while sleep 2; do lsvg rootvg|grep -i 'stale' > done;

再测试用testdb用户进程kill,还是报权限不够

root@terptest:/> lsuser -c -a id pgrp groups home umask ALL | sed '/^#.*/d' | tr ':' '\\011' root 0 system system,bin,sys,security,cron,audit,lp,sapinst / 22 daemon 1 staff staff /etc 22

bin 2 bin bin,sys,adm /bin 22 sys 3 sys sys /usr/sys 22 adm 4 adm adm /var/adm 22 uucp 5 uucp uucp /usr/lib/uucp 22 guest 100 usr usr /home/guest 22 nobody 4294967294 nobody nobody / 22 lpd 9 nobody nobody / 22

lp 11 lp lp,printq /var/spool/lp 22

invscout 6 invscout invscout /var/adm/invscout 22 snapp 200 snapp snapp /usr/sbin/snapp 22 ipsec 201 staff staff /etc/ipsec 22

nuucp 7 uucp uucp /var/spool/uucppublic 22 wanggx 8 system system /home/wanggx 22

本文来源:https://www.bwwdw.com/article/glzw.html

Top