赞
踩
目录
Linux是一个多用户多任务操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
Linux系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响,为了能够让用户更加合理、安全地使用系统资源,从而产生了一套用户管理功能
Linux下的用户管理分为两类——用户管理和用户组管理
在Linux下,用户被分为三类
Linux中的用户是通过UID(uesr ID)进行标记的,UID类似于身份证号,与用户名一一对应,能唯一标识系统上的一个用户,三种用户类型的UID分别为
使用 id -u 命令可以查看当前登录用户的ID,如
注意到,root用户的提示符是#,而普通用户的提示符是$
修改用户的UID有两种方式
1. 使用 usermod -u 命令
请在root权限下修改,修改时可能出现usermod: user temp is currently used by process xxxxx,可在登陆时直接选择root登录
2. 修改 /etc/passwd配置文件
使用vim打开 /etc/passwd ,然后修改对应用户的uid保存退出即可,上一种方法本质上也是如此
对于用户管理来说,会涉及到两个配置文件,分别是:/etc/passwd 和 /etc/shadow。其中,/etc/passwd文件用于存储用户信息,/etc/shadow用于存储密码信息
/etc/passwd中的内容如上一小节所示,每一行代表一个用户信息,由 : 划分成7个部分
temp:x:1050:1002::/home/temp:/bin/bash
对于/etc/shadow配置文件来说,默认情况下只有根用户才有读取的权限,其他用户对此文件没有任何权限。我们使用根用户登录系统后,执行如下命令来查看shadow配置文件的信息
cat /etc/shadow 或 vim /etc/shadow
每一行代表一个用户信息,由 : 划分成9个部分
命令
useradd 用户名 -选项
选项
示例
输入useradd <用户名>之后,不带选项时系统会默认帮我们做如下动作
1. 在 /etc/passwd 文件中创建一行关于temp1用户的数据
2.在 /etc/shadow 文件中新增了一行关于temp1用户密码的数据
3. 在 /etc/group 文件中创建一行与用户名相同的组
4. 在 /etc/gshadow 文件中新增一行与新增群组相关的密码信息,一般没有密码
5. 自动创建用户的家目录,默认在/home下,与用户名同名
6. 将/etc/skel下的文件拷贝到主目录下
命令
passwd 用户名 -选项
选项
示例
如果不带用户名,则默认给当前登录的用户修改密码,root用户可以给其他用户设置密码,普通用户只能给自己设置密码,设置完密码后,查看/etc/shadow文件
由 !! 变成了字符串,代表密码设置成功,用户可以使用该密码登录
命令
userdel 用户名 -选项
选项
示例
注意,如果不带 -r选项,用户的家目录不会被删除
删除完成后,查看/etc/passwd 和/etc/shadow文件,发现temp1用户相应信息已删除
命令
su 用户名 -选项
选项
从普通用户切换成root用户
- // 方法一:su
- [hqs@VM-8-2-centos ~]$ su
-
- // 方法二:su -
- [hqs@VM-8-2-centos ~]$ su -
-
- // 方法三: su root
- [hqs@VM-8-2-centos ~]$ su root
输入命令之后按回车会提示你输入密码,注意此时的密码是root用户的密码,输入root密码后,就由普通用户切换成了root用户
- [hqs@VM-8-2-centos ~]$ su
- Password:
- [root@VM-8-2-centos hqs]# whoami
- root
从root用户切换成普通用户
- // 方法一:su + 用户名 ———— 可以从root直接切换成任一用户
- [root@VM-8-2-centos hqs]# su hqs
- [hqs@VM-8-2-centos ~]$ whoami
- hqs
-
- // 方法二:直接按ctrl + d
- [root@VM-8-2-centos ~]# whoami
- root
- [root@VM-8-2-centos ~]# logout // ctrl + d
- [hqs@VM-8-2-centos ~]$ whoami
- hqs
-
- // 方法三:logout
- [root@VM-8-2-centos ~]# logout
- [hqs@VM-8-2-centos ~]$ whoami
- hqs
超级用户切换成普通用户不需要输入密码
一个没有经过配置的普通用户是无法使用 sudo命令来提升自己的权限的
Linux下,将普通用户添加至sudo用户需要修改配置文件 /etc/sudoers/ ,要想完成这一操作首先需要我们切换成root用户
打开之后的文件如下
直接往下滑,或者输入“:”(shift+;)进入命令行模式,再输入反斜杠/,进行文本搜索关键字ALL=(ALL),按回车直接定位到要修改的位置
再图上位置添加下面的语句即可,注意退出保存时使用 wq!
用户名 ALL=(ALL) ALL
为temp用户添加sudo权限成功
Linux下的用户组主要分为两类
在Linux中,一个组不能属于另一个组,即Linux里不允许嵌套组的存在
GID:用户所在基本组的标识,是一个数值,用它来区分不同的组,相同的组具有相同的 GID
root用户的 UID = 0, GID = 0,在创建普通用户时,可以使用-g选项指定所属的组,否则默认的 GID = UID
修改用户的GID可以用如下命令
groupmod -g 新的组ID 用户名
将已经存在的用户添加到已经存在的组中可以使用如下命令
uesrmod -a -G 要添加的组 用户名
Linux下一个用户可以属于多个组,这里将temp2用户添加到GID = 1002的组中,查看/etc/group文件
对于用户组管理而言,其配置文件为:/etc/group和 /etc/gshadow
使用vim打开/etc/group
和/etc/passwd一样,每一行代表一个组信息,每一行又通过:隔开,分为四部分
命令
groupadd 新增用户组名
示例
groupadd test
打开/etc/group查看,用户组添加成功
命令
groupdel 删除的用户组名
示例
groupdel test
打开/etc/group查看,用户组删除成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。