【Linux学习笔记】账号管理

来源:互联网 发布:linux 查看cpu参数 编辑:程序博客网 时间:2024/06/14 09:16

一、useradd 

新增用户的过程包含了:

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

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

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

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

[root@ggg2 ~]# useradd yy[root@ggg2 ~]# ls /homeggg  mysql  yy[root@ggg2 ~]# ls -al /etc/skeltotal 36drwxr-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 .bashrcdrwxr-xr-x.   2 root root  4096 Nov 12  2010 .gnome2drwxr-xr-x.   4 root root  4096 Aug 18 23:13 .mozilla[root@ggg2 ~]# ls -al /home/yytotal 28drwx------. 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 .bashrcdrwxr-xr-x. 2 yy   yy   4096 Nov 12  2010 .gnome2drwxr-xr-x. 4 yy   yy   4096 Aug 18 23:13 .mozilla[root@ggg2 ~]# cat /etc/group | grep yyyy:x:502:

此外,还可以:

-u 直接指定用户的uid。

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

-d 用户的家目录。

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

二、passwd

修改密码。

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

在修改密码时,只有root用户有权指定具体的 用户名,否则会报错:
[root@ggg2 ~]# passwd yyChanging password for user yy.New password: BAD PASSWORD: it is WAY too shortBAD PASSWORD: is a palindromeRetype new password: passwd: all authentication tokens updated successfully.
其他用户都只能修改自己的密码,不过要先输入之前的密码,另外,新密码不能太简单,否则系统会拒绝修改:
[yy@ggg2 ~]$ passwd yypasswd: Only root can specify a user name.[yy@ggg2 ~]$ passwdChanging 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 userxuserx:x:511:511::/home/userx:/bin/bash[root@ggg2 ~]# usermod -d /home/new_userx -m userx[root@ggg2 ~]# cat /etc/passwd | grep userxuserx:x:511:511::/home/new_userx:/bin/bash


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

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

然后修改密码。

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

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

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

[root@ggg2 ~]# cat /etc/shadow | grep userxuserx:!!:17111:0:99999:7:::[root@ggg2 ~]# passwd userxChanging password for user userx.New password: BAD PASSWORD: it is too shortBAD PASSWORD: is too simpleRetype new password: passwd: all authentication tokens updated successfully.[root@ggg2 ~]# cat /etc/shadow | grep userxuserx:$6$UFR/z5Vu$UJVzHu6gJf3GOlodnXTjfKV8/C.WVQ9QcetOACf1exTaDsKk/2AS5RudLC5l3Yz7ioT9O9n5M5ICSdHEUgB3T1:17111:0:99999:7:::[root@ggg2 ~]# usermod -L userx[root@ggg2 ~]# cat /etc/shadow | grep userxuserx:!$6$UFR/z5Vu$UJVzHu6gJf3GOlodnXTjfKV8/C.WVQ9QcetOACf1exTaDsKk/2AS5RudLC5l3Yz7ioT9O9n5M5ICSdHEUgB3T1:17111:0:99999:7:::[root@ggg2 ~]# usermod -U userx[root@ggg2 ~]# cat /etc/shadow | grep userxuserx:$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 yyspec_yyuseryy

五、groupadd、groupdel

增加用户组,删除用户组

[root@ggg2 ~]# groupadd groupx[root@ggg2 ~]# cat /etc/group | grep groupxgroupx:x:502:[root@ggg2 ~]# groupdel groupx
在删除用户组时,如果这个组内还有用户,就会报错。

六、users、who、w

查看用户信息。

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

[root@ggg2 ~]# usersroot root root root
who命令:类似于users命令,只是更详细,包括  用户名,终端,主机名或ip地址。

[root@ggg2 ~]# whoroot     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.13USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHATroot     tty1     :0               08Sep16 58days 21:22  21:22  /usr/bin/Xorg :0 -br -verbose -audit 4 -auth /var/ruroot     pts/0    :0.0             19Oct16 17days  0.71s  0.61s -bashroot     pts/1    :0.0             08Sep16 17days  0.26s  0.07s mysql -u system -proot     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 ~]# fingerLogin     Name       Tty      Idle  Login Time   Office     Office Phoneroot      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)


0 0