root特权
1、可以进入任何目录,对任何文件都有读权限,比如/etc /var 等等
2、一般没有特殊限制(粘着位等)等root对任何文件都可以操作删除。
3、系统命令sbin(system bin)目录(/sbin /usr/sbin …)下的程序只有root才可以使用.
4、获取一些硬件的数据的操作,比如监听网卡的流量。
5、不受系统软硬件限制,比如磁盘空间,内存态的东西,root基本上都可以突破一般限制使用。比如监听端口1024以下端口是特权端口,只有root权限才可以监听。
6、对任何账号的目录、文件、进程等都可以控制管理。
一般用户
只对个人用户根目录(一般是 /hone/用户名),系统设置777的目录比如(/tmp)等有完全权限,收文件系统权限限制。
只能使用/bin /usr/bin等目录下的命令。
主要区别
除了以上列举的区别为,还有更目录位置是不一样的,root用户在系统根目录下有单短的目录“/root”目录(非root用户不可读);一般用户在“/home/用户名”目录(只有本用户和root用户可读);
两者终端命令提示符号也是不一样:root用户命令提示符最后是#,一般用户是$。
一般用户转root用户su和sudo
一般用户可以通过su 获取root权限,进入到root终端,su过程需要输入root密码。
通过sudo也可以通过sudo -s(不带环境变量), sudo-i获得root权限。或者通过sudo cmd 用特权账号执行命令,sudo需要事先赋予sudo权限,使用过程中要输入自己的账号密码。
sudo也可以在赋予sudo权限时候限制使用范围、目录和执行命令等,这样可以使得一般用户只能获得必须的特权命令命令。比如笔者常用的是
user ALL=(root) NOPASSWD: ALL,!/bin/bash,!/usr/sbin/visudo,!/bin/su。
这样就可以使得一般用户不能使用sudo -s ,sudo -i ,不能自己修改sudo文件,不能使用sudo su等,更多的可以参考sudo的官方文档。
推荐教学:《centos教学》