linux 用户管理
2022/2/24 7:21:24
本文主要是介绍linux 用户管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
用户账号的添加、删除与修改
添加用户语法:useradd 选项 用户名
参数说明:
-
选项:
-
-c comment 指定一段注释性描述。
-
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-
-g 用户组 指定用户所属的用户组。
-
-G 用户组,用户组指定用户所属的附加组。
-
-s Shell文件 指定用户的登录Shell。
-
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-
用户名:
指定新账号的登录名。
[root@VM-20-7-centos /]# useradd weick [root@VM-20-7-centos /]# cd home [root@VM-20-7-centos home]# ls lighthouse mydoc weick www [root@VM-20-7-centos home]# ls -l total 16 drwx------ 5 lighthouse lighthouse 4096 Feb 15 19:40 lighthouse drwxr-xr-x 2 root root 4096 Feb 23 09:47 mydoc drwx------ 2 weick weick 4096 Feb 23 22:28 weick drwxr-xr-x 2 root root 4096 Jan 14 11:27 www [root@VM-20-7-centos home]#
删除用户语法:userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
[root@VM-20-7-centos home]# ls lighthouse mydoc uuu weick www [root@VM-20-7-centos home]# userdel -r uuu [root@VM-20-7-centos home]# ls lighthouse mydoc weick www
此命令删除用户 uuu 在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
修改账号语法:usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
,这些选项的意义与useradd
命令中的选项一样,可以为用户指定新的资源值。 另外,有些系统可以使用选项:-l 新用户名这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
[root@VM-20-7-centos home]# ls lighthouse mydoc weick www zhangsan [root@VM-20-7-centos home]# usermod -l zhangsan lisi usermod: user 'lisi' does not exist [root@VM-20-7-centos home]# usermod -l lisi zhangsan [root@VM-20-7-centos home]# ls lighthouse mydoc weick www zhangsan [root@VM-20-7-centos home]# cd zhangsan [root@VM-20-7-centos zhangsan]# ls
zhangsan 修改 lisi 成功,还是在home里面,被隐藏了!!!
[root@VM-20-7-centos zhangsan]# cd .. [root@VM-20-7-centos home]# ls -al total 28 drwxr-xr-x. 7 root root 4096 Feb 23 22:37 . dr-xr-xr-x. 20 root root 4096 Feb 23 22:43 .. drwx------ 5 lighthouse lighthouse 4096 Feb 15 19:40 lighthouse drwxr-xr-x 2 root root 4096 Feb 23 09:47 mydoc drwx------ 2 weick weick 4096 Feb 23 22:28 weick drwxr-xr-x 2 root root 4096 Jan 14 11:27 www drwx------ 2 lisi zhangsan 4096 Feb 23 22:37 zhangsan [root@VM-20-7-centos home]# passwd zhangsan passwd: Unknown user name 'zhangsan'. [root@VM-20-7-centos home]# passwd lisi Changing password for user lisi. New password: BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word Retype new password: passwd: all authentication tokens updated successfully. [root@VM-20-7-centos home]# su lisi [lisi@VM-20-7-centos home]$ ls lighthouse mydoc weick www zhangsan
[lisi@VM-20-7-centos ~]$ ls [lisi@VM-20-7-centos ~]$ cd .. //这里返回home看出是在home目录下 [lisi@VM-20-7-centos home]$ ls lighthouse mydoc weick www zhangsan [lisi@VM-20-7-centos home]$ ls -al total 28 drwxr-xr-x. 7 root root 4096 Feb 23 22:37 . dr-xr-xr-x. 20 root root 4096 Feb 23 22:53 .. drwx------ 5 lighthouse lighthouse 4096 Feb 15 19:40 lighthouse drwxr-xr-x 2 root root 4096 Feb 23 09:47 mydoc drwx------ 2 weick weick 4096 Feb 23 22:28 weick drwxr-xr-x 2 root root 4096 Jan 14 11:27 www drwx------ 4 lisi zhangsan 4096 Feb 23 22:45 zhangsan
用户口令管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。 指定和修改用户口令的Shell命令是passwd
。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:passwd
选项 用户名
可使用的选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
遇到问题
当想删除某个用户的时候,出现 user xxx is currently used by process xxx,可能的原因是创建用户user1之后,使用su命令切换到user1用户下,之后又想删除user1用户,使用su root切换到root用户下,使用userdel user1。出现上述情况的根本原因在于切换回root用户之后,user1还被某个进程占用。
[root@VM-20-7-centos home]# su lisi [lisi@VM-20-7-centos home]$ ls lighthouse mydoc weick www zhangsan [lisi@VM-20-7-centos home]$ userdel -r lisi userdel: user lisi is currently used by process 18658 [lisi@VM-20-7-centos home]$ su root Password: [root@VM-20-7-centos home]# userdel -r lisi userdel: user lisi is currently used by process 18658
解决方案:ctrl+d(退出当前用户)第一次使用ctrl+d退出root用户,回到user1用户;第二次使用ctrl+d退出user1用户,此时会返回到root用户(再按ctrl+d退出登陆连接),此时使用userdel user1正常删除。
[root@VM-20-7-centos home]# userdel -r lisi userdel: user lisi is currently used by process 18658 [root@VM-20-7-centos home]# exit [lisi@VM-20-7-centos home]$ exit [root@VM-20-7-centos home]# userdel -r lisi [root@VM-20-7-centos home]# ls lighthouse mydoc weick www //删除了更名后的李四,张三被删除了!
也可以把对应的进程杀了再删
ps -u username | awk '{print $1}' | grep -vi pid | xargs kill -9 && deluser username
或暴力删除
userdel -r -f XXXname
这篇关于linux 用户管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法