Linux-文件权限管理

打印 上一主题 下一主题

主题 1038|帖子 1038|积分 3114

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
目录
目录
媒介
Linux用户权限解析
1.基本权限UGO
1.1 设置权限:
 2.高级权限
 2.1 suid
2.2  sgid
2.3 sbit
2.4 sudo给普通用户提权
3.特殊权限
4.隐蔽权限
总结

   
  媒介

linux服务器上有严格的权限品级,如果权限过高导致误操作会增加服务器的风险。所以对于了解linux系统中的各种权限及要给用户,服务等分共同理的权限十分重要。
文件权限大抵分为基本权限、高级权限、特殊权限和隐蔽权限,下面依次从这四个方面介绍。


Linux用户权限解析

1.基本权限UGO

文件权限设置: 可以赋于某个用户或组 能够以何种方式 访问某个文件
图示:

 权限对象:属主--->u;属组--->g; 其他人--->o;
权限类型:r(读)、w(写)、x(执行)
例如:
   r w x        rw-        r--       alice   hr    file1.txt
  前面三个“rwx”表示属主权限,随后的“rw-”表示属组权限,末了的“r--”表示其他人权限。
  alice表示属主,hr是属组,file1.txt是文件名。
  1.1 设置权限:

   chown:改变文件或目录的所属主以及所属组
chmod:为文件或目录设置访问权限
  更改文件的属主(拥有者)、属组 (所属组)
chown
   [root@linux-server ~]# chown alice.hr file1.txt  #修改属主、属组
[root@linux-server ~]# chown tom  file1.txt  #修改属主
[root@linux-server ~]# chown .it file1.txt   #只改属组
[root@linux-server ~]# chown -R alice.hr dir1 #递归修改---针对目录
   更改权限
利用符号:
chmod:

例如: 
   [root@linux-server ~]# chmod u+x file1.txt     #属主增加执行权
[root@linux-server ~]# chmod a=rwx file1.txt   #全部人便是读写执行
[root@linux-server ~]# chmod a=- file1.txt     #全部人都没有权限
[root@linux-server ~]# chmod ug=rw,o=r file1.txt  #属主属组便是读写,其他人只读
   利用数字:
 r--->4;w--->2;x--->1;
例如:
   [root@linux-server ~]# chmod 644 file1.txt     #给file1.txt文件rw,r,r权限,利用数字时只能三个权限一起赋,不存在chmod  6  file1.txt。
   2.高级权限

 2.1 suid

给命令加权,使普通用户也可像root用户一样利用该命令。
用法:
1.利用which命令查看命令位置,如cat命令:which   cat,查出cat位置为:/usr/bin/cat
2.chmod  u+s  /usr/bin/cat,执行后普通用户也可执行cat命令。
取消提权:
chmod u-s /usr/bin/cat
2.2  sgid

给目录授权让在该目录下创建的文件自动继承该目录的属组。
   [root@linux-server ~]# mkdir /opt/dir1  #创建目录
[root@linux-server ~]# groupadd hr  #创建一个组
[root@linux-server ~]# chmod 775 /opt/dir1/  #设置权限
[root@linux-server ~]# ll -d /opt/dir1/    #查看权限
drwxrwxr-x. 2 root root 6 Nov  6 21:26 /opt/dir1/
[root@linux-server ~]# chown .hr /opt/dir1/  #设置属组
[root@linux-server ~]# chmod g+s /opt/dir1/  #设置sgid
[root@linux-server ~]# ll -d /opt/dir1/
drwxrwsr-x. 2 root hr 6 Nov  6 21:26 /opt/dir1/
[root@linux-server ~]# touch /opt/dir1/a.txt
[root@linux-server ~]# ll /opt/dir1/a.txt
-rw-r--r--. 1 root hr 0 Nov  6 21:33 /opt/dir1/a.txt    #继承了/opt/dir1目录的属组
  2.3 sbit

SBIT(Sticky Bit)目前只针对目录有用,对于目录的作用是:当用户在该目录下创建文件或目录时,仅有自己与 root才有权力删除。
用法:chmod o+t 目录名
案例:
   [root@linux-server ~]# cd /home/
[root@linux-server home]# mkdir dir2
[root@linux-server home]# chmod 757 dir2/
[root@linux-server home]# chmod o+t dir2/
[root@linux-server home]# ll -d dir2/
drwxr-xrwt. 2 root root 52 Oct 31 16:49 dir2/
[root@linux-server home]# useradd jack  #创建用户
[root@linux-server home]# su - alice 
Last login: Wed Nov  6 21:48:12 CST 2019 on pts/2
[alice@linux-server ~]$ touch /home/dir2/alice.txt  #用户alice创建文件
[alice@linux-server ~]$ exit
logout
[root@linux-server home]# su - jack 
Last login: Wed Nov  6 21:48:36 CST 2019 on pts/2
[jack@linux-server ~]$ touch /home/dir2/jack.txt   #用户jack创建文件
[jack@linux-server ~]$ rm -rf /home/dir2/alice.txt 
rm: cannot remove ‘/home/dir2/alice.txt’: Operation not permitted
测试jack删除alice创建的文件,无法删除
  2.4 sudo给普通用户提权

用法:利用visudo或vim /etc/sudoers打开系统文件,利用vim编辑该文件,在root  ALL=(ALL)  ALL下面按照该格式把要提权的用户写入文件,如:“Jack  ALL=(ALL) ALL”,若实现无暗码登入,则“Jack  ALL=(ALL) NOPASSWD:ALL”,利用“visudo  -c” 查抄语法是否精确,然后输入sudo提权,执行后Jack用户便可像root一样利用命令。
目前给普通用户提权的手段:
   suid: 基本针对全部效户,任何用户在执行有suid权限的程序时,都是以root身份在执行。
sudo: 有针对性,例如针对某个用户以能够以root的身份执行某些命令。
  3.特殊权限

查看 a.txt 权限:getfacl  a.txt
setfacl :针对个人设置权限,给一个人查看一个文件的权限
如:setfacl -m  u:xiaoming:rwx  /tmp/a.txt   #给xiaoming用户对 /tmp/a.txt 文件的读写执行权限
回收权限:
1.setfacl -m  u:xiaoming:r--  /tmp/a.txt   #重新赋权
2.setfacl -b a.txt   #回收全部特殊权限
3.setfacl -x u:xiaoming a.txt
4.setfacl -m : :  rwx  a.txt
4.隐蔽权限

查看隐蔽权限:lsattr  文件名
用法:
   chattr +a file1  #不允许修改文件内容,只允许追加内容
  chattr +i file2  #不允许做任何操作
  chattr +A file3  #不修改文件的末了访问时间
  查看文件的最近访问、最近更改、最近改动时间:stat  文件名

总结

本文简单介绍了在Linux中,用户的基本权限,高级权限,特殊权限和隐蔽权限的相关用法.

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表