Linux系统权限详解

目录

一·权限解释

1. 所有者权限:

2. 所属组权限:

3. 其他人权限:

二·用户用户组解释

3·解释权限含义

4·权限命令解释

三·基本权限 U G O 

1·权限对象

2·基本权限

3·高级权限 


一·权限解释

在Linux系统中,文件和目录的访问权限由三个部分组成:所有者、所属组和其他人。每个部分都有自己的权限设置,包括读取、写入和执行权限。以下是Linux系统权限的详细介绍:

1. 所有者权限:

文件或目录的所有者可以读取、写入和执行该文件或目录。如果文件或目录的所有者是当前用户,那么用户可以使用chmod命令更改该文件或目录的权限。

2. 所属组权限:

文件或目录的所属组成员可以读取、写入和执行该文件或目录。如果当前用户属于该文件或目录的所属组,那么用户可以使用chmod命令更改该文件或目录的权限。

3. 其他人权限:

文件或目录的其他人可以读取、写入和执行该文件或目录。如果当前用户既不是该文件或目录的所有者,也不属于该文件或目录的所属组,那么用户可以使用chmod命令更改该文件或目录的权限。

在Linux系统中,可以使用chmod命令更改文件或目录的权限。chmod命令的语法如下:

chmod [who] [operator] [permission] file

其中,who表示要更改的权限对象,operator表示要执行的操作,permission表示要设置的权限,file表示要更改权限的文件或目录。例如,要将文件file.txt的所有者权限设置为读取、写入和执行,可以使用以下命令:

chmod u+rwx file.txt

这将为文件file.txt的所有者添加读取、写入和执行权限。

二·用户用户组解释

cat /etc/group  查看用户组及权限内容

cat  /etc/passwd   查看用户及权限内容

3·解释权限含义

以 " : " 为分隔符,每一列代表的含义

①·用户名

②·密码

③·用户标识号-(uid)是一个整数,系统内部用来标识用户,通常用户标识号的取值范围是0-65535,0=root(超级用户)

④·gid

⑤·描述信息

⑥·家目录

⑦·是用户登录到界面的第一个命令,开启一个shell,登录shell

解释:uid= 系统用来识别账户的

           gid= 系统用来识别组的

4·权限命令解释

useradd 用户名 -u 678     -指定新用户的uid为678

useradd  用户名 -s /sbin/nologin  修改shell     创建的用户不能登录

useradd   用户名  -G 组1.组2    指定到两个附加组

useradd   用户名  -g   1006  用户名  创建新用户并指定新用户的主组为1006

userdel  -r  用户名  删除用户    

————————————————

usermod   -l  新名字   旧名字

usermod    用户名  -g  新gid   修改用户的gid

usermod  -u  新uid   用户   修改用户的uid

usermod  -s  /sbin/nologin   用户名   修改shell   用户不能登录

————————————————

gpasswd  -a  用户名  组名   把用户添加到组

gpasswd  -M 用户1.用户2   组名  同时添加多个用户到组,覆盖之前组员

gpasswd  -d 用户  组名  从组中删除用户

groupadd  新组名  -g  2000  创建新的用户组,并指定gid值为2000

groupmod  -g  54321  组名  修改组的gid为54321

groupmod  -n  新名字  旧名字  修改组名

groupdel  组名  删除组

三·基本权限 U G O 

1·权限对象

              所有者  --u

              所属组   -g

              其他人  --o

2·基本权限

               读  --r  =4

               写  --w  =2

               执行  --x  =1

设置权限

      chown   改变文件或者目录的所有者以及所属组

      chmod   为文件或者目录设置访问权限

chown  用户.用户组  文件名  = 修改文件所有者以及所属组

chmod   777  文件  =  用户  用户组  其他人的使用权限 

chmod  对象  赋值符  权限类型

u  +  r

g  -  w

o  =  x

a  =  (所有,全部权限)

chmod/chown  -R  递归修改  包括目录里的所有文件

umask  用户查看掩码   root  用户默认掩码0022

3·高级权限 

suid  --4   提权  只对二进制命令文件生效

sgid  --2  组继承  (只对目录生效)

sticky  -1  (t权限) (只对目录权限控制)

给单独某个命令提权  chmod  u+s  /sur/bin/cat  给cat命令提权  让所有用户像root  用户一样使用cat

chmod g+s 路径/目录 设置此目录组继承    该目录设置组继承后 任何用户在目录下创建任何文件所属组都是本目录的组

chmod o+t 路径/目录 设置此目录t权限   该目录设置后任何用户创建文件后只能文件所有者和root有删除权

sudo提权

sudo针对某个用户能以root 权限执行某些命令   注意!!!提权用户在执行命令前 要加上 sudo

vim /etc/sudoers

#92行 root         ALL=(ALL)       ALL

#93行 普通用户   ALL=(ALL)  NOPASSWD:ALL     让普通用户拥有root权限 注意!!!提权用户在执行命令前 要加上 sudo

#93行 普通用户  ALL =(ALL)       NOPASSWD:ALL    /usr/bin/mkdir /usr/bin/rm /usr/bin/touch  让普通用户拥有设置的这些权限

文件属性   chattr   文件名   查看文件属性

chattr +a   文件名     不允许修改,只允许被追加

           +i    文件名    不允许做任何操作

           +A   文件名   不能修改对这个文件的最后访问时间