码迷,mamicode.com
首页 > 系统相关 > 详细

02. Shell文件权限和脚本执行(更改权限)

时间:2015-12-29 12:33:45      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

Linux 有三种权限更改方式:chmod/acl/sudo

  • 前两者用来更改文件权限,sudo用来更应用程序或者是命令的执行权限
  • chmod的局限是无法实现多种权限分配(用户群体只有三种),面对多权限时需要用ACL进行设置

Chmod

chmod (agou)(+-)(rwx) filename

  • agou 表示文件权限更改影响的范围,分别代表all, group, others, user
  • +-表示增加或者删除权限
  • rwx表示具体的权限类型
  • chmod a+x test.txt 表示给test.txt的所有使用者增加执行权限
  • chmod a-x,a-w test.txt 表示去除所有人执行和更改test.txt的权限

chmod XXX filename

  • 三类用户一起设置,第一个X代表所有者,第二个X代表所属组,第三个X代表其他
  • r(4) w(2) x(1): chmod 755 test.txt test.txtowner设置rwx的权限,给其他所有用户设置rx权限因为要计算每一种用户的权限,多用于批量处理权限。对用户单独设置权限多用英文,而非数字

权限细化的问题,chmod最多只有三个权限组,当有多个用户,并且每个用户的权限都不一样时,chmod有局限性。

 

 

 

ACL(setfacl/getfacl)

文件和文件夹的权限:

  • 如果有多个用户组,权限设置是很复杂的事情,需要仔细规划(ACLChmod混合使用容易产生一些权限问题)
  • 文件夹的读权限:可以列出目录下内容
  • 文件夹执行权限:可以进入到文件夹中,执行切换目录等操作
  • 文件夹的写权限:可以在文件夹中增删文件
  • 用户对某个文件有了rwx权限,不代表用户有权删除该文件,只代表对文件内容有了删除权限,要能对文件级别进行操作,需要设置相应的文件夹的w权限。

getfacl filename/filedirectory

  • 查看文件/文件夹 权限:结果会展示usergroupother的整体权限,以及特殊用户的权限

setfacl -m u:username:rwx filename

  • 给某个用户添加对某个文件或者文件夹的特殊权限
  • 给普通用户添加完相应权限以后,root也会有相应的权限(理论上root拥有最多的权限)

setfacl -x u:username filename

  • 删除用户对某个文件或者是文件夹的特殊权限

 

 

SUDO

简介

 

  • 不同于chmod/acl 设置某个文件的权限,sudo主要是为非root用户增加系统的处理和执行权限。比如只有rootuseradd权限,通过sudo,可以为普通用户增加useradd权限。
  • 为普通用户增加权限有两种方式:带密码验证和不带密码验证,并且可以指定sudo可运行的机器。
  • 使用sudo有两个步骤:1. visudo编辑权限 2. 普通用户在使用命令前添加sudo

 

 

创建无密码sudo(执行脚本时通常采用无密码sudo)

 

  • 编辑visudo 运行visudo 采用Vim编辑器编辑添加 sr localhost=NOPASSWD/usr/sbin/useradd,给用户sr添加“添加用户”的超级权限
  • 切换到sr用户
  • sudo useradd testadd,在sr模式下添加新的用户

 

 

创建有密码sudo(可以确保有密码用户才使用此命令)

 

  • 编辑visudo 运行visudo 采用Vim编辑器编辑添加 sr localhost=/usr/sbin/useradd,给用户sr添加“添加用户”的超级权限
  • 切换到sr用户
  • sudo useradd testadd,系统会弹出命令提示,验证完命令以后sr可以成功添加用户

 

 

      

       

02. Shell文件权限和脚本执行(更改权限)

标签:

原文地址:http://www.cnblogs.com/vivian-test/p/5085023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!