在linux基础命令第五弹中http://t.csdnimg.cn/Fu5cJ我们学到了关于如何查看命令选项的帮助手册,到此,基础命令的学习先告一段落,我们来学习linux有关用户和权限的问题,这是很有必要的,如果任何人都可以修改我们的文件内容,那岂不是乱套了?所以我们有些是不能修改的,什么可以修改,什么不能修改,下面就带你看看!
1.什么是root用户?
无论是windows还是linux,都采用多用户管理的模式进行权限管理
在linux系统中,拥有最大权限的用户为:root,而在其他时间我们一直使用的是普通用户:azfei,而不同的用户又可以组成用户组
root用户拥有最大的权限,而普通用户在许多地方的权限是受限的,比如:
我们想要在普通用户状态下,在根目录下创建test目录,发现是无法创建的:
而当我们切换到root用户后,发现这个命令就可以执行了:
总的来说,普通用户的权限一般在其HOME目录内是不受限的,一旦超出了这个范围,大多数地方,只有只读和执行权限,没有修改权限。
1.1 用户切换命令
1.1.1 su和exit命令
在此之前,我就对su、su root、su - root、sudo命令进行了简单的讲解和区分,su(Switch User)命令就是用于账户切换的系统命令
语法:su [-] 用户名
[-]是可选的,表示是否在切换用户后加载环境变量,后面再说
参数表示要切换到的用户名,切换用户后可以通过exit命令退回到上一个用户,也可以使用ctrl+d。
普通用户切换到root用户需要输入密码,而root用户切换到其他用户无需密码
1.1.2 sudo命令
虽然我们可以使用root,但长时间的使用还是可能会带来系统损坏的问题,所以我们找个代理人sudo,用它来为普通的命令授权,临时以root身份执行。
语法:sudo 其他命令
我们仍需要为普通用户配置sudo认证
1.1.3 为普通用户配置sudo认证
切换到root用户,执行visudo命令或者vim /etc/sudoers,在文件的最后添加这行文字
azfei ALL=(ALL) NOPASSWD:ALL
最后通过wq保存,此时再切换到普通用户,执行的命令就以root的身份运行了。
2.用户和用户组
2.1 概念
linux系统可以配置多个用户、多个用户组、用户加入多个用户组中。
linux中关于权限的管控级别有2个:1是针对用户的权限控制,2是针对用户组的权限控制。
针对某个文件,可以控制用户的权限,也可以控制用户组的权限,所以我们需要学习有关用户和用户组的基础命令。
2.2 用户组管理
接下来的命令都需要root用户执行
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
2.3 用户管理
接下来的命令都需要root用户执行
创建用户
useradd [-g -d] 用户名
选项:-g指定用户的组,不指定会创建同名组并自动加入,所以使用这个选项需要组已经存在
-d指定用户HOME路径,不指定HOME目录默认在:/home/用户名
删除用户
userdel [-r] 用户名
选项:-r,删除用户的HOME目录,不使用删除时,HOME目录保留
查看用户所在组
id [用户名]
如果没有参数则查看自身
修改用户所在组
usermod -aG 用户 用户组名 将指定用户加入指定用户组
2.4 getent命令
使用getent命令,也可以查看系统中有哪些用户组
语法:getent group
查看的信息包括组名称、组认证、组ID
今天的学习就到这里了,下次我们学习有关权限控制操作的命令,再见!