Linux操作系统是一种基于UNIX的多用户、多任务的操作系统。在Linux系统中,用户和用户组的管理是非常重要的,因为它关系到系统安全和多用户环境下的资源共享。本文将详细介绍Linux中用户和用户组管理的相关命令,帮助用户更好地理解和管理Linux系统。
1. 用户管理命令
1.1 添加用户
useradd
:添加新用户- 语法:
useradd [选项] 用户名
- 示例:
useradd -m john
添加一个新用户john,并为其创建家目录。
- 语法:
系统将创建一个新用户john, 该用户的 Home 目录为/home/john
useradd 命令的参数较多 常用的组合为
useradd 用户名 -g 组名 –G 组名 -d Home 目录名 -p 密码
其中 -g 指定该用户的首要组
-G 指定该用户的次要组
-d 指定该用户的 Home 目录
-p 指定该用户的密码
如输入以下命令
useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系统将创建一个用户 oracle oracle 用户的首要组为 oinstall 次要组为 dba
Home 目录为/home/oracle 密码为 ora123
1.2 删除用户
userdel
:删除用户账号- 语法:
userdel [选项] 用户名
- 示例:
userdel -r john
删除用户john,并将其家目录一并删除。
- 语法:
1.3 修改用户信息
usermod
:修改用户信息- 语法:
usermod [选项] 用户名
- 示例:
usermod -G developers john
将用户john添加到developers组。
- 语法:
1.4 查看用户信息
-
id
:显示用户的用户ID、组ID及所属的用户组- 语法:
id 用户名
- 示例:
id john
显示用户john的用户ID、组ID及所属的用户组信息。
- 语法:
-
finger
:显示用户的详细信息- 语法:
finger [选项] 用户名
- 示例:
finger john
显示用户john的详细信息。
- 语法:
2. 用户组管理命令
2.1 添加用户组
groupadd
:添加新的用户组- 语法:
groupadd [选项] 组名
- 示例:
groupadd developers
添加一个名为developers的新组。
- 语法:
2.2 删除用户组
groupdel
:删除用户组- 语法:
groupdel 组名
- 示例:
groupdel developers
删除名为developers的用户组。
- 语法:
2.3 修改用户组信息
groupmod
:修改用户组信息- 语法:
groupmod [选项] 组名
- 示例:
groupmod -n newname developers
将developers组重命名为newname组。
- 语法:
2.4 查看用户组信息
-
getent
:获取条目信息- 语法:
getent group 组名
- 示例:
getent group developers
获取developers组的信息。
- 语法:
-
groups
:显示用户所属的所有用户组- 语法:
groups 用户名
- 示例:
groups john
显示用户john所属的所有用户组信息。
- 语法:
3. 其它相关命令
3.1. passwd
出于系统安全考虑 Linux系统中的每一个用户除了有其用户名外还有其对应的用户口令 用户可以随时用 passwd 命令改变自己的口令 该命令的一般格式为:
- passwd
输入该命令后 按系统提示依次输入密码和密码确认后 即可完成用户密码的修改
此外 超级用户还可以修改其他用户的口令 命令如下:
- passwd 用户名
3.2. su
su 命令这个命令非常重要 它可以让一个普通用户拥有超级用户或其他用户的权限 也可以让超级用户以普通用户的身份做一些事情 普通用户使用这个命令时必须有超级用户或其他用户的口令 如要离开当前用户的身份 可以键入 exit 命令 su 命令的一般形式为:
- su - 用户名
3.3. chmod
chmod 命令是非常重要的 用于改变文件或目录的访问权限 该命令有两种用法 一种是包含字母和操作符表达式的文字设定法 另一种是包含数字的数字设定法
由于数字设定法不太直观 本文不做介绍 文字设定法的用法如下
- chmod [who] [+ | - | =] [mode] 文件名
命令中各选项的含义为:
1. 操作对象 who 可以是下述字母中的任一个或者它们的组合
u 表示用户(user) 即文件或目录的所有者
g 表示同组(group)用户 即与文件属主有相同组 ID 的所有用户
o 表示其他(others)用户
a 表示所有(all)用户 它是系统默认值
2. 操作符号可以是
+ 添加某个权限
- 取消某个权限
= 赋予给定权限,并取消其他所有权限
3. mode 表示权限 常用的参数有
r 可读
w 可写
x 可执行
举例
1. 将文件 script 的权限设为可执行 命令如下:
- chmod =rx text
执行成功后 用 ls -l script 命令查看文件属性的结果如下
-r-xr-xr-x 1 user group 0 Feb 10 09:42 script
2. 将文件 text 的权限设为 文件属主可读 可写 可执行 与文件属主同组
的用户可读 其他用户不可读 命令如下:
- chmod u=rwx,g=r,o= text
注意,后无空格 o=后有空格,执行成功后 用 ls –l text 命令查看文件属性的结果如下
-rwxr----- 1 user group 0 Feb 10 09:42 text
3.4. chown
chown 用于更改某个文件或目录的属主和属组 这个命令也很常用 例如
root 用户把自己的一个文件拷贝给用户 oracle 为了让用户 oracle 能够存
取这个文件 root 用户应该把这个文件的属主设为oracle 否则用户oracle
无法存取这个文件 chown 的基本用法为
chown [用户:组] 文件
举例
- chown oracle:dba text
该命令将 text 文件的属主和属组分别改为 oracle 和 dba
4. 管理用户和用户组的注意事项
- 在添加或删除用户和用户组时,需要注意对系统的影响,尤其是当操作的是系统关键用户或用户组时。
- 修改用户信息或用户组信息时,需要确保新的信息符合系统的安全策略和业务需求。
- 在进行用户和用户组管理操作时,建议使用root用户或具有相应权限的用户执行,以避免权限不足导致的错误。
- 定期审计用户和用户组信息,确保系统的用户和用户组配置符合组织的安全策略。
通过上述命令和注意事项的介绍,相信用户可以更加熟练地进行Linux系统下的用户及用户组管理。合理地管理用户和用户组,不仅可以提高系统的安全性,还可以有效地实现资源共享和权限控制,为多用户环境下的系统管理提供便利。
目录
1. 用户管理命令
1.1 添加用户
1.2 删除用户
1.3 修改用户信息
1.4 查看用户信息
2. 用户组管理命令
2.1 添加用户组
2.2 删除用户组
2.3 修改用户组信息
2.4 查看用户组信息
3. 其它相关命令
3.1. passwd
3.2. su
3.3. chmod
3.4. chown
4. 管理用户和用户组的注意事项
完