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系统下的用户及用户组管理。合理地管理用户和用户组,不仅可以提高系统的安全性
,还可以有效地实现资源共享和权限控制,为多用户环境下的系统管理提供便利。
完