在 Linux 系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux 还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资源。
用户是与系统进行交互的主体。每个用户都有一个唯一的用户ID(UID),这个ID是系统中用于标识用户的数字。新用户可以通过使用 adduser
命令进行创建。
sudo adduser username
这将提示您设置用户的密码等信息。新用户创建成功后,他们的家目录将在 /home/username
下。
用户组是一组用户的集合。它有助于简化权限管理和资源共享。创建用户组可以使用 addgroup
命令:
sudo addgroup groupname
新的用户组将在 /etc/group
文件中注册,用户组信息可以使用 cat /etc/group
查看。
useradd 和 userdel
useradd
和 userdel
是两个基本的用户管理命令。它们分别用于添加和删除用户。
# 添加用户
sudo useradd newuser
通过执行上述命令,将创建一个新用户并分配唯一的用户ID。但这样创建的用户没有密码,可以使用 passwd
命令为其设置密码。
# 删除用户
sudo userdel existinguser
userdel
命令用于删除用户,但请注意,这只会删除用户,不会删除用户的主目录或邮箱。如果要删除用户及其相关的文件,可以使用 -r
选项:
sudo userdel -r existinguser
passwd 命令
passwd
命令用于更改用户密码。通过执行以下命令,您可以更改用户的密码:
sudo passwd username
系统会提示您输入新的密码两次以确保一致性。成功更改密码后,新密码立即生效。
groupadd 和 groupdel
groupadd
和 groupdel
用于创建和删除用户组。
# 创建用户组
sudo groupadd newgroup
通过执行上述命令,将创建一个名为 newgroup
的新用户组。您可以使用 cat /etc/group
命令检查新用户组的信息。
# 删除用户组
sudo groupdel existinggroup
要删除用户组,可以使用 groupdel
命令。请注意,只有在没有属于该组的用户时才能成功删除用户组。
usermod 命令
usermod
命令用于修改用户属性,其中一个常见的用途是将用户添加到用户组。
# 将用户添加到用户组
sudo usermod -aG groupname username
通过执行上述命令,用户将被添加到指定的用户组。请注意,-a
选项表示追加,-G
用于指定用户组名称。
chmod 命令
文件和目录权限在 Linux 中是非常重要的概念。每个文件和目录都有一个权限模式,用于定义对它们的访问权限。chmod
命令用于更改权限。
# 更改文件权限
chmod permissions filename
其中,permissions
是一个用数字表示的权限模式,filename
是要更改权限的文件名。例如,要将文件设置为所有者可读写,组可读,其他人只可读的权限:
chmod 644 filename
chown 命令
chown
命令用于更改文件的所有者和所属组。
# 更改文件所有者
sudo chown newowner:groupname filename
通过执行上述命令,文件的所有者将更改为 newowner
,所属组将更改为 groupname
。
sudoers 文件
sudo
允许普通用户以超级用户的身份执行特权命令。sudo
的配置信息存储在 /etc/sudoers
文件中。为了编辑这个文件,推荐使用 visudo
命令,它可以确保在保存时进行语法检查。
# 编辑 sudoers 文件
sudo visudo
在 sudoers
文件中,有一些规则需要遵循。一种常见的规则是为用户赋予 sudo 权限。例如,要为用户 username
赋予所有特权,可以在文件中添加以下行:
username ALL=(ALL:ALL) ALL
这表示用户 username
在任何主机上以任何用户和组的身份都可以执行任何命令。
在编辑 sudoers
文件时要格外小心,因为错误的配置可能导致系统不稳定。编辑完毕后,请使用 Ctrl + X
保存并退出。