书是世界宝贵财富,是国家和历史的优秀遗产。
——梭罗《瓦尔登湖》
一 认识root用户
1.root,超级用户管理员
无论是windows,Macos,Linux系统等,都会有一个超级用户,在Linux中有最大限权的用户为root用户(就是老大,哈哈哈哈),我们平常登录的都是普通用户(就是个打工的,哈哈)。
两者最大的区别就是限权的大小,例如普通用户在Linux的根目录根本创建不了文件
例如:在根目录创建文件
2.root用户的切换
su命令(Switch User)和exit命令,就是切换到用户的命令,语法:su [-] 用户名
-:选项可选,是否在切换用户后加载环境变量,建议带上
用户名:如果不写默认切换到root用户,带上就切换到指定的用户
切换用户后,可以通过exit命令退回上一个用户,也可以通过快捷键:ctrl+d
(注意:普通用户到其他用户要输入密码,root用户切换到普通用户不需要)
例如:
虽然说root拥有非常大的权限,但是不建议长期使用,因为如果输入一个错误的指令可能这个系统就损坏了,所有说我们可以用sudo这个命令来为普通用户零时授权,临时以root用户来执行权利。
sudo 命令
作用:为普通用户临时授权root用户的权利
语法:sudo 其他命令
注意:并不是所有的用户都有权利使用sudo命令,它需要普通用户配置sudo认证
例如:用sudo命令在根目录创建一个文件,不需要输入密码了,直接就创建成功
配置sudo认证:切换root用户,运行指令visudo,打开文件后在最后面添加一行(按a):用户名 ALL = (ALL) NOPASSWD:ALL ,写好后按ESC,在按:qw指令保存退出即可。
二 用户,用户组管理
Linux可以支持多用户,多用户组,用户加入多组的模式
Linux限权管控级别可以分为用户级别和用户组级别(就是一个权限这个用户可以使用,那个不可以;或者这个组里面的用户可以,那个组里面的用户不可以等等)
用户组(聚集很多用户的,vip会员就是用到这个原理的)
创建用户组
语法:groupadd 用户组名
删除用户组
语法:groupdel 用户组名
用户(我们当前登录进去的账户)
增加用户
语法:useradd [-g -d] 用户名
选项:-g表示指定用户的组名,组名要已经存在,如果不指定-g,在创建用户时会自动创建一个与用户同名的用户组
-d表示指定HOME用户路径,就是指定这个用户在HOME目录下的哪里,如果不指定会自动在默认目录:/home/用户名
例如:创建一个指定用户组(Onegroup)的用户(user1)
删除用户
语法:userdel [-r] 用户名
选项:-r表示删除用户的HOME目录,不使用则删除用户的时候HOME目录下保留的该用户的目录不会被删除
例如:删除上面创建的user1用户(home目录也删除)
查看用户所属组
语法:id [用户名]
参数:用户名为被查看的用户名称,如果不写就是当前的用户
例如:查看超级用户root的组别
修改用户所属组
语法:usermod -aG 用户组 用户名
表示将指定的用户加入指定的用户组
例如:将用户user1,加入到root组里面
getent命令
该命令用于查看当前系统的所有用户
语法:getent passwd
查到的信息分为7组:用户名:密码(x):用户ID:组ID:描述信息:HOME目录:执行终端(默认bash)
例如:有一些是系统默认带的用户很多,不用管
三 查看限权控制
命令ls -l 列出的权限信息查看
红色框表示文件,文件夹的限权控制信息
绿色表示文件,文件夹属于这个用户
紫色表示文件,文件夹属于这个用户组
接下来我们再来解析一下红色框里面的细节,它总共分为10个信息,如图
所属用户权限就是这个文件只能被这个用户使用这些权限
r:表示读
w:表示写
x:表示执行
-:表示没有的意思
例如:
d表示是一个文件夹,rwx表示所属用户chenlian可以对该文件夹读写执行操作,r-x表示chenlian这个用户组对该文件夹读和执行,r-x表示其他用户对该文件只能读和执行。就是这么简单!
四 修改限权控制
chmod命令
作用:它是一个修改文件或文件夹的限权细节的
限制:修改的文件只能是属于该用户或root用户才可以使用这个命令
语法:chmod [ -R ] 限权 文件或文件夹
选项-R表示文件夹里面的内容也一起修改(注意限权写法为u=?,g=?,o=?;u表示user,g表示group,o表示other)
例如:修改one.txt的限权为所有只读,你看全部都为只读啦
相比上面那种方法,写限权的时候有一点麻烦,那有没有一种简单的方法来实现修改限权呢
使用限权数字序号来表示限权,r就代表4,w就代表2,x就代表1,这是个是最基础的,其他的限权都用这三个加起来,如下图
比如 721就表示u是7(7为3+4,读写执行),g是2(只有写限权),o是1(只有执行限权)
例如:使用数字限权来修改权限信息(绿色表示为所有权限所有用户都可使用)
五 修改限权控制
chown命令
作用:用于文件,文件夹所属的用户或用户组(注意普通用户无法修改所属用户和用户组,只能用root用户修改,所以说这个指令适用于root用户)
语法:chown [ -R ] [用户] [:] [用户组] 文件或文件夹
-R:表示文件夹里面的内容也一起修改
:表示用于分割用户和用户组的
举例:chown root one.txt 表示把one.txt这个文件的所属用户修改为root
chown :root one.txt表示把one.txt这个文件的所属用户组修改为root组了
例如:修改one.txt文件为root用户,root用户组(这里我用了sudo命令)
当然啦,看再多不如自己动手练一遍,今天就分享到这里啦!