zoukankan      html  css  js  c++  java
  • 【Linux学习笔记】账号管理

    一、useradd 

    新增用户的过程包含了:

    (1)记录用户信息到/etc/passwd,/etc/shadow,自动分配一个uid。

    (2)创建家目录。也就是在home目录下创建yy目录。

    (3)复制/etc/skel下的文件到 刚创建的家目录,基本都是隐藏目录

    (4)新建一个同名的有用户组。

    [root@ggg2 ~]# useradd yy
    
    [root@ggg2 ~]# ls /home
    ggg  mysql  yy
    
    [root@ggg2 ~]# ls -al /etc/skel
    total 36
    drwxr-xr-x.   4 root root  4096 Aug 18 23:16 .
    drwxr-xr-x. 117 root root 12288 Nov  6 12:58 ..
    -rw-r--r--.   1 root root    18 Oct 16  2014 .bash_logout
    -rw-r--r--.   1 root root   176 Oct 16  2014 .bash_profile
    -rw-r--r--.   1 root root   124 Oct 16  2014 .bashrc
    drwxr-xr-x.   2 root root  4096 Nov 12  2010 .gnome2
    drwxr-xr-x.   4 root root  4096 Aug 18 23:13 .mozilla
    [root@ggg2 ~]# ls -al /home/yy
    total 28
    drwx------. 4 yy   yy   4096 Nov  6 12:58 .
    drwxr-xr-x. 5 root root 4096 Nov  6 12:58 ..
    -rw-r--r--. 1 yy   yy     18 Oct 16  2014 .bash_logout
    -rw-r--r--. 1 yy   yy    176 Oct 16  2014 .bash_profile
    -rw-r--r--. 1 yy   yy    124 Oct 16  2014 .bashrc
    drwxr-xr-x. 2 yy   yy   4096 Nov 12  2010 .gnome2
    drwxr-xr-x. 4 yy   yy   4096 Aug 18 23:13 .mozilla
    
    [root@ggg2 ~]# cat /etc/group | grep yy
    yy:x:502:
    


    此外,还可以:

    -u 直接指定用户的uid。

    -g 指定用户所在 用户组。

    -d 用户的家目录。

    [root@ggg2 ~]# useradd -u 508 userxx
    [root@ggg2 ~]# cat /etc/passwd | grep userxx
    userxx:x:508:508::/home/userxx:/bin/bash
    
    [root@ggg2 ~]# useradd -g yy useryy
    [root@ggg2 ~]# cat /etc/group | grep yy | head -1
    yy:x:502:
    
    [root@ggg2 ~]# useradd -d /home/spec_yy yyy
    [root@ggg2 ~]# ls /home | grep spec_yy
    spec_yy
    

    二、passwd

    修改密码。

    在创建用户后,由于用户没有设置密码,所以没有权限登陆系统,在/etc/passwd中会显示 两个惊叹号 !!.

    在修改密码时,只有root用户有权指定具体的 用户名,否则会报错:
    [root@ggg2 ~]# passwd yy
    Changing password for user yy.
    New password: 
    BAD PASSWORD: it is WAY too short
    BAD PASSWORD: is a palindrome
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
    其他用户都只能修改自己的密码,不过要先输入之前的密码,另外,新密码不能太简单,否则系统会拒绝修改:
    [yy@ggg2 ~]$ passwd yy
    passwd: Only root can specify a user name.
    
    [yy@ggg2 ~]$ passwd
    Changing password for user yy.
    Changing password for yy.
    (current) UNIX password: 
    New password: 
    Retype new password: 
    passwd: all authentication tokens updated successfully.

    三、usermod

    修改用户的属性,实际上就是对/etc/passwd、/etc/shadow文件的修改。

    先加个用户,然后查看家目录,接下来修改用户的家目录,这里的-d指定新的家目录,而-m指定如果这个新的家目录不存在,那就创建,如果不知道而且这个目录又没有,就会报错。

    [root@ggg2 ~]# useradd userx
    [root@ggg2 ~]# cat /etc/passwd | grep userx
    userx:x:511:511::/home/userx:/bin/bash
    
    [root@ggg2 ~]# usermod -d /home/new_userx -m userx
    [root@ggg2 ~]# cat /etc/passwd | grep userx
    userx:x:511:511::/home/new_userx:/bin/bash


    如果发现账号异常,可以冻结账号。

    先看一下密码文件,发现当前userx用户的密码是!!,这个上面说过,是由于没有设置密码,所以不允许登陆系统。

    然后修改密码。

    接下来再看一下密码文件就是正常的了。

    指定-L参数锁定账号,可以看到会在/etc/shadow文件中的第2列密码的开头加上一个惊叹号!,这样就禁止用户登陆。

    指定-U参数解锁账号,同样的惊叹号就没有了。

    [root@ggg2 ~]# cat /etc/shadow | grep userx
    userx:!!:17111:0:99999:7:::
    [root@ggg2 ~]# passwd userx
    Changing password for user userx.
    New password: 
    BAD PASSWORD: it is too short
    BAD PASSWORD: is too simple
    Retype new password: 
    passwd: all authentication tokens updated successfully.
    
    [root@ggg2 ~]# cat /etc/shadow | grep userx
    userx:$6$UFR/z5Vu$UJVzHu6gJf3GOlodnXTjfKV8/C.WVQ9QcetOACf1exTaDsKk/2AS5RudLC5l3Yz7ioT9O9n5M5ICSdHEUgB3T1:17111:0:99999:7:::
    
    [root@ggg2 ~]# usermod -L userx
    [root@ggg2 ~]# cat /etc/shadow | grep userx
    userx:!$6$UFR/z5Vu$UJVzHu6gJf3GOlodnXTjfKV8/C.WVQ9QcetOACf1exTaDsKk/2AS5RudLC5l3Yz7ioT9O9n5M5ICSdHEUgB3T1:17111:0:99999:7:::
    
    [root@ggg2 ~]# usermod -U userx
    [root@ggg2 ~]# cat /etc/shadow | grep userx
    userx:$6$UFR/z5Vu$UJVzHu6gJf3GOlodnXTjfKV8/C.WVQ9QcetOACf1exTaDsKk/2AS5RudLC5l3Yz7ioT9O9n5M5ICSdHEUgB3T1:17111:0:99999:7:::

    四、userdel

    删除用户,就是删除/etc/passwd /etc/shadow中的记录。

    [root@ggg2 ~]# userdel userx

    不过,删除用户时,不会删除原用户的家目录、邮件信息,所以可以用参数-r递归删除这些:

    [root@ggg2 ~]# userdel -r yy
    
    [root@ggg2 ~]# ls /home | grep yy
    spec_yy
    useryy
    


    五、groupadd、groupdel

    增加用户组,删除用户组

    [root@ggg2 ~]# groupadd groupx
    [root@ggg2 ~]# cat /etc/group | grep groupx
    groupx:x:502:
    [root@ggg2 ~]# groupdel groupx
    

    在删除用户组时,如果这个组内还有用户,就会报错。

    六、users、who、w

    查看用户信息。

    users命令:显示当前系统有哪些用户,同一用户可能会多次显示,因为可能是从不同的终端发起的会话。

    [root@ggg2 ~]# users
    root root root root
    

    who命令:类似于users命令,只是更详细,包括  用户名,终端,主机名或ip地址。

    [root@ggg2 ~]# who
    root     tty1         2016-09-08 21:16 (:0)
    root     pts/0        2016-10-19 22:21 (:0.0)
    root     pts/1        2016-09-08 21:18 (:0.0)
    root     pts/2        2016-10-15 12:53 (:0.0)
    

    w命令:更加详细。

    [root@ggg2 ~]# w
     15:08:52 up 22:31,  4 users,  load average: 0.04, 0.11, 0.13
    USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1     :0               08Sep16 58days 21:22  21:22  /usr/bin/Xorg :0 -br -verbose -audit 4 -auth /var/ru
    root     pts/0    :0.0             19Oct16 17days  0.71s  0.61s -bash
    root     pts/1    :0.0             08Sep16 17days  0.26s  0.07s mysql -u system -p
    root     pts/2    :0.0             15Oct16  0.00s  2.53s  0.02s w
    

    显示 当前时间,系统运行时间,已登录用户数,系统负载。

    还包含了8列信息:

    用户名,终端,如果是从网络登陆的会显示主机和ip地址,用户登陆时间,用户空闲时间,当前所有进程消耗的cpu总时间,当前what列所对应进程消耗的总时间,

    七、finger

    调查用户。

    如果找不到命令,需要先安装:

    root@ggg2 ~]# yum install -y finger
    

    然后再试试:

    [root@ggg2 ~]# finger
    Login     Name       Tty      Idle  Login Time   Office     Office Phone
    root      root       tty1      51d  Sep  8 21:16 (:0)
    root      root       pts/0     10d  Oct 19 22:21 (:0.0)
    root      root       pts/1     10d  Sep  8 21:18 (:0.0)
    root      root       pts/2          Oct 15 12:53 (:0.0)
    


  • 相关阅读:
    [转]utf8编码原理详解
    [转]程序员趣味读物:谈谈Unicode编码
    confluence 安装部署
    统计日志10分钟内出现的次数
    Error occurred during initialization of VM Could not reserve enough space for object heap(可能是内核参数的问题)
    Linux服务器性能查看分析调优
    python break ,continue和 pass 语句(八)
    python 循环基础(六)
    python 循环实例(七)
    python 条件控制(五)
  • 原文地址:https://www.cnblogs.com/momogua/p/8304413.html
Copyright © 2011-2022 走看看