目录
- 目录
- 概述
- 关于用户组的配置文件
- 关于用户的配置文件
- 用户和用户组的基本命令
- 用户组操作
- 用户操作
- 用户和用户组的进阶命令
- 主要组与附属组
- 其他命令
概述
使用操作系统的人,我们称之为用户。在Linux中允许多个不同用户同时登录同一个Linux系统并进行使用。而拥有相同系统权限的一组用户,称为一个用户组。下面将讲解一下用户或用户组相关的配置文件。
关于用户组的配置文件
-
/etc/group
存储当前系统中所有用户组信息,如:
- Group: x : 123 :user1,user2,user3
- 组名称:组密码占位符:组编号:组中用户名列表
注意:
组中用户名列表为空时,不代表当前组没有用户。在Linux中如果该组只有一个用户且用户名同组名一样时用户名在“组中用户名列表”中可以省略。
规定:
(1)root用户组的编号为0;
(2)1~499的编号是系统预留给安装在系统中的软件或服务的;
(3)用户创建的用户组的编号将会从500开始;
(4)组密码占位符都用x表示。(为什么呢?)
-
/etc/gshadow
存储当前系统中用户组的密码信息,如:
- Group: * : :user1,user2,user3
- 组名称:组密码:组管理者:组中用户名列表
其中:
(1)组密码为*或者!或者为空时,表示组密码为空(没有设置)。
(2)如果组管理者为空,表示该组没有管理者,该组中的用户均可管理该用户组。一般情况下都是空的。
关于用户的配置文件
-
/etc/passwd
存储当前系统中所有用户的信息,如:
- user : x : 123 : 456 : xxxx :/home/user:/bin/bash
- 用户名:密码占位符:用户编号:用户组编号:用户注释信息: 用户主目录 :shell类型
-
/etc/shadow
存储当前系统中所有用户的密码信息,如:
root:$6$zWv7m5tAJF3Q4LwC$R.4pdIC4vGBzqASdDUQU6IP3jHLWJEPwVrIqkKuGns9nVArbedRxC0ePprGVwjSlJNgsBfG35TiLdQzv8RPRw0:::::::
- 用户名:被加密的密码:……
用户和用户组的基本命令
用户组操作
-
groupadd 组名
:添加一个新的用户组。如:
groupadd gg
-
groupadd -g 组编号 组名
:添加一个新的用户组,并指定组编号。如:
groupadd -g 888 group8
-
groupmod -n 新的组名 旧的组名
:修改用户组的名称。如:
groupmod -n gg1 gg
-
groupmod -g 新的组编号 组名
:修改某个组的组编号。如:
groupmod -g 666 gg1
-
groupdel 组名
:删除用户组。如:(当然,删除用户组之前,要求我们先删除该用户组中的所有用户,否则这些用户在后续的操作中将受到一些权限的影响。)
groupdel gg1
用户操作
-
useradd
命令,将某个用户添加到某个用户组中。如:
useradd -g group1 user1 // 表示将用户user1添加到group1中,系统默认为该用户创建家目录为/home/用户名,这里为/home/user1。
useradd -d /home/mydocu user2 // 表示自动创建一个与用户名同名的用户组,且添加用户user2到组中,并指定该用户的家目录为/home/mydocu。
-
usermod -c 注释 用户名
:为某个用户添加注释。如:
usermod -c "这是注释" user1
-
usermod -l 新的用户名称 旧的用户名称
:修改某个用户的用户名称。如:
usermod -l newname user1
-
usermod -d home目录 用户名
:修改某个用户的home目录。如:
usermod -d /home/newname newname
-
usermod -g 组名 用户名
:切换用户到其他用户组。如:
usermod -g group2 user1
-
userdel 用户名
:删除用户,但是不会删除该用户的home目录,如果需要的话,则需要加入-r
的选项。如:
userdel user1
userdel -r user1
- 暂时禁止普通用户登录服务器(除root用户外),操作如下:
touch /etc/nologin // 文件内容无关紧要
用户和用户组的进阶命令
-
passwd -l 用户名
:锁定账号。 -
passwd -u 用户名
:解锁账号。 -
passwd -d 用户名
:清除某个用户的密码。
主要组与附属组
用户可以同时属于多个组,其中一个主要组,多个附属组。
-
gpasswd -a 用户名 附属组名[,附属组名1,附属组名2,....]
:给用户添加一个或多个附属组。 -
gpasswd -d 用户名 附属组名
:将用户从某个附属组中删除。 -
newgrp 组名
:临时切换附属组。(这时需要某个用户登录,进行组的切换操作。对于root用户而言,该意义没有什么意义。在切换时如果附属组设有组密码,则要求用户输入组密码。)
(未完待续) - 此前添加用户时可以指定所属的用户组,那么可否也同时指定附属组呢?
useradd -g 主要组名 -G 附属组[,附属组名1,附属组名2,....] 用户名
。 -
gpasswd 组名
:设置组密码。
其他命令
-
su [用户名]
:切换用户身份,不指定用户名时表示切换到root用户。切换到其他用户时需要目标用户的密码。 -
whoami
:显示当前登录的用户名。 -
id 用户名
:显示指定用户信息,包括用户编号、用户名;主要组编号及名称,附属组列表。 -
groups 用户名
:显示某一用户所在的所有组。 -
chfn 用户名
:设置用户资料,依次输入用户资料。 -
finger 用户名
:显示用户详细资料。(这个命令可能找不到~)