【linux系统】用户功能与权限详细总结
前言
菜某的笔记总结,有错误还请指正。
linux用户的概念与root用户
这么理解:一台电脑有多个操作者,每个操作者只能无限制操作自己文件夹中的东西,其他地方的操作需要给与相应权限才能操作。
root用户:就是最高级的老总,啥都可以干
每个普通用户都会在/home文件夹下有个专用的文件夹,通常他的操作只能局限于自己的文件夹,但是root用户的home是在总文件夹/下的/root中,root用户有操作整个系统中所有文件的权力。
切换用户指令
语法:su [-] [用户名]
切换用户后可以输入exit或者Ctrl+d返回原先的用户
root用户切换其他用户不需要密码
普通用户切换需要输入密码
演示
普通用户使用root权限
作用:因为root用户权限很大,我们长期用root用户很容易给电脑造成损害,所以我们有一个sudo命令,能够暂时使用root用户的权力
语法:sudo 命令
在其他命令之前加上一个sudo就可以使用root权限了。
但是并不是所有的用户都能用sudo,只有被root用户配置了的用户才能使用sudo
配置方法:
root用户下输入visudo命令打开配置文件,并进行编辑。
?在后面加上一个
用户名 ALL=(ALL)??????????? NOPASSWD:ALL
NOPASSWD:ALL的作用是无需输入密码,可以去除,但是每次使用sudo命令就需要输入密码。
?添加完毕之后就可以使用sudo了
我们在/中创建文件做个对比
?还原回原先用户
用户组的概念
我们通俗的理解,用户组就是一个部门,用户就是一个人。假如说公司管理财务,总不能说所有人都有财务管理系统的密码吧,只有财务部的人才能有。这里同理,用户组就是一个部门,这个用户组里的所有用户都会有一些通用的权限。
比如一个文件,我们可以规定某些用户有修改权限,也可以规定某个用户组有修改权限。
用户组的操作命令
groupadd 用户组名#创建用户组
groupdel 用户组名#删除用户组
用户操作命令
#创建用户
useradd [-g -d] 用户名
-g指定用户所在的组
如果不指定则会创建同名组加入
-d指定用户所在的
如果不指定则会默认在/home中
#删除用户
userdel [-r] 用户名
-r删除用户时把home目录一起删除
#查看用户所在的组
id 用户名
如果不加用户名,则会查看自身
#修改用户所在的组
usermod -aG 用户组 用户名
查看系统中的用户
语法:getent passwd
查看系统中的用户组
语法:getent group
用户对文件权限的查看
使用ls -l进行查看
第一列的字母
第一个字母
d代表了文件夹
-代表了文件
l表示链接
后面有九个字母,每三个一组分类看
每组的字母分别为rwx,也可能是-
r代表可读权限,是否可用ls查看
w代表操作权限,文件是否可操作
x代表执行权限,文件夹是否可进入
-代表没权限
后面分为三组
第一组:所属用户的权限
第二组:所属用户组的权限
第三组:其他用户的权限
例如:第一行的
d rwx r-x r-x
代表了,这是文件夹,所属用户有rwx权力,所属用户组有rx权力,普通用户有rx权力。
ls命令中的第一个root是本文件的所属用户,第二个root是本文件所属用户的用户组。
文件权限的修改
首先文件的权限只有所属用户跟root可以修改。
使用chmod命令
语法:chmod u=权限,g=权限,o=权限 文件或文件夹
实例:chmod u=rwx,g=rx,o=w text.txt
u:所属用户
g:所属组
o:其他组
参数可选,不选就是不改,选了不写权限就是什么权限都不给
案例:
文件所属的修改
?只有root用户可以修改
语法:chown [-R] [用户]:[用户组] 文件或文件夹
-R 对文件夹中所有文件的所属进行修改
案例:
修改用户:chown user: exper
修改用户组:chown :group exper
案例:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!