注:文档有点长,前面部分说的是一些比较概念的东西,看命令的话可以直接看后面部分。
一、用户账号和组账号概述
与Windows操作系统对比,Linux系统中的用户账号和组账号的作用在本质上是一样的,同样都是基于用户身份来控制对资源的访问,只不过在表现形式及个别细节方面存在些许差异。
1.用户账号:
sys用户拥有dba(角色),sysdba(系统权限),sysoper(系统权限)角色或权限,是oracle权限最高的用户。角色、系统权限和包权限设置不当是专门针对低权限数据库用户而言,错误的设置可能导致低权限用户利用特定角色、系统权限或包把自己提权到 dba 或其他默认高权限用户。是指各级精防机构中负责建立系统用户账号、分配权限、履行用户管理职责的唯一责任人,使用《用户认证与授权管理系统》(为系统的一个配套用户管理系统)为相关用户开设账号并分配权限。
基本组(私有组):每个用户账号至少属于一个组,这个组称为该用户的基本组。附加组(公有组):若该用户还包括在其他的组中,则这些组称为该用户的附加组。3.UID和GID
UID(User IDentity,用户标识号):Linux系统中每一个用户账号都有一个数字形式的身份标记,称为UID。(唯一的) root用户的UID为固定值0
程序用户账号的UID默认为1~499
普通用户默认为500~60000
GID(Group IDentitylinux命令,组标识号):每一个组账号也有一个数字形式的身份标记,称为GID。(唯一的) Root组账号的GID为固定值0
程序组账号默认为1~499
普通用户组默认为500~60000
二、用户账号管理
1.用户账号文件
与用户账号相关的配置文件主要有两个,分别是/etc/passwd、/etc/shadow,每一行对应一个用户账号,不同配置项之间用冒号“:”分隔。
1) /etc/passwd:保存用户名称、宿主目录、登录shell等基本信息
示例:
head和tail的命令可以点击Linux基础命令(五)查看
各个配置字段的含义如下:
注:所有用户都可以访问passwd文件中的内容,但只有root用户才能更改
2)%20/etc/shadow:保存用户密码、账号有效期等信息
示例:
上图各配置字段(用冒号“:”隔开)的含义如下:
第一字段:用户账号名称
第二字段:使用MD5加密的密码子串信息,当为“*”或“!!”时表示此用户不能登录到系统,若该字段内容为空,则该用户无需密码即可登录
第三字段:上次修改密码的时间,表示从1970年01月01日算起到最近一次修改密码时间隔的天数。
第四字段:密码的最短有效天数,默认为0,表示不进行限制
第五字段:密码的最长有效天数,默认为99999,表示不进行限制
第六字段:提前多少天警告用户密码将过期,默认值为7
第七字段:在密码过期之后多少天内禁用此用户
第八字段:账号失效时间,此字段指定了用户作废的天数(从1970年01月01日起计算),默认值为空,表示账号永久可用
第九字段:保留字段,目前没有特殊用途
3)%20用户账户的初始配置文件
文件来源:新建用户账号时,从%20/etc/skel%20目录中复制而来,基本上都是隐藏文件。
常用的用户初始配置文件:~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行
2.管理用户账号的命令
1) useradd命令——添加用户账号
命令格式:useradd [选项] 用户名