加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

帮Linux运维理清Linux用户与用户组联系

发布时间:2022-07-15 13:24:39 所属栏目:Linux 来源:互联网
导读:今天小编要跟大家分享的文章是帮Linux运维理清Linux用户与用户组关系。很多正在从事Linux相关工作的小伙伴们并不是很清楚Linux用户与用户组关系。Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助! 1、用户和用户组文件 在Linux
  今天小编要跟大家分享的文章是帮Linux运维理清Linux用户与用户组关系。很多正在从事Linux相关工作的小伙伴们并不是很清楚Linux用户与用户组关系。Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助!
 
  1、用户和用户组文件
  在Linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。
 
  在Linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/ etc/passwd配置文件中。由于所有用户对passwd文件均有读取的权限,因此密码信息并未保存在该文件中,而是保存在了/ etc/shadow的配置文件中。
 
  在passwd文件中,一行定义一个用户帐号,每行均由多个不同的字段构成,各字段值间用":” 分隔,每个字段均代表该帐号某方面的信息。
 
  在刚安装完成的Linux系统中,passwd配置文件已有很多帐号信息了,这些帐号是由系统自动创建的,他们是Linux进程或部分服务程序正常工作所需要使用的账户,这些账户的最后一个字段的值一般为/ sbin/nologin,表示该帐号不能用来登录Linux系统。
 
  在passwd配置文件中,从左至右各字段的对应关系及其含义:
 
  理清Linux 用户与用户组关系
  由于passwd不再保存密码信息,所以用x占位代表。
 
  若要使某个用户账户不能登录Linux,只需设置该用户所使用的shell为/ sbin/nologin即可。比如,对于FTP账户,一般只允许登录和访问FTP服务器,不允许登录Linux操作系统。若要让某用户没有telnet权限,即不允许该用户利用telnet远程登录和访问Linux操作系统,则设置该用户所使用的shell为/ bin/true即可。若要让用户没有telnet和ftp登录权限,则可设置该用户的shell为/ bin/false。
 
  在/ etc/shells文件中,若没有/ bin/true或/ bin/false,则需要手动添加:
  [root@localhost~]# echo "/bin/false">>/etc/shells
  [root@localhost~]# echo "/bin/true">>/etc/shells
 
  2、用户密码文件
  为安全起见,用户真实的密码采用MD5加密算法加密后,保存在/ etc/shadow配置文件中,该文件只有root用户可以读取。
 
  与passwd文件类似,shadow文件也是每行定义和保存一个账户的相关信息。第一个字段为用户帐户名,第二个字段为账户的密码。
 
  3、用户组帐号文件
  用户组帐号信息保存在/ etc/group配置文件中,任何用户均可以读取。用户组的真实密码保存在/ etc/gshadow配置文件中。
 
  在group中,第一个字段代表用户组的名称,第二个字段为x,第三个为用户组的ID号,第四个为该用户组的用户成员列表,各用户名间用逗号分隔。
 
  4、添加用户
  创建或添加新用户使用useradd命令来实现,其命令用法为:
 
  useradd [option] username
  该命令的option选项较多,常用的主要有:
  -c注释     用户设置对账户的注释说明文字
  -d主目录   指定用来取代默认的/ home/username的主目录
  -m         若主目录不存在,则创建它。-r与- m相结合,可为系统账户创建主目录
  -M         不创建主目录
  -e date    指定账户过期的日期。日期格式为MM/DD/YY
  -f days    帐号过期几日后永久停权。若指定为-,则立即被停权,若为- 1,则关闭此功能
  -g用户组    指定将用户加入到哪个用户组,该用户组必须存在
  -G用户组列表 指定用户同时加入的用户组列表,各组用逗分隔
  -n         不为用户创建私有用户组
  -s shell   指定用户登录时使用的shell,默认为/ bin/bash
  -r         创建一个用户ID小于500的系统账户,默认不创建对应的主目录
  -u用户ID   手动指定新用户的ID值,该值必须唯一,且大于499
  -p password为新建用户指定登录密码。此处的password是对应登录密码经MD5加密后所得到的密码值,不实真实密码原文,因此在实际应用中,该参数选项使用较少,通常单独使用passwd命令来为用户设置登录密码。
 
  示例:
 
  若要创建一个名为nisj的用户,并作为babyfish用户组的成员,则操作命令为:
  [root@localhost ~]# useradd -g babyfish nisj
  [root@localhost ~]# id nisj
  uid=502(nisj) gid=500(babyfish) groups=500(babyfish)
  [root@localhost ~]# tail -1 /etc/passwd
  isj:x:502:500::/home/nisj:/bin/bash
  添加用户时,若未用- g参数指定用户组,则系统默认会自动创建一个与用户帐号同名的私有用户组。若不需要创建该私有用户组,则可选用- n参数。
  比如,添加一个名为nsj820的账户,但不指定用户组,其操作结果为:
  [root@localhost ~]# useradd nsj820
  [root@localhost ~]# id nsj820
  uid=503(nsj820) gid=503(nsj820) groups=503(nsj820)
  [root@localhost ~]# tail -1 /etc/passwd
  sj820:x:503:503::/home/nsj820:/bin/bash
  [root@localhost ~]# tail -2 /etc/passwd
  isj:x:502:500::/home/nisj:/bin/bash
  sj820:x:503:503::/home/nsj820:/bin/bash #系统自动创建了名为nsj820的用户组,ID号为503
 
 
  创建用户账户时,系统会自动创建该用户对应的主目录,该目录默认放在/ home目录下,若要改变位置,可以利用- d参数指定;对于用户登录时使用的shell,默认为/ bin/bash,若要更改,则使用- s参数指定
 
  例如,若要创建一个名为vodup的账户,主目录放在/ var目录下,并指定登录shell为/ sbin/nologin,则操作命令为:
 
  [root@localhost ~]#  useradd -d /var/vodup -s /sbin/nologin vodup
  [root@localhost ~]# id vodup
  uid=504(vodup) gid=504(vodup) groups=504(vodup)
  [root@localhost ~]# tail -1 /etc/passwd
  vodup:x:504:504::/var/vodup:/sbin/nologin
  [root@localhost ~]# tail -1 /etc/group
  vodup:x:504:

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读