在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 后面接想要执行的命令,表示用切换后的账号执行一次这个命令,随即切换回原账号
使用方法如下:
一般情况下,命令提示符里面的$代表普通用户,#代表root账号
此时使用env命令查看环境变量:
也可以这样使用:
su命令后面不跟账号,则默认切换为root,没有-或-l参数,则登录方式为nologin登录
此时使用env命令查看环境变量:
nologin与login登录,主要区别在于是否读取/etc/profiles配置文件-c参数的使用示例:
注意,命令执行后变回了普通用户的身份,创建的文件所有者为root
三,账号在/etc/sudoers内
这种情况下,我们更倾向于使用sudo命令执行需要管理员权限的命令。(使用自己账号的密码)
sudo常用参数如下:
-l 显示出账号的sudo权限
红线部分为账号使用sudo命令时的权限
-k 强制下一次使用sudo命令必须输入密码(一般执行一次sudo命令后五分钟内再次执行sudo无需输入密码)
-b sudo后面的命令在后台执行
-u 指定执行后面所接命令的执行者
-u参数后面也可以使用uid代替账号,但是要注意#前面一般需要加转义字符\
-p 参数主要用于更改询问密码时的提示语
-s 指定要启用的shell类型,默认为/etc/passwd中的shell类型
sudo的一般使用方式:
/etc/shadow普通账户没有权限查看,但是使用sudo命令则可以
sudo命令的使用,重点在于/etc/sudoers文件,这个后面再写,偷懒ing……