当前位置: 首页 > 科技观察

用户、组和其他Linux功能

时间:2023-03-17 20:52:39 科技观察

在这个阶段,在了解了如何操作目录或文件夹之后,但在我们一头扎进文件之前,我们必须重新审视权限、用户和组。幸运的是,一个网站已经有一个关于权限的优秀而全面的教程,所以你应该马上去读一读。简而言之,您使用权限来确定谁可以对文件和目录执行操作,以及他们可以对每个文件和目录执行什么操作——读取、写入、移动、删除等等。要尝试本教程中涵盖的所有内容,您需要在您的系统上创建一个新用户。让我们实际一点,为每个需要借用您的计算机的人创建一个用户,我们称其为来宾帐户。警告:例如,如果您错误地删除了自己的用户和目录,创建用户尤其是删除用户和主目录会严重损坏系统。你可能不想在你的常规工作机器上练习,所以请在另一台机器或虚拟机上练习。无论您是否想安全地练习,经常备份您的东西总是一个好主意。检查备份是否正常工作,以免以后咬牙切齿。新用户您可以使用useradd命令创建新用户。使用超级用户或根权限运行useradd,即使用sudo或su,具体取决于您的系统,您可以:sudouseradd-mguest并输入您的密码。或者您可以这样做:su-c"useradd-mguest"并输入root或超级用户密码。(为简洁起见,我们假设从现在开始您使用sudo获得超级用户或root权限。)通过使用-m参数,useradd将为新用户创建一个主目录。您可以通过列出来查看/home/guest的内容。然后,您可以使用以下命令为新用户设置密码:sudopasswdguest或者您可以使用adduser,这是一个交互式命令,它会问您几个问题,包括您要分配给用户的shell(是的,还有更多一个shell),你希望他们的主目录在哪里,你希望他们属于哪个组(稍后会详细介绍)等。在运行adduser结束时,你可以设置密码。请注意,在许多发行版中默认情况下并未安装adduser,但安装了useradd。顺便说一句,您可以使用userdel删除用户:sudouserdel-rguest使用-r选项,userdel不仅删除来宾用户,还删除他们的主目录和邮件条目(如果有)。主目录中有什么关于用户的主目录,这取决于您使用的发行版。您可能已经注意到,当您使用-m选项时,useradd会在用户目录中填充子目录,包括音乐、文档等等,以及各种隐藏文件。要查看来宾主目录中的所有内容,请运行sudols-la/home/guest。进入新用户目录的内容通常由/etc/skel模式目录决定。有时它可能是不同的目录。要检查正在使用的目录,请运行:useradd-DGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skelCREATE_MAIL_SPOOL=no这将为您提供一些额外的有趣信息,但是您感兴趣的信息现在是SKEL=/etc/skel这一行,在本例中,它按照约定指向/etc/skel/。由于Linux中的所有内容都是可定制的,因此您可以更改新创建的用户目录中的内容。试试这个:在/etc/skel/中创建一个新目录:sudomkdir/etc/skel/Documents然后创建一个包含欢迎消息的文件并将其复制:sudocpwelcome.txt/etc/skel/Documents现在删除guest账号:sudouserdel-rguest重新创建:sudouseradd-mguest嘿嘿!您的Documents/目录和welcome.txt文件神奇地出现在来宾的主目录中。您还可以通过在创建用户时编辑/etc/default/useradd来修改其他内容。我的看起来像这样:GROUP=usersHOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skelCREATE_MAIL_SPOOL=no这些选项中的大多数都是不言自明的,但让我们仔细看看GROUP选项。群体心态Linux和其他类Unix操作系统依赖于用户群体,而不是将权利和特权分配给单独的用户。组就是您可能想象的那样:一组以某种方式相关的用户。您的系统上可能有一组用户被允许使用打印机,他们属于lp(或“行式打印机”)组。传统上,wheel组的成员是可以通过使用su成为超级用户或root的成员。网络用户组可以启用或禁用网络。还有很多这样的。不同的发行版有不同的组,名称相同或相似的组具有不同的权限,这也取决于您使用的发行版。因此,如果您在上一段中阅读的内容与您系统中的内容不匹配,请不要感到惊讶。不管怎样,要查看系统中有哪些组,可以使用:getentgroupgetent命令列出某些系统数据库的内容。要找出当前用户属于哪些组,请尝试:groups当您使用useradd创建新用户时,除非您另外指定,否则该用户将只属于一个组:他们自己。来宾用户属于来宾组。群组赋予用户管理自己的东西的权利,仅此而已。您可以使用groupadd命令创建新组,然后添加用户:sudogroupaddphotos例如,这将创建photos组。下次我们将使用它来构建一个所有组成员都可以读写的共享目录,我们将了解更多关于权限和特权的信息。敬请关注!