了解最新公司动态及行业资讯
在 Linux 系统里,用户和组管理就像管理一个大公司。每个用户是公司里的员工,而组就是不同的部门,通过合理管理,能让每个员工在各自岗位上各司其职,保障系统安全、有序运行。下面就来详细说说 Linux 里的用户和组管理到底是怎么一回事。
Linux 里有三种主要用户类型:
超级用户(root):就像公司大老板,拥有最高权限,能对系统进行任何操作,比如安装软件、修改系统设置等。但权限越大责任越大,要是操作失误,也可能给系统带来严重后果。普通用户:普通员工,权限有限,只能在自己的目录下活动,修改自己的文件,比如写文档、听音乐。这样能防止普通用户不小心误操作影响整个系统。系统用户:像公司里负责后勤、维护的隐形员工,一般是系统运行服务和程序创建的,比如运行数据库服务的用户。它们不需要登录系统,默默保障系统正常运转。用 useradd 命令创建新用户,就像给公司招新员工。比如要创建一个叫 newuser 的用户:
useradd newuser这样系统就会自动创建一个同名主目录 /home/newuser,分配一个默认的 UID 和 GID,还会设置默认的登录 shell。如果想指定用户的主目录、UID、GID 等,可以用额外的参数,比如:
useradd -d /opt/newuser -u 1002 -g users newuser这里 -d 指定主目录,-u 指定 UID,-g 指定所属的初始组。
新用户创建好后,得给它设置密码才能登录。用 passwd 命令,超级用户可以给任意用户设置密码,比如给 newuser 设置密码:
passwd newuser普通用户只能用 passwd 命令修改自己的密码。输入命令后,系统会提示输入新密码并确认。
如果某个用户不再需要,就可以用 userdel 命令删除,就像辞退员工。比如删除 newuser 用户
userdel newuser如果想同时删除用户的主目录,加上 -r 参数:
userdel -r newuser用户组就像公司的部门,把有相同权限需求的用户放在一起管理。比如公司的财务部员工,他们都需要访问财务相关的文件和系统,就可以把他们都放到 “财务部” 这个组里,然后给这个组设置相应权限,这样组里的用户就都有了相同权限,管理起来更方便。
用 groupadd 命令创建新组,就像成立新部门。比如创建一个叫 newgroup 的组:
groupadd newgroup系统会自动分配一个 GID。
把用户添加到组里,就像把员工调到新部门。可以用 usermod 或 gpasswd 命令。
usermod 命令:比如把 user1 添加到 newgroup 组,作为附加组:usermod -aG newgroup user1这里 -a 表示追加,-G 后面跟组名。
gpasswd 命令:用 gpasswd -a user1 newgroup 也能把 user1 添加到 newgroup 组。如果某个组不再需要,用 groupdel 命令删除,就像撤销部门。但要注意,只有组里没有成员时才能删除,比如删除 newgroup 组:
groupdel newgroup用户和组的权限管理是保障系统安全的关键,就像公司给不同部门和员工分配不同的门禁卡和文件访问权限。
文件和目录权限:前面提到过,每个文件和目录都有所有者、所属组和其他用户三种角色的权限设置,通过 chmod 命令可以修改权限。比如,文件所有者可以读写文件,所属组用户只能读文件,其他用户没有任何权限,就可以用 chmod 640 文件名。权限继承:在目录下创建的新文件和目录,默认会继承父目录的所属组。比如在 newgroup 组的目录下创建新文件,新文件的所属组也是 newgroup,这样组里的用户就能按组权限访问这些新文件。Linux 用户和组管理是系统管理的重要基础,通过创建、删除用户和组,设置密码,分配权限等操作,能让系统多用户环境安全、有序运行。无论是个人使用还是服务器管理,掌握用户和组管理知识,就像学会了管理公司团队,能更好地控制和维护系统。