zoukankan      html  css  js  c++  java
  • 管理Linux服务器用户和组

    一:用户账户文件和组群文件
    1:理解账户文件:/etc/passwd

    2:在Linux系统中,所创建的用户账户及其相关信息(密码除外)均放在/etc/passwd配置文件中,
    用vim编辑器(或者使用cat /etc/passwd)打开passwd文件。

       [dengzhaoxu@calm ~]$ cat -b /etc/passwd
         1    root:x:0:0:root:/root:/bin/bash
         2    bin:x:1:1:bin:/bin:/sbin/nologin
         3    daemon:x:2:2:daemon:/sbin:/sbin/nologin
         4    adm:x:3:4:adm:/var/adm:/sbin/nologin
         5    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
         6    sync:x:5:0:sync:/sbin:/bin/sync
         7    shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
         8    halt:x:7:0:halt:/sbin:/sbin/halt
    3:passwd文件的每一行都代表着一个用户,每一行用“:”分7个域
        //格式   用户名:加密口令:UID:GID:用户的描述信息:主目录:命令解释器(登陆shell)

    4:创建新用户并将其加入群组。将user_s1和user_s2加入到user中.
      [dengzhaoxu@calm ~]$ su root
    密码:
    [root@calm dengzhaoxu]# useradd user
    [root@calm dengzhaoxu]# useradd user_s1
    [root@calm dengzhaoxu]# useradd user_s2
    [root@calm dengzhaoxu]# useradd -G user user_s1
    useradd:用户“user_s1”已存在
    [root@calm dengzhaoxu]# useradd -G user user_s2
    useradd:用户“user_s2”已存在


    二:etc/shadow文件:
      1:由于所有用户对/etc/passwd文件均有读取权限,为了增强系统的安全性,用户经过加密之后的口令都
      存放在/etc/shadow文件中。/etc/shadow文件只对root用户可读,因而大大提高了系统的安全性。
      2:shadow文件的每一行也用“:”分为9个域。
      sshd:!!:18255::::::
      avahi:!!:18255::::::
      postgres:!!:18255::::::
      postfix:!!:18255::::::
      ntp:!!:18255::::::
      tcpdump:!!:18255::::::
      
    三:理解组群文件:
      1:组群账户的信息存放在/etc/group(查看不受限制)文件中,而关于组群管理的信息(组群口令、组群管理员等)
      则存放在/etc/gshadow(该文件只能root可以查看)文件中。
    [root@calm dengzhaoxu]# cat /etc/group
      root:x:0:   //文件每行分为四个域。
      bin:x:1:  //格式 组群名称:组群口令(一般为空用x占位):GID:组群成员列表
      daemon:x:2:
      sys:x:3:
      adm:x:4:
      tty:x:5:

      [root@calm dengzhaoxu]# cat /etc/gshadow
      root:::
      bin:::
      daemon:::
      sys:::
      adm:::
      tty:::
      disk:::
    四:管理用户账户:
      1:新建用户:在系统新建用户可以使用useradd或者adduser命令。
      useradd命令的格式:useradd [选项] <user_Name>

      2:选项:
    选项 说明
    -s  shell 指定用户的登陆shell,默认为bin/bash
    -c  comment 用户的注释信息
    -d home_dir 指定用户的主目录
    -e  expire_date 禁用帐号的日期:格式为:YYYY-WW-DD
    - u UID 指定用户的UID,他必须是唯一的,且必须要大于499
    -p passwd 加密的口令
    - g initial_group 用户所属主组群的组群名称或者GID

      3:新建用户user3,UID为1010,指定其所属的私有组为group1(group1组的标识符为1010),用户的主目录为/home/user3,
      用户的shell为/bin/bash,用户的密码为123456,账户永不过期。
      [root@calm dengzhaoxu]# groupadd -g 1010 group1   //新建组群group1
      [root@calm dengzhaoxu]# useradd -u 1010 -g 1000 -d /home/user1 -s /bin/bash -p 123456 -f -1 user1
        
      4:设置用户账户口令:
      指定和修改用户账户口令的命令是passwd。超级用户可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。
      passwd命令的格式为:passwd [选项] [用户名字]
      [root@calm dengzhaoxu]# useradd -u 1010 -g 1000 -d /home/user3 -s /bin/bash -p 123456 -f -1 user3
    [root@calm dengzhaoxu]# passwd user3
    更改用户 user3 的密码 。
    新的 密码:
    无效的密码: 密码少于 8 个字符
    重新输入新的 密码:
    抱歉,密码不匹配。
    新的 密码:
    无效的密码: 密码未通过字典检查 - 过于简单化/系统化
    重新输入新的 密码:
    抱歉,密码不匹配。
    新的 密码:
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。

    [root@calm dengzhaoxu]# passwd -n 10 user_s3    //-n:表示指定口令最短的存活期为10天。
    调整用户密码老化数据user_s3。
    passwd: 操作成功
    [root@calm dengzhaoxu]# passwd -n 10 -x 12 user_s3  //最短10天最长12(-x:表示最长)天
    调整用户密码老化数据user_s3。
    passwd: 操作成功
    [root@calm dengzhaoxu]#

    5:chage命令:要修改用户账户口令,也可以用chage命令实现
    语法格式:chage [选项] username

    设置user_s3用户的最短口令存活期为6天,最长口令存活期为60天,口令到期前5天提醒用户修改口令。设置完成后查看各属性值。
    [root@calm dengzhaoxu]# chage -m 6 -M 60 -W 5 user_s3
    [root@calm dengzhaoxu]# chage -L user1
    chage:无效选项 -- L
    用法:chage [选项] 登录
    选项:
      -d, --lastday 最近日期        将最近一次密码设置时间设为“最近日期”
      -E, --expiredate 过期日期     将帐户过期时间设为“过期日期”
      -h, --help                    显示此帮助信息并推出
      -I, --inactive INACITVE       过期 INACTIVE 天数后,设定密码为失效状态
      -l, --list                    显示帐户年龄信息
      -m, --mindays 最小天数        将两次改变密码之间相距的最小天数设为“最小天数”
      -M, --maxdays 最大天数        将两次改变密码之间相距的最大天数设为“最大天数”
      -R, --root CHROOT_DIR         chroot 到的目录
      -W, --warndays 警告天数       将过期警告天数设为“警告天数” 
     [root@calm dengzhaoxu]# chage -l user_s3
     最近一次密码修改时间                    :2月 10, 2020
     密码过期时间                    :4月 10, 2020
     密码失效时间                    :从不
     帐户过期时间                        :从不
     两次改变密码之间相距的最小天数        :6
     两次改变密码之间相距的最大天数        :60
     在密码过期之前警告的天数    :5

     五:维护用户账户:
      1:usermod命令:
        usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
        [root@calm dengzhaoxu]# id user_s3  //查看user_s3的部分信息。
          uid=1011(user_s3) gid=1011(user_s3) 组=1011(user_s3)
    [root@calm dengzhaoxu]# id user_s3
    uid=1011(user_s3) gid=1011(user_s3) 组=1011(user_s3)
    [root@calm dengzhaoxu]# usermod -G root user_s3  //-G:变更扩展用户组
    [root@calm dengzhaoxu]# id user_s3
    uid=1011(user_s3) gid=1011(user_s3) 组=1011(user_s3),0(root)
    [root@calm dengzhaoxu]# usermod -u 8888 user_s3  //修改UID
    [root@calm dengzhaoxu]# id user_s3
    uid=8888(user_s3) gid=1011(user_s3) 组=1011(user_s3),0(root)  
    [root@calm dengzhaoxu]#

      2:禁用用户和删除用户:有时需要临时禁用一个账户而不删除它。禁用用户账户可以用passwd或usermod命令实现,
      也可以直接修改/etc/passwd或/etc/shadow文件。
      [root@calm dengzhaoxu]# passwd -l user_s3 //-l命令禁用
      锁定用户 user_s3 的密码 。
      passwd: 操作成功
      [root@calm dengzhaoxu]# tail -1 /etc/shadow  //tail:命令查看
      user_s3:!!:18302:6:60:5:::
      [root@calm dengzhaoxu]# passwd -u user_s3  //-u 命令解锁
      解锁用户 user_s3 的密码。
      passwd: 警告:未锁定的密码将是空的。
      passwd: 不安全的操作(使用 -f 参数强制进行该操作)

      3:userdel命令:
      要删除一个账户,可以直接删除/etc/passwd和/etc/shadow文件中要删除的用户所对应的行,或者用userdel命令删除。
      userdel格式:userdel [-r] username
      -r:如果不加-r选项,userdel命令会在系统中所有与账户有关的文件中(例如/etc/passwd,/etc/shadow,/etc/group)
      将用户的信息全部删除。如果加-r选项,则在删除用户账户的同时,还将用户主目录以及其下的所有文件和目录全部删除掉。另外,
      如果用户使用E-mail的话,同时也将/var/spool/mail目录下的用户文件删掉。

    六:管理组群:组群管理包括新建组群、维护组群账户和为组群添加用户等内容。
      1:创建组群:
    [root@calm dengzhaoxu]# groupadd testgroup
    [root@calm dengzhaoxu]# groupadd testgroup
    groupadd:“testgroup”组已存在

      2:删除组群:需要注意的是,如果要删除的组群是某个用户的主组群,则该组群不能被删除。
    [root@calm dengzhaoxu]# groupdel testgroup

      3:修改组群:
    命令格式:groupmod [选项] groupName
    [root@calm dengzhaoxu]# groupadd testgroup
    [root@calm dengzhaoxu]# groupmod -g 1002 testgroup //
    groupmod:GID “1002”已经存在
    [root@calm dengzhaoxu]# groupmod -g 10112 testgroup //-g:表示修改组群的GID为10112
    [root@calm dengzhaoxu]# groupmod -n testGroup testgroup //修改组群名字

      4:为组群添加新用户:在Red Hat Linux中使用不带任何参数的useradd命令创建用户时,会同时创建一个和用户账户同名的组群,
      称为主组群。当一个组群中必须包含多个用户时,则需要使用附属组群。在附属组中增加、删除用户都用gpasswd命令。
      命令格式:gpasswd [选项] 用户 组
      [root@calm dengzhaoxu]# useradd -u 10101 -g 10002 -d /home/user4 -s /bin/bash -p 123456 -f -1 user4
      useradd:“10002”组不存在
      [root@calm dengzhaoxu]# useradd -u 10101 -g 1002 -d /home/user4 -s /bin/bash -p 123456 -f -1 user4
      [root@calm dengzhaoxu]# id user4
      uid=10101(user4) gid=1002(user_s1) 组=1002(user_s1)
      [root@calm dengzhaoxu]# gpasswd -a user4 testGroup //创建ueser4时就创建了一个名为user4的主组,-a:表示将用户加入到附属组testGroup中。
      正在将用户“user4”加入到“testGroup”组中
       [root@calm dengzhaoxu]#
    七:使用用户管理器管理用户和组群:默认图形界面的用户管理器是没有安装的,需要安装system-config-users工具
      1:在使用su命令进行用户的切换时,导致root密码暴露,从而增大了黑客的入侵的概率.
      2:[dengzhaoxu@calm ~]$ rpm -qa|grep system-config-users  //该命令是用于检测是否安装管理器.|:为管道符.
      3:使用yum命令安装:
    [root@calm dengzhaoxu]# vim /etc/yum.repos.d/dvd.repo  //编写dvd.repo文件.文件内容在后面给出.
    [root@calm dengzhaoxu]# yum info system-config-users
    已加载插件:langpacks, product-id, search-disabled-repos, subscription-manager
    This system is not registered with an entitlement server. You can use subscription-manager to register.
    dvd                                                      | 4.3 kB     00:00     
    sublime-text                                             | 2.9 kB     00:00     
    (1/2): dvd/group_gz                                        | 146 kB   00:00     
    (2/2): dvd/primary_db                                      | 4.2 MB   00:00     
    可安装的软件包
    名称    :system-config-users
    架构    :noarch
    版本    :1.3.5
    发布    :4.el7
    大小    :337 k
    源    :dvd
    简介    : A graphical interface for administering users and groups
    网址    :https://than.fedorapeople.org/system-config-users
    协议    : GPLv2+
    描述    : system-config-users is a graphical utility for administrating
             : users and groups.  It depends on the libuser library.

    [root@calm dengzhaoxu]# yum clean all  //按照教科书上说的安装前先清理软件源.
    [root@calm dengzhaoxu]# yum install system-config-users -y  //开始安装.

    文件内容:
    #/etc/yum.repos.d/dvd.repo
    #or for ONLY the media repo,do this:
    #yum --disablerepo=* --enablerepo=c6-media [command]
    [dvd]
    name=dvd
    baseurl=file:///iso
    gpgcheck=0
    enabled=1
    [root@calm dengzhaoxu]# system-config-users  //打开用户管理器.

    八:使用常用的账户管理命令:
      1:vipw命令等价于:vim /etc/passwd   //使用vipw编写passwd文件更安全.
      2:vigr命令等价于:vim /etc/group
      3:pwck命令:pwck命令用于验证用户账户文件认证信息的完整性。
      该命令检测/etc/passwd文件和/etc/shadow文件每行中字段的格式和值是否正确。pwck命令的语法为
      4:grpck命令用于验证组群文件认证信息的完整性。该命令还可检测/etc/group文件和/etc/gshadow文件每行中字段的格式和值是否正确
      5:id命令:用于显示一个用户的UID和GID以及用户所属的组列表。在命令行输入id直接回车将显示当前用户的ID信息。
      id命令的语法为:id [选项] userName
      6:finger命令:
      finger [选项] userName  :管理员和其他用户都可以用finger命令来了解用户 //选项有:-l,-m,-s,-p共四种。
      7:chfn,chsh命令:
      用户自己可以使用chfn和chsh命令来修改finger命令显示的内容
      8:whoami命令用于显示当前用户的名称。whoami命令与id -un命令的作用相同。
      9:newgrp命令:
      10:使用groups命令可以列出指定用户的组群
      
         




      


      
      

      






          
      







      


      

  • 相关阅读:
    HDU2201
    HDU2202 凸包
    HDU 4353 几何
    POJ2031 prim
    HDU1392 凸包
    HDU1689 BFS+最小奇数环
    设计模式 [转]
    Mining Massive Data Sets PPT
    C++编程命名规范 [转]
    static_cast与dynamic_cast转换 [转]
  • 原文地址:https://www.cnblogs.com/1314bjwg/p/12292129.html
Copyright © 2011-2022 走看看