本文共 2642 字,大约阅读时间需要 8 分钟。
在Linux系统中,用户管理是系统管理员日常工作中的重要环节。通过合理分配权限,我们可以实现对用户的精细化管理。本文将从文件和命令两个方面详细介绍Linux用户管理的实现方式。
在Linux系统中,用户信息主要存储在以下几个文件中:
/etc/passwd
这个文件存储了系统中用户的基础信息。每一行对应一个用户,每行包含七个字段,用冒号“:`”分隔。字段内容如下:username:x:UID:GID:comment:homedirectory:shell
其中:
username
:用户名x
:密码(实际密码存放在/etc/shadow
中)UID
:用户标识符,系统管理员为“0”,系统用户为“1-499”,普通用户为“500-65535”GID
:组标识符comment
:用户描述信息homedirectory
:用户家目录shell
:用户的shell环境/etc/shadow
这个文件存储了用户的加密密码及相关信息。每一行对应一个用户,每行包含九个字段,用冒号“:`”分隔。字段内容如下:username:encrypted password:D1:D2:D3:D4:D5:D6:D7
其中:
username
:用户名encrypted password
:经过加密的密码,默认使用MD5加密D1
:密码最近一次改变的时间(从1970年1月1日计算)D2
:密码的最短使用时间D3
:密码的最长使用时间D4
:密码过期前多天发送警告D5
:密码过期后多久账号被禁用D6
:账号禁用多久(从1970年1月1日计算)D7
:保留域/etc/group
这个文件存储了组的信息。每一行对应一个组,每行包含四个字段,用冒号“:`”分隔。字段内容如下:groupname:x:GID:username
其中:
groupname
:组名x
:组密码(实际密码存放在/etc/gshadow
中)GID
:组标识符username
:组中的用户名/etc/gshadow
这个文件存储了组密码及相关信息。每一行对应一个组,每行包含四个字段用冒号“:`”分隔。字段内容如下:groupname:encrypted password:admins:users
其中:
groupname
:组名encrypted password
:经过加密的组密码admins
:组管理员(用逗号分隔)users
:组成员(用逗号分隔)在Linux系统中,用户管理主要通过以下命令实现:
useradd
用于添加用户。命令格式为:useradd [options] username
常用选项:
-r
:添加系统用户(系统用户无家目录)-u
:指定UID-g
:指定GID(基本组必须存在)-c
:指定用户全名-d
:指定家目录-s
:指定shell-G
:指定附加组-M
:不创建家目录-m
:必须创建家目录usermod
用于修改用户信息。命令格式为:usermod [options] username
常用选项:
-u
:指定UID-g
:指定GID-G
:指定附加组-d
:指定家目录-s
:指定shell-l
:更改用户名-L
:锁定用户账号-U
:解锁用户账号-o
:允许重复用户名(需与-u
一起使用)passwd
用于设置或改变用户密码。命令格式为:passwd [options] username
常用选项:
-l
:上锁用户账号-u
:解锁用户账号-S
:通过管道设置密码userdel
用于删除用户。命令格式为:userdel [options] username
常用选项:
-r
:一并删除用户的家目录groupadd
用于添加组。命令格式为:groupadd [options] groupname
常用选项:
-g
:指定GID-r
:添加系统组groupmod
用于修改组信息。命令格式为:groupmod [options] groupname
常用选项:
-g
:指定GID-n
:修改组名gpasswd
用于设置组密码。命令格式为:gpasswd [options] groupname
选项包括指定管理员和组成员。
groupdel
用于删除组。命令格式为:groupdel groupname
chown
用于更改文件或目录的属主和属组。命令格式为:chown [options] owner:group file
常用选项:
-R
:递归修改--reference
:根据指定文件的权限修改chmod
用于更改文件或目录的权限。命令格式为:chmod [options] permissions file
常用选项:
-R
:递归修改--reference
:根据指定文件的权限修改id
用于查看用户的UID、GID及所属组的信息。命令格式为:id [options] username
常用选项:
-g
:显示用户所属组的GID-G
:显示用户所属附加组的GID-n
:显示用户或组的名称chfn
用于修改用户的详细信息,如全名和注释。chsh
用于修改用户的shell环境。要手动添加一个用户slackware
,其属组为slackware
,UID=5000,GID=5000,可以按照以下步骤操作:
创建组
打开/etc/group
文件,添加一行:slackware:x:5000:
然后保存文件。
创建用户
打开/etc/passwd
文件,添加一行:slackware:x:5000:5000:test user:/home/slackware:/bin/bash
然后保存文件。
生成密码
使用openssl passwd -1 -salt 12345678
生成MD5加密密码。设置密码
打开/etc/shadow
文件,添加一行:slackware:生成的密码:::::::
然后保存文件。
创建家目录
使用cp -r /etc/skel /home/slackware
创建用户的家目录。设置权限
使用chown -R slackware:slackware /home/slackware
设置目录权限。使用chmod -R go=slackware
设置文件权限。通过以上方法,可以手动添加并管理用户和组。
转载地址:http://tpkfk.baihongyu.com/