【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)


 

posted @ 2016-10-30 20:44  小木瓜瓜瓜  阅读(225)  评论(0编辑  收藏  举报