Linux--用户的权限

用户的权限

基本权限UGO

权限对象
权限对象:
属主: u
属组: g
其他人: o
所有人:a(u+g+o)

权限类型:
读:r=4
写:w=2
执行: x=1

设置权限
更改权限

使用符号
语法:使用符号:u用户 g组 o其他 r读 w写 x执行
语法: chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x) 文件/目录

使用数字
4读 2写 1执行

[root@localhost ~]# chmod 644 file1
[root@localhost ~]# ll file1
-rw-r--r-- 1 alice it 17 10-25 16:45 file1c

更改属主、属组
chown命令
chown: 设置一个文件属于谁,属主
语法: chown 用户名.组名 文件

 [root@localhost ~]# chown alice.hr file1 //改属主、属组
[root@localhost  ~]# chown alice file1 //只改属主
[root@localhost ~]# chown .hr file1 //只改属组

chgrp命令
chgrp: 设置一个文件属于哪个组,属组
语法: chgrp 组名 文件 -R是递归的意思

[root@localhost ~]# chgrp it file1 //改文件属组
[root@localhost ~]# chgrp -R it dir1 //改文件属组

案例:
针对hr部门的访问目录设置权限,要求如下:

  1. root用户和hr组的员工可以读、写、执行
  2. 其他用户没有任何权限
    操作思路:
    1创建组
    2创建用户
    3修改属主和属组
    4设置权限
[root@localhost ~]# groupadd hr
[root@localhost ~]# useradd hr01 -G hr
[root@localhost ~]# useradd hr02 -G hr
[root@localhost ~]# mkdir /home/hr
[root@localhost ~]# chgrp hr /home/hr
[root@localhost ~]# chmod 770 /home/hr
[root@localhost ~]# ll -d /home/hr/
drwxrwx---. 2 root hr 4096 228 14:26 /home/hr/

基本权限 ACL

ACL文件权限管理: 设置不同用户,不同的基本权限(r、w、x)。对象数量不同。
UGO设置基本权限: 只能一个用户,一个组和其他人
语法

 setfacl -m u:alice:rw /home/test.txt

命令 设置 用户或组:用户名:权限 文件对象
用法
设置
准备文件

[root@lll ~]# touch /home/test.txt
[root@lll ~]# ll /home/test.txt 
-rw-r--r-- 1 root root 0 10-26 13:59 /home/test.txt
 

设置ACL
查看文件有哪些ACL权限。

[root@lll ~]# getfacl /home/test.txt

设置用户alice,jack权限
前提:创建alice 和jack用户。过程略

[root@lll ~]# setfacl -m u:alice:rw /home/test.txt
[root@lll ~]# setfacl -m u:jack:- /home/test.txt

请思考命令中的o是什么作用

[root@lll ~]# setfacl -m o::rw /home/test.txt

查看/删除:
如何删除一条acl,如何删除所有acl呢?

[root@lll ~]# getfacl /home/test.txt
[root@lll ~]# setfacl -m g:hr:r /home/test.txt
[root@lll ~]# setfacl -x g:hr /home/test.txt //删除组hr的acl权限
[root@lll ~]# setfacl -b /home/test.txt //删除所有acl权限

特殊位 suid
示例1
设置suid,使普通用户通过suid临时提权,查看超管root用户的文件
1.为cat程序添加上suid权限。

  [root@lll ~]# ll  /usr/bin/cat

自习观察输出信息1

[root@lll ~]# chmod u+s /usr/bin/cat
[root@lll ~]# ll  /usr/bin/cat

自习观察输出信息2(这两次有什么不同呢?)
2.使用普通用户运行cat。暂时获得root权限

  [alice@lll ~]$ cat /root/file1.txt

请在试验后,将cat的suid权限除去。

  [root@lll ~]# chmod u-s /usr/bin/cat
  [root@lll ~]# ll  /usr/bin/cat

自习观察输出信息3(请确认是否删除suid特殊权限)

文件属性chattr
chattr +i

[root@lll ~]# chattr +i file100    //不能更改,重命名,删除

chattr-i 去除属性

进程掩码 umask

示例
修改shell umask值(临时)

[root@lll ~]# umask 000
[root@lll ~]# mkdir dir900
[root@lll ~]# touch file900
[root@lll ~]# ll -d dir900 file900 
drwxrwxrwx. 2 root root 4096 228 14:22 dir900
-rw-rw-rw-. 1 root root    0 228 14:22 file900
 
发布了4 篇原创文章 · 获赞 15 · 访问量 3073

猜你喜欢

转载自blog.csdn.net/m0_46400195/article/details/104555635