权限识别及特殊权限的修改两种方式chmod setfacl

时间:2024-03-22 09:46:00

                                        一. chmod

1.权限的识别

ls -l 中2-10字符为文件权限

rwx                           r-x                     r--

用户权限(u)         组成员权限(g)         其他用户权限(o)

权限种类:

r

对文件来说,表示可以查看文件内容

对目录来说,表示可以查看目录中存在的文件名称

w

对文件来说,表示可以更改文件的内容

对目录来说,表示是否可以删除目录中子文件或者子目录

x

对文件来说,表示是否可以开启文件当中记录的程序

对目录来说,表示是否可以进入目录中

chmod    ugo+-=rwx           #修改权限

u=rwx=7             | g=rwx=7         |o=rwx=7

    421

u=rw-=6                  g=r--=4       o--=4    644

r=4

w=2

x=1

-=0

#练习
1.新建用户组,shengchan,caiwu,jishu

2.新建用户要求如下:

    1)tom 是shengchan组的附加用户

    2)harry 是caiwu组的附加用户

    3)leo 是jishu组的附加用户

    4)新建admin用户,此用户不属于以上提到的三个部门

3.新建目录要求如下:
    1)/pub目录为公共存储目录对所有用户可以读,写,执行

    2)/sc 目录为生产部存储目录只能对生产部人员可以写入

    3)/cw 目录为财务部存储目录只能对财务部人员可以写入中

权限识别及特殊权限的修改两种方式chmod setfacl

2.文件的默认权限

   umask                     ##显示系统预留权限值(保护系统数据不被破坏更改)

   umask         022       ##可以临时修改umask的值

想要永久修改也可以

  vim  /etc/bashrc           ##71行时普通用户的更改,73行时超级用户的更改

  vim  /ect/profile            ##60行时普通用户的更改,62行时超级用户的更改i

source  /etc/bashrc        ##刷新bash配置

source  /etc/profile         ##刷新系统配置

权限识别及特殊权限的修改两种方式chmod setfacl

权限识别及特殊权限的修改两种方式chmod setfacl  

3.特殊权限

stickyid                ##强制位

o+t                      ##针对目录,在目录中创建的文件有t权限时,这个目录中的文件只能被文件的所有人删除

t=1

chmod o+t  directory

chmod  1777 directory

权限识别及特殊权限的修改两种方式chmod setfacl

sgid                    ##粘制位

g+s                     ##针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序

                              在执行时和执行学者额的组身份没有关系,而是以二进制文件的所有组的身份执行的

chmod g+s  file|directory

chmod 2777 file |directory

权限识别及特殊权限的修改两种方式chmod setfacl

suid                     ##冒险位

u+s                      ##针对文件,文件记录动作在执行时是以文件所有人身份执行的,与是谁发起的无关

chmod   u+s       file

chmod    4777    file

                                             二.setfacl

1. #修改用户所在组(student)的特殊权限
[[email protected] ~]# setfacl -m g:student:rx /mnt/westos
[[email protected] ~]# getfacl /mnt/westos
getfacl: Removing leading '/' from absolute path names
# file: mnt/westos
# owner: root
# group: root
user::rw-
user:student:rw-
group::r--
group:student:r-x(组的权限)
mask::rwx
other::r--

2.#删除特定组的特殊权限
[[email protected] ~]# setfacl -x g:student /mnt/westos
[[email protected] ~]# getfacl /mnt/westos
getfacl: Removing leading '/' from absolute path names
# file: mnt/westos
# owner: root
# group: root
user::rw-
user:student:rw-
group::r--
mask::rw-
other::r--
3.#设定student用户的特定权限
[[email protected] ~]# setfacl -m u:student:rwx /mnt/file
[[email protected] ~]# getfacl /mnt/file
getfacl: Removing leading '/' from absolute path names
# file: mnt/file
# # owner: root
# # group: root
# user::rwx
# user:student:rwx    #特殊指定用户student的权限
# group::r-x
# mask::rwx
# other::r-x
4.删除特定用户的特殊权限
[[email protected] ~]# getfacl /mnt/westos
getfacl: Removing leading '/' from absolute path names
# file: mnt/westos
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--
5.关闭权限列表“+”消失
[[email protected] ~]# setfacl -b /mnt/westos
[[email protected] mnt]# ll
total 4
-rw-r--r-- 1 root root 16 Apr  4 22:04 westos
6.缩小mask权限:
 [[email protected] ~]# ll /mnt/westos
-rw-rwxr--+ 1 root root 16 Apr  4 22:04 /mnt/westos
chmod 644 /mnt/westos(缩小了mask权限)
[[email protected] ~]# getfacl /mnt/westos
user:student:r-x                #effective:r--有效位
group::r--
mask::r--(#mask的值被缩小)
7.##修改mask,恢复mask的值
[[email protected] ~]# setfacl -m m:rwx /mnt/westos
[[email protected] ~]# getfacl /mnt/westos
getfacl: Removing leading '/' from absolute path names
# file: mnt/westos
# owner: root
# group: root
user::rw-
user:student:r-x
group::r--
mask::rwx(恢复)
other::r--
##mask     (能赋予用户最大权限)
8.#修改目录本身以及目录中已有文件的权限
[[email protected] ~]# setfacl -Rm u:student:rwx /mnt/westos/
[[email protected] ~]# ls -l /mnt/text/
total 0
-rw-rwxr--+ 1 root root 0 Apr  4 23:26 file1
-rw-rwxr--+ 1 root root 0 Apr  4 23:26 file2
-rw-rwxr--+ 1 root root 0 Apr  4 23:26 file3-rw-rw-r--+ 1 root root 0 Apr  4 23:33 newfile
#[[email protected] ~]# getfacl /mnt/text/
#getfacl: Removing leading '/' from absolute path names
## file: mnt/text/
## owner: root
## group: root
#user::rwx
#user:student:rwx
#group::r-x
#mask::rwx
#other::r-x
#default:user::rwx
#default:user:student:rwx
#default:group::r-x
#default:mask::rwx
#default:other::r-x
[[email protected] ~]# groupadd shengchan
[[email protected] ~]# groupadd caiwu
[[email protected] ~]# groupadd jishu
[[email protected] ~]# useradd -G shengchan tom
[[email protected] ~]# useradd -G caiwu harry
[[email protected] ~]# useradd -G jishu leo
[[email protected] ~]# useradd admin
[[email protected] ~]# mkdir  /pub /sc /cw
[[email protected] ~]# chmod 777  /pub
[[email protected] ~]# chmod o+t /pub
[[email protected] ~]# chgrp shengchan /sc
[[email protected] ~]# chmod g+s /sc
[[email protected] ~]# chmod 770 /sc
[[email protected] ~]# chgrp caiwu /cw
[[email protected] ~]# chmod 770 /cw
[[email protected] ~]# chmod g+s /cw
[[email protected] ~]# setfacl -m u:admin:rwx /sc
[[email protected] ~]# setfacl -m u:admin:rwx /cw
[[email protected] ~]# getfacl /sc
getfacl: Removing leading '/' from absolute path names
# file: sc
# # owner: root
# # group: shengchan
# # flags: -s-
# user::rwx
# user:admin:rwx
# group::rwx
# mask::rwx