在linux系统中,要管理账号密码等很多时候需要管理员权限(除非只操作自己的),所以这里先介绍管理员权限的取得方法。一般存在以下三种情况:

一,新安装的linux发行版

 在这种情况下,管理员密码一般未设置,所以我们可以使用sudo passwd root命令,这时候系统一般会显示Enter new UNIX passwd:。在后面输入你想要设置的root密码,回车。
 继续显示Retype new UNIX passwd:。再输入一次root密码,回车。终端显示passwd update succsessfully表示管理员密码设置成功。

二,拥有管理员密码

 在这种情况下,我们就可以使用su命令切换为管理员身份。(需要管理员密码)

su命令常用参数如下:

-m,-p 执行su命令时不改变环境变量

-,-l 大部分环境变量包括工作目录会变为切换后的账号

-s 后面跟要指定shell类型,默认为/etc/passwd中指定类型

-c 后面接想要执行的命令,表示用切换后的账号执行一次这个命令,随即切换回原账号

使用方法如下:

centos linux增加管理员_运维

一般情况下,命令提示符里面的$代表普通用户,#代表root账号

此时使用env命令查看环境变量:

centos linux增加管理员_centos linux增加管理员_02

也可以这样使用:

centos linux增加管理员_运维_03

su命令后面不跟账号,则默认切换为root,没有-或-l参数,则登录方式为nologin登录

此时使用env命令查看环境变量:

centos linux增加管理员_linux_04

nologin与login登录,主要区别在于是否读取/etc/profiles配置文件-c参数的使用示例:

centos linux增加管理员_centos linux增加管理员_05


注意,命令执行后变回了普通用户的身份,创建的文件所有者为root

三,账号在/etc/sudoers内

 这种情况下,我们更倾向于使用sudo命令执行需要管理员权限的命令。(使用自己账号的密码)

sudo常用参数如下:

-l 显示出账号的sudo权限

centos linux增加管理员_centos linux增加管理员_06


红线部分为账号使用sudo命令时的权限

-k 强制下一次使用sudo命令必须输入密码(一般执行一次sudo命令后五分钟内再次执行sudo无需输入密码)

-b sudo后面的命令在后台执行

-u 指定执行后面所接命令的执行者

centos linux增加管理员_centos linux增加管理员_07


centos linux增加管理员_linux_08


-u参数后面也可以使用uid代替账号,但是要注意#前面一般需要加转义字符\

-p 参数主要用于更改询问密码时的提示语

-s 指定要启用的shell类型,默认为/etc/passwd中的shell类型

sudo的一般使用方式:

centos linux增加管理员_环境变量_09

/etc/shadow普通账户没有权限查看,但是使用sudo命令则可以

sudo命令的使用,重点在于/etc/sudoers文件,这个后面再写,偷懒ing……