Linux 学习笔记(5)- 本地用户和组的管理

diediexiaomi 2014-12-28

Linux 学习笔记(5)- 本地用户和组的管理,这一节跟老师学习了RHEL7的用户管理

在Windows里面,用户信息和密码是保存C:\windows\system32\config\sam 中,类似的,RHEL是将信息保存在 /etc/passwd 和 /etc/shadow 里面

Linux 学习笔记(5)- 本地用户和组的管理

管理用户可以通过图形界面或者命令行,首先我们看看图形工具

安装

df -h 查看挂载点

Linux 学习笔记(5)- 本地用户和组的管理

切换用户到root,安装rpm包

Linux 学习笔记(5)- 本地用户和组的管理

打开图形工具

Linux 学习笔记(5)- 本地用户和组的管理

打开界面如下所示

Linux 学习笔记(5)- 本地用户和组的管理

看看用户的属性, 注意login Shell的区别,默认是/bin/bash, 如果设定成/sbin/nologin,那么该用户只能访问共享目录,但是无法登陆或者SSH到RHEL的服务器,甚至连su 也没法切换过去

Linux 学习笔记(5)- 本地用户和组的管理

账号信息可以设置过期和加锁,解锁账号。如果账号被锁,只有root才能解锁

Linux 学习笔记(5)- 本地用户和组的管理

密码信息

从上到下依次表示:

新密码必须至少使用的时间;

新密码最多可以使用的时间;

新密码过期前多少天进行通知;

密码过期后的缓冲期,缓冲期间不会锁住账号,默认-1表示不会锁住账号

Linux 学习笔记(5)- 本地用户和组的管理

最后是组,每个新用户被创建的时候,会自动创建一个同名的组

Linux 学习笔记(5)- 本地用户和组的管理

-------------------------------------------------------------------------------------------------------------------------------------

下面看看对应的命令行如何操作

添加用户可以使用useradd 或者 adduser

Linux 学习笔记(5)- 本地用户和组的管理

例如 我可以添加一个用户 tom,指定Full Name,登录的Shell类型,以及默认的组为beanxyz

Linux 学习笔记(5)- 本地用户和组的管理

可以刷新GUI确认

Linux 学习笔记(5)- 本地用户和组的管理

因为创建用户的时候我没有指定密码,所以默认是锁住的

Linux 学习笔记(5)- 本地用户和组的管理

默认组本来应该是同名的用户名,但是我指定为beanxyz组

Linux 学习笔记(5)- 本地用户和组的管理

可以用passwd设定密码,这里用echo和管道传入

Linux 学习笔记(5)- 本地用户和组的管理

修改用户属性可以用usermod来实现

Linux 学习笔记(5)- 本地用户和组的管理

例如,我修改tom的全称,添加他到wheel 组,并修改家目录到 /home/tom1, 尽管记录已经修改了,但是/home/tom1本身并不存在

Linux 学习笔记(5)- 本地用户和组的管理

手动创建/home/tom1,拷贝默认的家目录文件,并修改所有者

Linux 学习笔记(5)- 本地用户和组的管理

切换到tom看看家目录的路径,以上修改成功

Linux 学习笔记(5)- 本地用户和组的管理

如果看看usermod的帮助,里面有个-m的命令好像也可以更改家目录,试试看

结果表明他直接把家目录从/home/tom1 剪切到 /home/tom2了

Linux 学习笔记(5)- 本地用户和组的管理

usermod还可以加锁,解锁用户

Linux 学习笔记(5)- 本地用户和组的管理

Linux 学习笔记(5)- 本地用户和组的管理

解锁

Linux 学习笔记(5)- 本地用户和组的管理

Linux 学习笔记(5)- 本地用户和组的管理

同样的加锁解锁功能用passwd也可以实现

Linux 学习笔记(5)- 本地用户和组的管理

另外如果希望某个用户具有root的权限,可以把他放入wheel组

首先确认一下配置文件 vim /etc/sudoers,如下所示 105行

Linux 学习笔记(5)- 本地用户和组的管理

然后添加指定的用户到wheel组,切换回该用户,发现可以直接sudo使用root权限了

Linux 学习笔记(5)- 本地用户和组的管理

更改用户的组,可以用gpasswd来实现

Linux 学习笔记(5)- 本地用户和组的管理

比如,添加tom到root组

Linux 学习笔记(5)- 本地用户和组的管理

我们还可以用chage来更改账户信息

语法如下

Linux 学习笔记(5)- 本地用户和组的管理

首先看看tom的账户信息

Linux 学习笔记(5)- 本地用户和组的管理

更改一下过期时间和密码的最大有效期,再看看结果

Linux 学习笔记(5)- 本地用户和组的管理

如果想强制用户下次登录更改密码,可以使用 chage -d 0 user

Linux 学习笔记(5)- 本地用户和组的管理

Linux 学习笔记(5)- 本地用户和组的管理

如何修改新建用户的各项默认值呢?

Linux 学习笔记(5)- 本地用户和组的管理

打开的默认配置文件

Linux 学习笔记(5)- 本地用户和组的管理

删除用户可以用userdel, 如果不加 -r 的参数,则不会删除家目录

Linux 学习笔记(5)- 本地用户和组的管理

组的信息可以在 /etc/group文件查看

Linux 学习笔记(5)- 本地用户和组的管理

添加组,删除组

Linux 学习笔记(5)- 本地用户和组的管理

下面是一个测试,创建一个用户,删除该用户但是保留其家目录,然后创建一个新用户,指定新用户的uid和家目录到之前的目录,可以视作和之前用户具有同样的权限,因为UID是一样的

创建用户 tom,设置密码

Linux 学习笔记(5)- 本地用户和组的管理

查看tom的UID和Home Directory

Linux 学习笔记(5)- 本地用户和组的管理

切换到tom账号,创建新目录和文件,查看属性

Linux 学习笔记(5)- 本地用户和组的管理

退出tom账号,然后删除 tom,保留家目录;然后创建一个新用户 bob,设定家目录和UID都和tom一样

Linux 学习笔记(5)- 本地用户和组的管理

设置密码

Linux 学习笔记(5)- 本地用户和组的管理

登录 bob,然后查看文件属性,所有者和组自动从tom变成bob了

Linux 学习笔记(5)- 本地用户和组的管理