linux学习-----linux权限,sudo的使用

Linux权限管理(重点)

Linux权限操作于用户和用户组是兄弟操作

1.权限概念

总述:Linux系统将文件可存取访问的身份分为三个类别:owner group others

           三种身份各有:read write execute等权限。

           什么是权限:在多用户计算机系统的管理中 权限是指某个特定的用户具有特定的系统资源使用的权力    像文件 特定指令或存储量限制

在linux中有  读  写  执行 权限

2.身份介绍:

Owner身份(文件的所有者)

Group身份(与文件所有者同组的用户)

Others身份

3.linux权限介绍

ls-l 路径    用来查看文件的属性 用来显示文件的文件名和相关属性

 

十位字符表示含义:

第一位 表示文档类型  d文件夹    -表示文件   l表示软连接

第二位到第四位:文档所有者权限情况:

第二位读权限    r有权限    -没有权限

第三位写权限    w有权限    -没有权限

第四位写权限    x有权限    -没有权限

第五位到第七位:与所有者同在一个组的用户的权限情况:

第五位读权限    r有权限    -没有权限

第六位写权限    w有权限    -没有权限

第七位写权限    x有权限    -没有权限

第八位到第十位:表示除了前两部分外 其他用户的权限情况:

第八位读权限    r有权限    -没有权限

第九位写权限    w有权限    -没有权限

第十位写权限    x有权限    -没有权限

设置权限:

语法 chmod 选项 权限模式 文档

注意事项:

常用选项就一个  -R 递归设置权限

权限模式:该文档设置的权限信息(给文档设置权限 要么是root 要么是文档所有者)

文档:可以是文件 也可以是文件夹 可以是相对路径 也可以是绝对路径

1.字母形式设置

 

给谁设置:

u 表示所有者身份

g表示给所有者同组用户设置

o 表示给其他用户设置权限

a表示给所有人设置

       如果在权限设置的时候不指定给谁 默认给所有用户设置

权限分配作用:

+:表示给具体用户增加权限(相对当前)

-:表示给具体用户删除权限

=:表示将权限设置成具体的值(注重结果)

案例:给anaconda-ks.cfg 文件权限(-r-x------)设置为(-rwxr-xr-x)

chmod u+w,g+rx,o+rx anaconda-ks.cfg

chmod u=rwx,g=rx,o=rx anaconda-ks.cfg

2.数字形式设置

 

读:r    4;

写:w   2;

执行:x  1;

没有任何权限:0;

注意事项:

1.使用root用户创建一个文件夹(/oo) 权限默认(drwxr-xr-x)

2.在oo目录下创建文件 xx.txt 文件 给777权限

3.切换到other用户

问题1:other用户是否可以打开文件?   能

问题2:other用户是否可以编辑文件?   能

问题3:other用户是否可以删除文件?   不能

 

在linux 中 如果要删除一个文件 不是看文件有没有对应的权限 而是看文件所在的目录是否有写权限 如果有才可以删除。

属主与属组设置

属主:所属的用户(文件的主人)

属组:所属的用户组

如果有时候需要删除某些用户 那么该用户对应的文档属组和属主两个信息就需要去修改啦

1.chown

作用:更改文档的所属用户

语法: chown (-R )username 文档路径

案例:将root用户创建的oo目录 所有者更改为test

 chown test oo/

2.chgrp

作用:更改文档的所属用户组

语法: chgrp -R groupname 文档的路径

案例:将刚才root用户创建的oo目录,所有者更改为test 并且将所属用户组也改为test

chgrp test oo/

问:如何通过一个命令实现既可以更改所属用户 又更改属组呢?

答:chown -R username:groupname 文档路径

扩展1:

问题:如init 在普通用户身份上都是操作不了的 但有些情况下又需要执行权限 这个问题怎么解决

答:可以使用sudo(awitch user do)命令来进行权限设置。Sudo可以让管理员(root)事先定义某些特殊命令谁可以执行

默认sudo是没有除boot之外的用户规则,想用需要配置sudo。

sudo的配置文件:    /etc/sudoers

配置sudo文件请使用visudo  然后进行编辑

配置普通用户的权限

 

root 表示用户名(如果是用户组 使用------%用户组 名)

All:表示允许登陆的主机(地址白名单)

(ALL):表示以谁的身份执行,ALL表示root身份

ALL:表示当前用户可以执行的命令, 多个命令可以使用“,”分割

在写sudo规则的时候 不建议直接写形式的命令 要写完整路径 路径可以使用which命令来查看(which 指令名称)

在添加好对应规则后 切换到普通用户 再去执行(sudo 需要执行指令)

在输入sudo指令后 输入当前用户密码进行确认

如果禁止修改root密码的配置:

/usr/bin/passwd,!/usr/bin/passwd root

在普通用户中怎么查看自己具有哪些特殊权限

sudo -l

sudo不是任何linux分支都有的命令,常见centos和ubuntu都存在sudo命令

猜你喜欢

转载自www.cnblogs.com/xixirui/p/9195497.html