Dos comandos de cambio de usuario de uso común en sistemas Linux

Directorio de artículos


1. El comando su

1. Gramática: (ortografía completa en inglés: cambiar de usuario)

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]

2. Descripción del parámetro:

-f或--fast:不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh。
-m,-p 或 --preserve-environment:执行su时不改变环境变量。
-c command--command=command:切换帐号并执行指令(command)后再变回原来使用者。
-s shell或--shell=shell:指定要执行的shell(bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell。
--help 显示说明文件
--version 显示版本资讯
-,-l 或--login:这个参数加了之后,就好像是重新 login 为该使用者一样,改变环境变量及目录。
USER 欲变更的使用者帐号
ARG 传入新的 shell 参数

3. Ejemplos comunes

Cambie la cuenta raíz y salga y regrese al usuario original después de ejecutar el comando ls

su -c ls root

Cambiar a postgres sin cambiar las variables de entorno

su -postgres

Cambie a postgres, cambie las variables de entorno y el directorio de trabajo (hay espacios en ambos lados de -)

su - postgres

Dos, comando sudo

1. Gramática:

sudo [ -Vhl LvkKsHPSb ][ -p prompt ] [ -c class│- ] [ -a auth_type ] [-u username│#uid ] command

2. Descripción del parámetro:

-V:显示版本编号。
-h:显示版本编号及指令的使用方式说明。
-l:显示出自己(执行 sudo 的使用者)的权限。
-v:sudo在第一次执行时或是在 N 分钟内没有执行(N 预设为五分钟)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码。
-k:将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)。
-b:将要执行的指令放在后台执行。
-p prompt:可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称。
-u username/#uid:无此参数代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令。
-s:执行环境变量中的SHELL所指定的shell,或是 /etc/passwd 里所指定的shell。

3. Cómo utilizar

Si desea completar un comando como otro usuario durante un corto período de tiempo, puede usar el comando sudo. Antes de usar dudo, debe modificar el archivo de configuración /etc/sudoers como root; de lo contrario, no se puede usar el comando sudo. Modifique el comando de la siguiente manera:

# sudoers文件追加写权限
chmod +w /etc/sudoers
# 编辑sudoers文件
vi /etc/sudoers

inserte la descripción de la imagen aquí
Como se muestra en la figura anterior, el primer ALL representa el host que puede ejecutar el comando sudo (ALL representa cualquier host); el segundo ALL representa el usuario que puede ejecutar el comando sudo como usuario (ALL representa el usuario raíz); el el tercero TODOS representa los comandos que se pueden ejecutar mediante sudo, varios comandos se pueden separar con "," (TODOS significa todos los comandos)

Nota: El cuadro rojo en la figura anterior son los datos recién agregados, lo que significa que el usuario de Postgres puede ejecutar todos los comandos en el directorio /usr/bin, pero no puede ejecutar el comando passwd (cambiar contraseña) en este directorio.

Cree una carpeta de prueba en el directorio /root como root

sudo mkdir /root/test

Como se muestra en la figura siguiente, después de modificar el archivo de configuración, la cuenta de postgres puede ejecutar el comando mkdir con privilegios de root; de lo contrario, aparecerá el mensaje "Sin permiso para crear archivos en este directorio". La primera vez que se ejecuta este comando, se requiere la contraseña de la cuenta de postgres.
inserte la descripción de la imagen aquí
Elimine la carpeta de prueba en el directorio /root como raíz

sudo rm -rf /root/test

inserte la descripción de la imagen aquí

Resumir

Dirección de descarga de documentos de Word: dos comandos de uso común para cambiar de usuario en sistemas Linux

Supongo que te gusta

Origin blog.csdn.net/ma286388309/article/details/129264121
Recomendado
Clasificación