账号和权限管理

学习目标:

一、用户账号和组账号概述
二、用户账号管理
三、组账号管理
四、查询账号信息

学习内容:

一、用户账号和组账号概述
1.用户账号
超级用户root:即root用户,类似于Windows系统中的Administrator用户,只有当进行系统管理、维护任务时才建议使用root用户登录系统,非执行管理任务时不建议使用root用户登录系统,日常事务处理建议只使用普通用户账户。
普通用户:普通用户账号需要由root用户或其他管理员用户创建,拥有的权限受到一定限制,普通用户帐号一般只在用户自己的宿主目录中有完全权限。
程序用户:在安装linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些账号一般不允许登录到系统,而仅用于用于维持系统或某个程序的正常运行,一般不允许登录到系统。例如:bin、daemon、ftp、mail等
2.组账号
基本组(私有组)
附加组(公共组)
3.UID和GID
root用户的UID的固定值为0 。
程序用户使用的UID号在1~499之间
普通用户/组使用的UID号在500~60000之间
二、用户账号管理

  1. /etc/passwd:保存用户名称、宿主目录、登录shell等基本信息(只有root用户可更改)
    内含七个字段:
    字段1:用户帐号的名称
    字段2:用户密码字串或者密码占位符“x”
    字段3:用户帐号的UID号
    字段4:所属基本组帐号的GID号
    字段5:用户全名
    字段6:宿主目录
    字段7:登录Shell信息
    /etc/shadow:保存用户的密码、账号有效期等信息。
    (影子文件)默认只有root用户能够读取文件中的内容,并且不允许root直接编辑该文件中的内容
    内含九个字段:
    字段1:用户帐号的名称
    字段2:加密的密码字串信息,说明, 1 1 1:加密算法是md5。 6 6 6:加密算法是sha512
    字段3:上次修改密码的时间(从1970年01月01日开始算到最近一次修改密码时间。以天数为单位)
    字段4:密码的最短有效天数,默认值为0
    字段5:密码的最长有效天数,默认值为99999
    字段6:提前多少天警告用户口令将过期,默认值为7
    字段7:在密码过期之后多少天禁用此用户
    字段8:帐号失效时间,默认值为空
    字段9:保留字段(未使用)
  2. 添加、修改、删除用户账号
    1)useradd命令,添加用户账户
    -u:指定 UID 标记号
    -d:指定宿主目录,缺省为 /home/用户名
    -e:指定帐号失效时间
    -g:指定用户的基本组名(或UID号)
    -G:指定用户的附加组名(或GID号)
    -M:不为用户建立并初始化宿主目录
    -s:指定用户的登录Shell
    2)passwd命令,为用户账号设置密码
    -d:清空用户的密码,使之无需密码即可登录
    -l:锁定用户帐号
    -S:查看用户帐号的状态(是否被锁定)
    -u:解锁用户帐号
    3)su命令,切换用户
    格式:su - 用户名
    4)usermod命令,修改用户账户
    -l:更改用户帐号的登录名称
    -L:锁定用户账户
    -U:解锁用户账户
    以下选项与useradd命令中的含义相同
    -u、-d、-e、-g、-G、-s
    5)userdel命令,删除用户账号
    3.用户账号的初始化配置文件
    添加一个新的用户账号后,useradd命令会在用户的宿主目录中建立一些初始配置文件。这些文件来自于账号模板目录/etc/skel,基本上都是隐藏文件,
    主要的用户初始配置文件
    ~/.bash_profile:用户每次登录时执行 局部配置文件 /etc/profile全局配置文件
    ~/.bashrc:每次进入新的Bash环境时执行(当然也包括登录系统)
    ~/.bash_logout:用户每次退出登录时执行
    用法:.bashrc文件中默认设置了一些命令别名。
    默认情况下,用户宿主目录下的初始配置文件只对当前用户有效,而全局配置文件对所有用户有效
    三、组账号管理
    1.组账号文件
    /etc/group:保存组帐号基本信息
    /etc/gshadow:保存组帐号的密码信息(但很少使用到)
    2.添加、管理、删除组账户
    groupadd命令:添加组账号
    gpasswd命令:设置组帐号密码(极少用)、添加/删除组成员
    -a:向组内添加一个用户
    -d:从组内删除一个用户成员
    -M:定义组成员列表,以逗号分隔
    四、查询账号信息
    id:查询用户身份标识
    groups:查询用户所属的组
    finger:查询用户帐号的详细信息
    格式:finger [用户名]
    users、w 、who:查询已登录到主机的用户信息

猜你喜欢

转载自blog.csdn.net/m0_53721407/article/details/113957918