Linux 用户管理 2 之切换用户

本文介绍了在Linux系统中如何使用su和sudo命令切换用户及管理权限。讲解了su命令的不同用法,包括不完全切换和完全切换,以及通过-s和-c选项执行特定命令。此外,还详细阐述了sudo权限的获取,包括编辑/etc/sudoers文件或在/etc/sudoers.d/目录下添加用户文件。最后,建议使用sudo而非root直接执行命令,因为sudo命令会被记录在/var/log/secure日志中,便于审计。
摘要由CSDN通过智能技术生成

Linux 用户管理 1 之简介
Linux 用户管理 2 之切换用户
Linux 用户管理 3 之创建用户
Linux 用户管理 4 之密码管理
Linux 用户管理 5 之用户属性属性

在 Linux 中普通用户切换到 root 用户,需要输入 root 用户的密码,而 root 用户切换到普通用户,不需要用户名密码。

我们可以使用 su 命令进行用户切换。

切换用户方式:

  • su UserName 不完全切换(不会改变用户环境变量)
  • su - UserName 完全切换

通过 -s 选项,指定用户登录后使用的 shell:

root@ubuntusvr:~# su - -s /bin/bash  user02
user02@ubuntusvr:~$ pwd
/home/user02

通过 -c 选项,可以使用指定的用户运行命令,而不需要切换到该用户:

root@ubuntusvr:~# su user01 -c "touch /data/testfile.txt"
root@ubuntusvr:~# ls -l /data/testfile.txt 
-rw-rw-r-- 1 user01 user01 0 2月  23 15:06 /data/testfile.txt

我们也可以通过 sudo 直接进行提权,以 root 身份来运行该命令(相当于 Windows 中以管理员身份运行):

it@ubuntusvr:~$ sudo touch /data/f1
[sudo] password for it: 
it@ubuntusvr:~$ ls -l /data/f1
-rw-r--r-- 1 root root 0 2月  23 15:08 /data/f1

* 运行 sudo 的命令需要分配专门的权限。在 Ubuntu 系统中,默认不允许直接使用 root 用户,所以在安装系统创建的用户就默认拥有 sudo 权限,系统创建好后,创建的用户都没有 sudo 权限;在 RHEL/CentOS 中,系统安装时,已经启用了 root,所有安装系统创建的用户没有 sudo 权限。

获取 sudo 权限

所有关于 sudo 的配置都写在 /etc/sudoers,不过不建议直接编辑 sudoers 文件,应使用 visudo 命令进行编辑。

使用 visudo 添加用户权限(添加用户 user1),在文件的末尾添加 “user1 ALL=(ALL) ALL”:

[root@CentOS8test ~]# visudo 
[root@CentOS8test ~]# cat /etc/sudoers  | grep -Ev "^$|#"
Defaults   !visiblepw
Defaults    always_set_home
Defaults    match_group_by_gid
Defaults    always_query_group_plugin
Defaults    env_reset
Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值