Linux 用户和组管理
Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是登录到linux的权限;每当我们使用用户名登录操作系统时,linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器;在linux系统中,用户组也有一个ID,GID。本文主要介绍Linux 用户和组管理。 1、Linux系统用户 Linux系统上有三种类型的帐户: 1)root用户 root用户也被称为超级用户,将完全和不受约束的控制系统。超级用户可以不受任何限制地运行任何命令。该用户可以认为是越级系统管理员。 2)系统用户 系统帐户是操作特定于系统的组件所需的帐户,例如,邮件帐户和sshd帐户。系统上的某些特定功能通常需要这些帐户,对它们的任何修改都可能对系统产生不利影响。 3)用户帐户 用户帐户为用户和用户组提供对系统的交互访问。一般用户通常分配给这类帐户,并且通常对关键的系统文件和目录有有限的访问权限。 Linux支持组帐户(Group Account)的概念,它从逻辑上将多个帐户分组。每个帐户将是另一个组帐户的一部分。Linux组在处理文件权限和进程管理中起着重要的作用。 2、管理用户和组 用户管理相关的文件主要有4个,如下: 1)/etc/passwd /etc/passwd中保存用户帐号和密码信息。也保存了Linux系统上关于帐户的大部分信息。 2)/etc/shadow /etc/shadow中保存对应帐户的加密密码。并不是所有的系统都支持这个文件。 3)/etc/group /etc/group文件包含每个帐户的组信息。 4)/etc/gshadow /etc/gshadow文件包含安全组帐户信息。 可以使用cat命令查看上述的文件内容,常用的用于创建和管理帐户和组的命令如下表: 命令 说明 useradd 添加系统用户帐户 usermod 修改账户属性 userdel 删除系统帐户 groupadd 添加用户组 groupmod 修改用户组属性 groupdel 删除系统用户组 参考文档:Linux shell man命令查看帮助文档 2、创建用户组 创建用户之前我们需要创建对应的组,否则也可以利用系统中现有的组。在/etc/groups文件中包含所有的组。所有默认组都是针对系统帐号的组,不建议对普通帐号使用。创建组的方法如下: groupadd [-g gid [-o]] [-r] [-f] groupname 相关选项参数说明如下表: 命令选项 描述 -g GID 指定基本组ID,此组得事先存在; -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。 -r 创建系统组 -f 如果指定的组已经存在,该选项只会导致以成功状态退出。使用-g,如果指定的GID已经存在,则选择其他(唯一的)GID groupname 要创建的组名 如果不指定任何参数,则系统使用默认值。 例如, $ groupadd developers 3、修改组 要修改组,可以使用groupmod命令: groupmod -n new_modified_group_name old_group_name 可以将cjavapy组名更改为developer: groupmod -n developer cjavapy 如果想要修改GID可以使用命令如下: groupmod -g 561 developer 4、删除组 如果要删除已存在的组,只需要使用groupdel命令和组名。 例如, groupdel developer 注意:groupdel developer是只删除组,而不删除与组关联的文件。文件的所有者仍然可以访问这些文件。 5、创建用户 如果我们需要在Linux系统上添加一个用户的帐户,可以使用命令如下: useradd -d homedir -g groupname -m -s shell -u userid accountname 相关选项参数说明如下表: 命令 描述 -d homedir 指定帐户的主目录 -g groupname 指定此帐户的用户组 -m 如果主目录不存在,则创建它 -s shell 指定此帐户的默认shell -u userid 可以为这个帐户指定一个用户id accountname 要创建的帐户名称 注意:如果不指定任何参数,则系统使用默认值。useradd命令修改/etc/passwd、/etc/shadow和/etc/group文件,并创建home目录。 例如, useradd -d /home/cjavapy-g developers -s /bin/bash cjavapy 注意:如果创建用户指定的用户组不存在,则需要使用groupadd命令进行添加。 用户登陆完成之后,需要使用passwd命令为用户设置密码, 例如, $ passwd cjavapy 注意:可以使用相同的命令更改密码,不需要指定的帐户名。 6、修改帐户 usermod命令可以从命令行对现有帐户进行更改。它使用与useradd命令相同的参数,加上-l参数,允许更改帐户名称。 例如, 将帐户名cjavapy修改为dev,也修改主目录为/home/dev: $ usermod -d /home/dev -m -l cjavapy dev 7、删除帐户 userdel命令用于删除已存在的用户。使用这个需要谨慎一点,如果错删除了其它重要用户Linux 用户和用户组管理,会影响很大。 使用-r选项,可以删除帐户的主目录和邮件文件, 例如, userdel -r cjavapy (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |