作者|CDADataAnalyst一、概述上一篇文章介绍了Linux文件系统的目录结构和常用目录操作命令的知识。但是,当我们用hduser登陆Ubuntu,尝试操作根目录下的一些文件时,往往会提示权限不足,不允许操作。这时候我们在命令前加上sudo关键字就可以执行成功了。为什么是这样?原因就在我们今天要学习的《Linux系统的用户管理》。朋友们,让我们开始今天的发现之旅吧。2、用户管理Linux系统是一个多用户多任务的分时操作系统。任何用户要使用系统资源,必须先向系统管理员申请一个账号,然后用这个账号登录系统。一方面,用户账户可以帮助系统管理员跟踪使用系统的用户,控制他们对系统资源的访问;另一方面,它们还可以帮助用户整理文件,为用户提供安全保护。不同的用户处于不同的位置,具有不同的权限,root用户的权限最高。Linux系统为了保护系统的安全,对不同用户访问同一个文件(包括目录文件)的权限有不同的规定。那么当普通用户需要使用root用户权限进行操作时,我们应该怎么办呢?Linux系统提供了相应的工具sudo,为管理员提供了一种方便的访问控制方式。它允许人们以超级用户和其他类型的用户身份访问系统。这样,管理员就可以在不告诉用户root密码的情况下,将某些类型的超级权限授予普通用户。这也解释了文章开头的问题。我们使用sudo命令让hduser用户获得root用户权限,这样可以在根目录下进行的操作就可以顺利进行了。使用sudo时,用户必须先输入密码,然后有5分钟的有效期,之后必须重新输入密码。实现用户账号的管理,需要完成的工作主要包括以下几个方面:-添加用户账号-管理用户密码-删除用户账号-管理用户组2.1添加用户账号添加用户账号是在系统中创建创建一个新帐户,并为新帐户分配用户ID、用户组、主目录和登录shell等资源。刚刚添加的账号被锁定,无法使用。1)添加新的用户帐户,使用useradd命令,其语法如下:useraddoption[optional]username参数说明:option:-ccomment指定注释说明。-ddirectory指定用户的主目录。如果该目录不存在,则同时使用-m选项创建一个home目录。如果未指定用户的主目录,/home/username将自动用作用户的主目录。g用户组指定用户所属的用户组。Gusergroup,usergroup指定用户所属的附加组。sShell文件指定用户的登录shell。u用户ID指定用户的用户ID。如果同时有-o选项,可以重复使用其他用户的标识号。用户名:指定新帐户的登录名。示例1创建一个hadoop用户(hduser用户需要使用sudo命令)来打开我们创建的Ubuntu虚拟机。登录后(Ctrl+Alt+t),打开终端,输入如下命令:sudouseradd-mhadoop-s/bin/bash如下图2.2用户密码管理(密码可以理解为登录密码)用户帐号刚创建时没有密码,但被系统锁定,无法使用。即使指定了空密码,也只能在指定密码后使用。指定和修改用户密码的Shell命令是passwd。超级用户可以为自己和其他用户指定密码,普通用户只能用来修改自己的密码。命令格式为:passwdoption[optional]Username可用选项:l锁定密码,即禁用该帐户。u密码解锁。d是没有密码的帐户。f强制用户下次登录时修改密码。用户名需要修改密码。如果没有给出,默认为当前用户。示例2:为新建的用户hadoop添加密码:1sudopasswdhadoop执行命令后,输入两次密码1,密码更新完成。执行流程如下图所示:2.3用户删除如果一个用户的账号不再使用,可以将其从系统中删除。删除用户账号就是删除/etc/passwd等系统文件中的用户记录,必要时删除用户的家目录。删除一个已经存在的用户帐号,使用userdel命令,其格式如下:userdeloption用户名常用的选项是-r,其作用是将用户的主目录一并删除。例如:sudouserdel-rhadoop该命令删除用户hadoop在系统文件(主要是/etc/passwd、/etc/shadow、/etc/group等)中的记录,并删除用户的home目录。2.4修改用户参数修改用户帐号就是根据实际情况更改用户的相关属性,如用户号、主目录、用户组、登录shell等。usermod命令用来修改已有用户的信息。格式如下:含义同useradd命令中的option,可以为用户指定一个新的资源值。另外,有些系统可以使用选项:-lnewusername例如:sudousermod-ghadoophduser该命令将用户hduser的用户组更改为hadoop用户组。3、用户组管理每个用户都有一个用户组,系统可以集中管理一个用户组中的所有用户。不同的Linux系统对用户组有不同的规定。比如Linux下的一个用户属于一个同名的用户组,这个用户组是在创建用户的同时创建的。用户组的管理涉及用户组的添加、删除和修改。组的增删改查实际上是对/etc/group文件的更新。3.1创建用户组使用groupadd命令添加一个新的用户组。其格式如下:groupaddoptions用户组可用的选项有:-gGID指定新用户组的组标识号(GID)。-o一般与-g选项一起使用,表示新用户组的GID可以与系统中已有用户组的GID相同。示例1创建名为BIGDATA的用户组sudogroupaddBIGDATA3.2删除用户组使用groupdel命令删除现有用户组。其格式如下:groupdelusergroup示例2删除名为BIGDATA的用户组sudogroupdelBIGDATA3.3修改用户组的属性使用groupmod命令修改用户组的属性。其格式如下:groupmodoption用户组常用的选项有:-gGID为用户组指定一个新的组标识号。-o和-g选项同时使用,新用户组的GID可以与系统中已有用户组的GID相同。-nnewusergroup将用户组名称更改为新名称示例3将名为BIGDATA的用户组ID号更改为112sudogroupmod-g112BIGDATA好了,今天的内容就到这里,我们将在下一篇Linux系统的文件属性。更多优质内容,您可以前往:疫情当前,宅家也可以提升自己,为未来积蓄能量——蓄势待发!
