本文共 2661 字,大约阅读时间需要 8 分钟。
在Linux系统中,用户和组管理是系统管理员(root)最常用的操作之一。这篇文章将详细介绍Linux中常用的用户和组管理命令及其使用方法。
在Linux中,useradd
命令用于创建新用户账号。其基本格式如下:
[root@www ~]# useradd [-u UID] [-g 组名] [-G 组名] [-mM] [-d 路径] [-s shell] [-e YYYY-MM-DD] [-f天数] [-c 说明] username
-u UID
:指定用户的唯一标识符(UID)。未指定则系统分配一个。-g 组名
:指定用户所属的初始组。默认为100
(常见系统组)。-G 组名
:指定用户可加入的次要组。-mM
:选择是否创建用户主目录。-M
表示不创建,默认值为-m
(创建)。-d 路径
:指定用户的主目录绝对路径。默认为/home/username
。-s shell
:指定用户使用的shell。默认为/bin/bash
。-e YYYY-MM-DD
:指定用户账号失效日期,可留空。-f天数
:指定口令失效天数(用户不再能登录)。-c 说明
:指定用户的说明内容,存放在/etc/passwd
的第五栏。-u
和-g
可同时使用,为用户添加多个组成员资格。示例:
[root@www ~]# useradd vbird1[root@www ~]# ls -d /home/vbird1drwx------ 4 vbird1 vbird1 4096 Feb 25 09:38 /home/vbird1
默认创建用户时,会在/etc/passwd
、/etc/shadow
和/etc/group
生成记录。
usermod
命令用于修改用户信息,选项包括:
[root@www ~]# usermod [-c 说明] [-d 路径] [-g 组名] [-G 组名] [-L] [-s shell] [-u UID] [-L] username
-c 说明
:修改用户说明。-d 路径
:修改用户主目录。-g 组名
:修改用户的初始组。-G 组名
:修改用户的次要组成员资格。-S
:查看密码配置。-L
:冻结用户账号。示例:
[root@www ~]# usermod -g 100 -c "技术员" vbird2[root@www ~]# grep vbird2 /etc/passwdvbird2:x:505:505::/home/vbird2:/bin/bash
userdel
命令用于删除用户账号及相关数据,选项包括:
[root@www ~]# userdel [-r] username
-r
:删除用户的主目录。示例:
[root@www ~]# userdel -r vbird2
执行该命令会提示确认,系统会提示输入密码,并完成用户及目录的删除。
passwd
命令用于修改用户密码。默认只-root用户可使用,查看选项:
[root@www ~]# passwd [--stdin] [-l] [-u] [-S] [-n 天数] [-x 天数] [-w 天数] [-i 日期] username
--stdin
:从标准输入读取密码。-l
:禁用用户账号。-u
:解除锁定。-S
:显示用户密码信息。-n
:设置锁定天数。-x
:设置必须更动口令的天数。-w
:设置过期前的警告天数。-i
:设置失效日期。示例:
[root@www ~]# echo "abc543CC" | passwd --stdin vbird2[root@www ~]# passwd vbird2
在第一次输入时,系统会提示“新 UNIX 密码:”,建议输入一个复杂的密码。此外,系统会校验密码长度是否符合要求。
Linux中的用户与组相互关联。默认情况下,用户会被创建对应的组记录在/etc/group
和/etc/shadow
中。管理员可使用groupadd
、groupmod
和groupdel
命令管理组。
groupadd
命令用于创建组,格式如下:
[root@www ~]# groupadd [-g GID] [-r] groupname
-g GID
:指定组的GID。-r
:创建可登录组。示例:
[root@www ~]# groupadd group1[root@www ~]# grep group1 /etc/groupgroup1:x:702:
默认组的GID由系统分配,范围通常在500及以上。
groupmod
命令用于修改组信息,选项包括:
[root@www ~]# groupmod [-g GID] [-n 组名] groupname
-g GID
:修改组的GID。-n 组名
:修改组名。示例:
[root@www ~]# groupmod -g 201 -n mygroup group1[root@www ~]# grep mygroup /etc/groupmygroup:x:201:
groupdel
命令用于删除组:
[root@www ~]# groupdel groupname
示例:
[root@www ~]# groupdel mygroup
组管理员可通过gpasswd
命令管理组密码及管理员权限:
[root@www ~]# gpasswd [-A user1,...] [-M user3,...] [-r] groupname
-A user1,...
:将用户1添加为组管理员。-M user3,...
:将用户3作为组主管。-r
:移除组密码。示例:
[root@www ~]# gpasswd -A vbird1 testgroup[root@www ~]# gpasswd -A vbird3 testgroup[root@www ~]# grep testgroup /etc/grouptestgroup:x:702:vbird1,vbird3
通过以上命令,管理员可灵活管理用户和组,确保系统运行的安全性和规范性。
转载地址:http://hqwfk.baihongyu.com/