用户管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统 Linux的用户需要至少属于一个组
/home/目录下有各个创建的用户对应的目录,用户登录会自动进入到自己的目录下
# useradd 添加用户
useradd [选项] 用户名
- useradd 用户名
- 添加用户
- useradd -g 组名 用户名
- 添加新用户到某个组
[root@hadoop100 home]# useradd ttshe
[root@hadoop100 home]# ll /home
1
2
2
创建用户成功后,会自动的创建和用户同名的家目录,也可以通过useradd -d 指定目录 新用户名,给新创建的用户指定 home目录
useradd -d /home/my myname
1
# passwd 设置密码
passwd 用户名
- 设置密码
# userdel 删除用户
userdel 用户名
- 删除用户但保存用户的主目录
userdel -r 用户名
-r 表示删除用户以及与用户相关的所有文件
删除用户和用户主目录
删除用户时,一般不删除/home/下的用户目录
# id 查看用户信息,含用户组
id 用户名
- 当用户不存在,返回 没有该用户
[root@hadoop100 home]# id ttshe
uid=500(ttshe) gid=500(ttshe) 组=500(ttshe)
# uid=500 --500表示用户id号
# gid=500 --500表示所在组的ID号
# 组 = 500(ttshe) -- ttshe表示组名
1
2
3
4
5
2
3
4
5
# su 切换用户
su 用户名
- 切换用户,只能获取用户的执行权限,不能获得环境变量
su - 用户名
- 切换用户并获取环境变量和执行权限
[root@hadoop100 home]# su ttshe
[ttshe@hadoop100 home]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[ttshe@hadoop100 home]$ exit
exit
[root@hadoop100 home]# su - ttshe
[ttshe@hadoop100 ~]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/ttshe/bin # 注意这里使用了ttshe/bin路径下的命令执行
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- 切换到root,如果之前使用了su - ttshe,那么切换到root,要使用root的环境变量则需要使用su - root
- 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
- 当需要返回到原来的用户时,使用exit指令
# cat /etc/passwd 查看创建的用户
cat /etc/passwd
1
# who 查看登录用户信息
whoami # 显示自身用户名称
who am i # 显示登录用户的用户名
[ttshe@hadoop100 ~]$ whoami
ttshe
[ttshe@hadoop100 ~]$ who am i
root pts/0 2019-03-21 21:44 (192.168.1.1)
1
2
3
4
5
6
7
2
3
4
5
6
7
# sudo 设置用户具有root权限
给普通用户附上root的权限,每次执行时使用sudo命令
# 先创建用户ttshe
useradd ttshe
# 设置密码
passwd ttshe
# 修改配置文件 在第91行
vim /etc/sudoers
90 ## Allow root to run any commands anywhere
91 root ALL=(ALL) ALL
92 ttshe ALL=(ALL) ALL # NOPASSWD:ALL --表示设置没有密码,在使用sudo时可不用输入密码
# 使用sudo进行操作
[root@hadoop100 ttshe]# su ttshe
[ttshe@hadoop100 home]$ mkdir test03
mkdir: 无法创建目录"test03": 权限不够
[ttshe@hadoop100 home]$ sudo mkdir test03
# 使用sudo 在输入密码后,可以执行成功 如果要查看某些问题件
[ttshe@hadoop100 home]$ useradd ttshe2
bash: /usr/sbin/useradd: 权限不够
[ttshe@hadoop100 home]$ sudo useradd ttshe2
[ttshe@hadoop100 home]$ ls -l ttshe2
ls: 无法打开目录ttshe2: 权限不够
[ttshe@hadoop100 home]$ sudo ls -l ttshe2
总用量 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Last Updated: 2022/03/20, 10:04:55