Linux 学习笔记(5)- 本地用户和组的管理
Linux 学习笔记(5)- 本地用户和组的管理,这一节跟老师学习了RHEL7的用户管理
在Windows里面,用户信息和密码是保存C:\windows\system32\config\sam 中,类似的,RHEL是将信息保存在 /etc/passwd 和 /etc/shadow 里面
管理用户可以通过图形界面或者命令行,首先我们看看图形工具
安装
df -h 查看挂载点
切换用户到root,安装rpm包
打开图形工具
打开界面如下所示
看看用户的属性, 注意login Shell的区别,默认是/bin/bash, 如果设定成/sbin/nologin,那么该用户只能访问共享目录,但是无法登陆或者SSH到RHEL的服务器,甚至连su 也没法切换过去
账号信息可以设置过期和加锁,解锁账号。如果账号被锁,只有root才能解锁
密码信息
从上到下依次表示:
新密码必须至少使用的时间;
新密码最多可以使用的时间;
新密码过期前多少天进行通知;
密码过期后的缓冲期,缓冲期间不会锁住账号,默认-1表示不会锁住账号
最后是组,每个新用户被创建的时候,会自动创建一个同名的组
-------------------------------------------------------------------------------------------------------------------------------------
下面看看对应的命令行如何操作
添加用户可以使用useradd 或者 adduser
例如 我可以添加一个用户 tom,指定Full Name,登录的Shell类型,以及默认的组为beanxyz
可以刷新GUI确认
因为创建用户的时候我没有指定密码,所以默认是锁住的
默认组本来应该是同名的用户名,但是我指定为beanxyz组
可以用passwd设定密码,这里用echo和管道传入
修改用户属性可以用usermod来实现
例如,我修改tom的全称,添加他到wheel 组,并修改家目录到 /home/tom1, 尽管记录已经修改了,但是/home/tom1本身并不存在
手动创建/home/tom1,拷贝默认的家目录文件,并修改所有者
切换到tom看看家目录的路径,以上修改成功
如果看看usermod的帮助,里面有个-m的命令好像也可以更改家目录,试试看
结果表明他直接把家目录从/home/tom1 剪切到 /home/tom2了
usermod还可以加锁,解锁用户
解锁
同样的加锁解锁功能用passwd也可以实现
另外如果希望某个用户具有root的权限,可以把他放入wheel组
首先确认一下配置文件 vim /etc/sudoers,如下所示 105行
然后添加指定的用户到wheel组,切换回该用户,发现可以直接sudo使用root权限了
更改用户的组,可以用gpasswd来实现
比如,添加tom到root组
我们还可以用chage来更改账户信息
语法如下
首先看看tom的账户信息
更改一下过期时间和密码的最大有效期,再看看结果
如果想强制用户下次登录更改密码,可以使用 chage -d 0 user
如何修改新建用户的各项默认值呢?
打开的默认配置文件
删除用户可以用userdel, 如果不加 -r 的参数,则不会删除家目录
组的信息可以在 /etc/group文件查看
添加组,删除组
下面是一个测试,创建一个用户,删除该用户但是保留其家目录,然后创建一个新用户,指定新用户的uid和家目录到之前的目录,可以视作和之前用户具有同样的权限,因为UID是一样的
创建用户 tom,设置密码
查看tom的UID和Home Directory
切换到tom账号,创建新目录和文件,查看属性
退出tom账号,然后删除 tom,保留家目录;然后创建一个新用户 bob,设定家目录和UID都和tom一样
设置密码
登录 bob,然后查看文件属性,所有者和组自动从tom变成bob了