Linux用户和用户组管理(上)
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改。
- 用户口令的管理。
- 用户组的管理。
新增用户(useradd)
1:命令作用
useradd命令可以用来建立用户账号,此命令只有系统管理员root用户才能使用
2:命令格式
useradd命令的格式为“useradd [选项] 用户账号名”
useradd命令及含义
-d:指定用户登入时的起始目录(家目录)
-c:指定用户账号的失效日期
-f:指定在密码过期后多少天即关闭该账号
-g:指定用户所属的用户组
-G:指定用户所属的附加组
-r:建立系统用户账号
-s:指定用户登入所使用的shell
-u:指定用户id
3:命令案例
新增一个用户user1
新增一个用户user2,指定其UID为2000
新增一个用户user3,指定其家目录为/opt/dir
新增一个用户user4,指定其用户组为user3用户组
新增一个临时用户user5,设定其账号有效期至2020年12月30日
[root@stay admin]# cat /etc/passwd
使用useradd命令时,加上-e选项,可以在新增用户时指定其失效日期。执行命令“useradd -e 2020-12-30 user5 ”后,查看/etc/shadow文件,可以看到user5用户信息中的失效时间为18626,这个数字是从1970年1月1日为1不断累加得到的,如果想知道这个数字对应的是哪一天,可以使用date命令
修改用户(usermod)
1:命令作用
usermod命令用于修改用户的基本信息,但不能修改已经登录系统用户的账号名称
2:命令格式
usermod命令格式为“usermod [选项] 用户账户名”
3:命令选项
usermod命令选项及含义
-d:修改用户登录时的目录(家目录)
-e:修改账号的有效期限
-g:修改用户所属的用户组
-G:修改用户所属的附加组
-l:修改用户账号名称
-L:锁定用户密码,使密码无效
-s:修改用户登录后使用的shell
-u:修改用户UID
-U:解除密码锁定
4:命令案例
将user1用户的UID设置为1200
将user1用户的家目录修改为/opt/dir1
将user1用户所属的用户组修改为user2用户组
设置用户密码(passwd)
1:命令作用
passwd命令主要用于设置用户的密码。普通用户只能设置自己的密码,而root用户,可以为所有用户设置密码
2:命令格式
passwd命令格式为“passwd [选项] 用户账户名”
3:命令选项
passwd命令选项及含义
-d:删除密码
-f:强制执行
-l:锁住用户密码
-s:列出密码的相关信息
-u:解开已锁定的账号
4:命令案例
设置user1用户的密码为000000
设置user1用户密码失效
解除被锁定的user1用户
设置user1用户账号密码为空
切换用户(su)
1:命令作用
su命令用于用户身份的切换,包括从root用户切换为普通用户、从普通用户切换为root用户以及不同用户之间的切换三种情况。其中从root用户切换普通用户,无需输入密码,直接完成切换,其他两种情况,都需要正确输入对方的密码,才能完成切换
2:命令格式
su命令格式为“su [选项] 用户账号名”
3:命令选项
-c<命令>:执行完指定的命令后,即恢复原来的身份
-f:用于csh与tsch,使shell不读取启动文件
-l:变更用户身份时,变更环境变量
-s<shell>:指定要执行的shell
4:命令案例
从root用户切换至user2用户
删除用户(userdel)
1:命令作用
userdel命令用于删除用户的相关数据,此命令只有管理员root用户才能使用
2:命令格式
userdel命令格式为“userdel [选项] 用户账号名”
3:命令选项
userdel命令选项及含义
-f:强制删除用户,即使用户当前已登录
-r:删除用户的同时,删除与用户相关的所有文件
4:命令案例
Linux用户和用户组管理(下)
新增用户组(groupadd)
1:命令作用
groupadd命令可用来建立新的用户组,只有系统管理员root用户可以使用groupadd命令,新用户组的信息将被添加到系统文件中
2:命令格式
groupadd命令格式为“groupadd [选项] 用户组名”
3:命令选项
groupadd命令选项及含义
-g:指定新建用户组GID
-K:覆盖配置文件“/ect/login.defs”
-o:允许使用重复的用户组GID
-p:设置用户组密码
-r:创建系统用户组
4:命令案例
新增一个用户组group1
新增一个系统用户组group2
新增一个用户组group3,指定其GID为1600
新增一个用户组group4,指定其GID为1600
允许使用重复的用户组GID
[root@stay admin]# groupadd -g 1600 group4
groupadd:GID “1600”已经存在
[root@stay admin]# groupadd -o -g 1600 group4
[root@stay admin]# cat /etc/group
修改用户组(groupmod)
1:命令作用
groupmod命令用来修改用户名的相关信息,如用户组GID、名称等
2:命令格式
groupmod命令格式为“groupmod [选项] 用户组名”
3:命令选项
groupmod命令选项及含义
-g:修改用户组名
-o:允许使用已存在的用户组GID
-n:修改用户组名称
4:命令案例
将group4用户组的GID修改为1200
[root@stay admin]# groupmod -g 1200 group4
[root@stay admin]# cat /etc/group
将group3用户组的GID修改为1200
[root@stay admin]#
[root@stay admin]# groupmod -g 1200 group3
groupmod:GID “1200”已经存在
[root@stay admin]# groupmod -o -g 1200 group3
[root@stay admin]# cat /etc/group
将group4用户组的组名修改为newgroup
管理用户组(gpasswd)
1:命令作用
gpasswd命令用于将一个用户添加到用户组或者从用户组中删除,还可以使用该命令给用户组设置一个组管理员
2:命令格式
gpasswd命令格式为“gpasswd [选项] 用户组名”
3:命令选项
gpasswd命令选项及含义
-a:将一个用户加入到一个用户组中
-d:将一个用户从一个用户组中删除
-r:取消一个用户组的组密码
-R:限制其成员访问用户组
-A:指定用户组的管理员
4:命令案例
设置用户组group1的密码为123456
[root@stay admin]# gpasswd group1
正在修改 group1 组的密码
新密码:
请重新输入新密码:
[root@stay admin]#
删除用户组(groupdel)
1:命令作用
groupdel命令用于删除用户组,此命令只有root用户才能使用。此命令仅适用于删除“不是任何用户初始组”的用户组,如果用户组还是某用户的初始组,则无法成功删除
2:命令格式
groupdel命令格式为“groupdel 用户组名”
3:命令案例
[root@stay admin]# groupdel group1
[root@stay admin]# groupdel group2
[root@stay admin]# groupdel group3
[root@stay admin]# groupdel newgroup
可见已经删除
切换用户组(newgrp)
1:命令作用
newgrp命令可以从用户的附加组中选择一个用户组,作为用户新的初始组
2:命令格式
newgrp命令格式为“newgrp 用户组名”
3:命令案例
新增2个用户组usergroup1、usergroup2
[root@stay admin]# groupadd usergroup1
[root@stay admin]# groupadd usergroup2
[root@stay admin]# useradd test
[root@stay admin]# passwd test
更改用户 test 的密码
新的密码:
重新输入新的密码:
passwd:所有的身份验证令牌已经成功更新。
[root@stay admin]#
创建一个用户test,将用户test加入到usergroup1和usergroup2中
从root用户切换至test用户,创建file1文件,将test用户所属用户组切换为usergroup1,创建file2文件,将test用户所属用户组切换为usergroup2,创建file3文件
使用ll命令,可以看到刚创建的三个文件所属用户组分别是test用户组、usergroup1用户组、usergroup2用户组,这就是newgrp命令发挥的作用,即通过切换附加组使之成为新的初始组,从而让用户获得使用各个附加组的权限
备注:如有错误,请谅解!
此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人