用户和用户组相关命令

目录

Linux系统用户账号的管理 


Linux系统用户账号的管理 

  • 用户和用户组

  每一个File,dir    : 都有一个拥有者,拥有组,其他人 ----->不同的用户或者用户组对特定文件的操作有限制。
  processes : 对于一个进程就有一个进程的执行者。
  进程要访问文件,取决于进程的执行者对文件的权限。

  • 用户的分类
  1. 特权用户root   UID=0
  2. 系统用户         UID=0~999
  3. 普通用户        UID=1000~65535

(创建一个用户时会产生一个与UID相同的组)

  • 用户名和用户组存在的文件

          用户名 : /etc/passwd           

          用户组: /etc/group

用户组的分类1 : 基本组:就是在创建一个用户时候仅存在自己的用户组中
                             附加组:创建的用户组中还有别的用户就是附加组
                
用户组的分类2    私有组:和基本组的概念相同
                            公共组:和附加组的概念相同

                 
创建一个用户,系统上修改了那些文件?

  • 影子口令套组:(/passwd /shadow 每个字段)

 (1)/etc/paaswd
test03 :x:1002:1002:Test of file:/home/test03:/bin/bash
用户名 密码 UID GID    描述            家目录     bash类型
(2)/etc/group
test03:x:1002: 
组名  密码  GIU
(3)/etc/shadow
test03:$6$RoRwZNn2dl9KSi8u$F4IbPu9ag1/gjyyRWVtk8nNMKvIQYrCEZMKkbFjUI8Iasidos/mSx6sNSLEhobD1lqzL5vW2hSdNeDi3ssk4y.:18468:0:99999:7:::           用:作为分隔

  1. 表示用户名
  2. 加密后的密码
  3. 最后一次修改密码时间距离计算机元年1970 1.1的时间戳
  4. 密码保留的最小日期(也就是密码几天后可以进行修改 0表示现在就可以修改 1表示一天后可以修改)
  5. 密码的有效期(也就是有效期限如果过期后将不能登录)
  6. 密码过期前多少天警告

  7. 密码过期后几天依然可以登陆,但是会提醒

 

     8.禁用 1970 1.1

     9.预留

 


(4)/etc/gshadow
test03:!::

扩展: 
[[email protected] mail]# vipw      ----- /etc/paaswd
[[email protected] mail]# vipw -s  ------ /etc/shadow
[[email protected] mail]# vigr     -----  /etc/group
[[email protected] mail]# vigr -s  ------ /etc/gshadow

 

  • 创建一个家目录 /home/test03; 

拷贝默认的用户登录登出的初始化文件;
/etc/skel/  ----> /home/test03

  • 创建一个mail文件

/var/spool/mail

  • 用户与用户组的管理命令

用户组相关命令
增:

groupadd   groupname 创建默认组

groupadd  -g 5008 group2 指定gid创建组
groupadd  -r group3 创建一个系统用户(uid 0-999)
改:
[[email protected] mail]# groupmod -g 2009 group4  将group4的gid该为2009
[[email protected] mail]# groupmod -n newgroup4  group4 改组名把group4改成newgroup4
查:
[[email protected] mail]# cat /etc/group  查看用户组
[[email protected] mail]# vigr                  查看用户组
删:
[[email protected] mail]# groupdel newgroup4    删除用户组

实例:

1.创建一个默认组

用户和用户组相关命令

用户和用户组相关命令

2.指定UID创建组

用户和用户组相关命令

用户和用户组相关命令

3.创建系统组

用户和用户组相关命令

用户和用户组相关命令

4.把vvv的UID改变为800

用户和用户组相关命令

用户和用户组相关命令

5.把vvv的名字变成rrr

用户和用户组相关命令

用户和用户组相关命令

6.删除vvv用户组

用户和用户组相关命令

用户相关命令:

用户和用户组相关命令

增:
useradd -u 6663  -G group1,group2 -c "Test of L2020" -d /usr/local/test07 test07
useradd -s /bash/nologin  test08

改:
  usermod -u 2003 anliu
  groupadd -g 2003 anliu
  usermod -g 2003  test

  usermod -G group1 test08         #添加附加组(覆盖)

  usermod -aG anliu test08         #追加附加组

  usermod -md /home/xuankui test06  #修改家目录

   passwd  -l test03   #锁定密码
   passwd  -u test03
 

   usermod -L test03
   usermod -U test03

删:
[[email protected] mail]# userdel test08   #删除的配置文件,家目录以及mail文件没有被删除
[[email protected] mail]# userdel -r test08 #完整删除

查:
[[email protected] mail]# cat /etc/passwd
[[email protected] mail]# vipw  -s

实例:

1.按照指定条件创建用户textll。

useradd -u 10031-G hhh -c " this is a..." -d /user/local/textlk textlk

用户和用户组相关命令

用户和用户组相关命令

用户和用户组相关命令

 

2.将textlk的uid改为10032

usermod -u 10032  textlk

用户和用户组相关命令

3.userdel textlk

用户和用户组相关命令

4.把用户hhh1加到组jjj中

用户和用户组相关命令

用户和用户组相关命令

 5.把用户hhh1加到组hhh2中  -aG可以在吧hhh1加到新组的同事旧组的hhh1会备份下来

用户和用户组相关命令

用户和用户组相关命令

6.把jjj的家目录修改为/home/jizhe

用户和用户组相关命令

7.passwd -l和passwd -u锁密码

            用户和用户组相关命令

用户和用户组相关命令

用户和用户组相关命令

用户和用户组相关命令

8.删除用户jjj

  • 创建用户的默认属性[[email protected] ~]# vim /etc/login.defs
  • 用户管理的工具箱:
    [[email protected] ~]# cat  /usr/local/sbin/MyBoxUser 
    #!/bin/bash
    while true
    do
    cat << EOF
    #########################################
    #          1.锁定账号                   #
    #          2.解锁账号                   #
    #          3.清除密码                   #
    #          4.退出                       #
    #########################################
    EOF

    read -p "请输入要执行操作的菜单号:" num
    case $num in 
        1)
        read -p "请输入您要锁定的账号:" lockuser
        passwd -l $lockuser
        ;;
        2)
        read -p "请输入您要解锁的账号:" unlockuser
        passwd -u $unlockuser
        ;;
        3)
        read -p "请输入您要清除密码的账号:" cleanpass
        passwd -d $cleanpass
        ;;
        4)
        exit
        ;;
        *)
        echo "请输入 123 !"
    esac

    done
        
    #if [ $num -eq 1 ]
    #then
    #read -p "请输入您要锁定的账号:" lockuser
    #passwd -l $lockuser
    #elif [ $num -eq 2 ]
    #then
    #read -p "请输入您要解锁的账号:" unlockuser
    #passwd -u $unlockuser
    #elif [ $num -eq 3 ]
    #then
    #read -p "请输入您要清除密码的账号:" cleanpass
    #passwd -d $cleanpass
    #else
    #echo "请输入 123 !"
    #fi

    chmod +x filename

    将定义好的工具箱脚本实现在任意路径下执行的方法:
    (1)mv filename $PATH
     mv toolbox.sh /usr/local/sbin/
     
    (2)配置环境变量目录:
    vim /etc/profile
    PATH=$PATH:/opt/script

    (3)定义别名
    [[email protected] ~]# alias MyBoxManage="/opt/script/MyBoxManage"
    vim ~/.bashrc
    alias MyBoxManage="/opt/script/MyBoxManage"