目录
账户为分三类:
超级用户(管理员):享有最高权限,具备系统中的所有权限(一般为root),UID为0
系统用户 :别称“伪用户”,无法登录系统,其主要作用是支撑系统运行,方便系统管理。uid号码小于1000.
普通用户:有权限限制,只能对自己目录下的文件进行操作,可以登录系统。uid 大于1000,登陆shell是bin/bash。
任何一个账户在创建的同时都会在系统里面创建一个同名的组。
系统上的每个进程(运行的程序)都是作为特定用户运行的
每个文件是由一个特定的用户拥有
访问文件和目录受到用户的限制
一.添加用户
useradd [name]
-u
为用户设定 UID。
-g 为用户指定初始用户组
-G 为用户指定附加用户组
-M 选项表示系统在创建新用户时不会创建主目录
-s 为用户指定默认的 shell
-d 为创建的用户设置 home 目录
-p 表示为新增用户设置密码
-c 为新用户添加注释。通常用于添加用户的全名或其他详细信息。
-e 设置账户的过期日期。日期格式为YYYY-MM-DD
。
-f 设置用户账户密码过期后多少天内未登录,该账户将被禁用
注意:使用useradd一次只能创建一个用户,且普通用户之间不能切换,只可用root用户切换。
二.修改用户信息
usermod [name]
-a, --append
:与-G
选项一起使用,将用户添加到补充的组中而不删除用户从其他组的会员资格。
-c, --comment
:更改用户的注释信息,这通常是用户的全名。
-d, --home HOME_DIR
:更改用户的主目录。
-e, --expiredate EXPIRE_DATE
:以YYYY-MM-DD
格式设置帐户的过期日期。
-g, --gid GROUP
:更改用户的初始登陆组。
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]
:将用户添加到其他一组或多组,单独使用会覆盖原有的附属组。
-l, --login NEW_LOGIN
:更改用户名(登录名)。
-L, --lock
:锁定用户的密码,使用户无法登录。
-m, --move-home
:如果使用了-d
选项,那么使用这个选项会将用户的家目录内容移到新的位置。
-p, --password PASSWORD
:更改用户的密码。
-s, --shell SHELL
:更改用户的登录shell。
-u, --uid UID
:更改用户的UID(用户ID)。
-U, --unlock
:解锁用户的密码,使用户可以登录。
注意:usermod
命令需要超级用户(root)权限才能运行。
三.删除用户
userdel [name]
-r
或 --remove
:使用这个选项可以删除用户的主目录以及该目录下的所有文件和子目录。它还会尝试删除邮件邮箱。
-f
或 --force
:这个选项会强制删除用户,即使用户仍然在登录。它还会强制修改用户组文件,即使文件不能被打开。
注意:userdel
命令需要超级用户(root)权限才能运行。
userdel username
作用:删除指定的用户帐户。
行为:该命令仅删除用户帐户本身,包括其在 /etc/passwd 中的条目和相关的组信息(如果设置了主组)。
然而,用户的主目录、邮件文件和其他个人数据不会被删除。
应用场景:在需要保留用户数据时,例如迁移或备份数据。
userdel -r username
作用:删除指定的用户帐户,并递归删除用户的主目录和相关文件。
行为:与 userdel 不同,该命令在删除用户帐户的同时,还会删除用户的主目录以及可能存在的邮件文件等。
这样可以确保与用户相关的所有个人数据都被移除。
应用场景:在删除用户并确保清理所有与该用户相关的个人数据时。
四.密码
passwd [name]
-l
或 --lock
:锁定用户账号,使其不能登录。这个操作并不会改变密码,而是在密码之前加上一个不可能匹配的值。
-u
或 --unlock
:解锁已锁定的用户账号,使其能够登录。
-d
或 --delete
:将用户的密码删除,使得用户可以无密码登录。
-e
或 --expire
:立即使用户的密码失效,迫使用户在下次登录时更改密码。
-S
或 --status
:显示用户的密码状态,包括它是否被锁定,最后一次更改日期,密码到期日期等信息。
注意:普通用户只能给自己修改密码并且必须为强密码,而且必须提供原密码;使用passwd根据作用对象需要root权限
五.新建组
groupadd [name]
-g
或--gid
:手动指定新建用户组的组ID(gid)。如果没有指定,系统会自动分配一个唯一的gid。
-K
或--key
:覆盖/etc/login.defs配置文件中的默认值。
-o
或--non-unique
:允许创建gid相同的用户组。
-p
或--password
:为用户组设置密码。
-r
或--system
:创建一个新的系统用户组。
六.删除组
groupdel
groupdel [name]
注意:执行删除用户组的命令之前,一定要确认该组已不再被任何用户作为默认组,并且没有任何进程是以该组的组ID运行。否则,该操作会失败,并可能会导致系统不稳定或数据丢失。
七.gpasswd与
groupmod
gpasswd
命令主要用于用户组的密码和成员管理。你可以使用它来更改用户组的密码,或者向用户组中添加或删除用户。它主要修改/etc/group
和/etc/gshadow
两个文件。
常用的gpasswd
选项包括:
-a
或 --add
: 将用户添加到指定的组。
-M :同时将多个用户添加到指定的组,多个用户用逗号分隔。
-d
或 --delete
:从指定的组中删除用户。
-r
或 --remove-password
:移除指定组的密码。
groupmod
命令主要用于修改现有用户组的属性,比如用户组的名称和组ID。它主要修改/etc/group
和/etc/gshadow
两个文件。
常用的groupmod
选项包括:
-n
或 --new-name
:用于更改用户组的名称。
-g
或 --gid
:用于更改用户组的gid。
总的来说,gpasswd
和groupmod
都是管理用户组的工具,但gpasswd
更加侧重于群组内部的管理,如密码和成员管理,而groupmod
则更侧重于群组本身的属性修改,如群组名和GID的修改。
八.文件路径
/etc/group ----->查看组的文件
/etc/passwd ---->查看账户是否存在的文件
/home/ ---->用户的家目录,每创建一个用户会在/home目录下面创建对应的家目录
/etc/shadow --->用户的密码文件
group中分隔符信息介绍:
第一列:这是组的名称。这个名字是唯一的,每个组都有一个不同的名字。
第二列:这是组的密码。在大多数系统中,这个字段通常是不使用的,或者会显示为一个x字符。密码实际上是存储在/etc/gshadow文件中。
第三列:这是组的识别码,或者说是组ID。就像用户ID一样,组ID也是一个用于识别组的数字。
第四列:这是属于该组的用户列表。用户名以逗号 (,) 分隔。
passwd中分隔符信息介绍:
第一列:用户名
第二列:密码
第三列:用户标识号--->(uid)是一个整数,系统内部用它来标识用户。通常用户标识号的取值范围是0~65535。0是超级用户root的标识号
第四列:gid
第五列:描述信息。
第六列:家目录
第七列:是用户登陆到界面的第一个命令,开启一个shell。登陆shell
1.判断用户是否存在:
[root@localhost ~]# id user01 //查看用户的uid、gid、和所在组
uid=1001(user01) gid=1003(user01) groups=1003(user01)
主属组 附属组
uid 系统用来识别账户的user identify
gid 系统用来识别组的group identify
2.查看现在所使用的的账户:
[root@localhost ~]# whoami 查看我现在所使用的账户