Linux下ACL权限控制以及用sudo设置用户对命令的执行权限

ACL权限分配

1.setfacl命令设置文件权限

setfacl -m u:user1:rw root.txt
setfacl -m u:user2:rwx root.txt

2.getfacl命令查看文件权限

getfacl root.txt
[[email protected] ~]# getfacl text.txt 
# file: text.txt
# owner: root
# group: root
user::rw-
user:wangteng:rw-
group::r--
mask::rw-
other::r--

3.删除文件权限

setfacl -x user:user3 root.txt

4.清空文件权限

setfacl -b root.txt

5.文件夹权限

如果要给某个文件夹分配权限,要注意的是:必须要有rx权限,如果只有r权限,则该用户进入不了该目录,如果只有x权限,则用户可进入但是不能查看目录下文件,如果没有w权限,则用户删除创建不了文件

setfacl -m u:user1:rwx  /dir

6.对目录下的所有子目录及其文件递归设置权限

setfacl -m u:user1:rwx -R /dir/

7.对当下目录的所有子目录及其后期新创建的目录也保持同一权限

setfacl -m d:user1:rwx -R /dir/

设置用户对命令的执行权限  visudo命令

拿系统指定某个用户专门创建用户举例

  1. 设置
visudo
user1   localhost=/usr/sbin/useradd./usr/sbin/userdel  //把此行代码写入文件最下面

2.使用有密码sudo授权命令

sudo    localhost=/usr/sbin/useradd newuser
sudo    localhost=/usr/sbin/useradd -r newuser

3.使用无密码的sudo命令

sudo    localhost=NOPASSWD: /usr/sbin/useradd -r newuser
sudo    ALL=NOPASSWD: /usr/sbin/userdel -r newuser
时间: 2024-09-30 14:50:20

Linux下ACL权限控制以及用sudo设置用户对命令的执行权限的相关文章

Linux下gcc编译控制动态库导出函数小结

Linux下gcc编译控制动态库导出函数小结 来源 https://www.cnblogs.com/lidabo/p/5703890.html 根据说明文档“How To Write Shared Libraries"介绍, 有四种方法: 1. 在方法声明定义时,加修饰:__attribute__((visibility("hidden"))) 就是说将不公开的函数都加上这个属性,没加的就是可见的 2. gcc 在链接时设置 -fvisibility=hidden,则不加 v

Linux下Oracle启动、建立表空间、用户、授权、数据库导入导出

1.1进入到sqlplus启动实例 [[email protected] ~]$ su - oracle                                 --“切换到oracle用户”[[email protected] ~]$ lsnrctl start                               --“打开监听”[[email protected] ~]$ sqlplus /nolog                                --“进入到

Linux下安装MySQL并为其创建新用户图解教程

Linux下安装MySQL并为其创建新用户图解教程 思路概述 1.下载所需的安装包 (Linux下用wget下载,笔者在window下下载的,用XSHELL命令RZ上传到Linux中) 2.安装MySQL 3.创建新用户并授权 图解教程 第一步: 检测系统版本信息 Linux命令:  cat /proc/version 当前Linux版本为RedHat 4.1.2-48 Linux命令: uname -a 可以看到当前系统为64位的 第二步:下载mysql Community Server 官方

linux下数据库实例监听开机自启动设置

linux下数据库实例监听开机自启动设置 2016/5/16 zhanky 脚本介绍 在开始之前,我们先介绍一下几个会用到的脚本. oratab oratab文件是在创建数据库实例时建立的,在安装时使用root用户执行root.sh脚本后得到.(如果忘记也可以直接手动创建.) 在$ORACLE_HOME/bin目录下的$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut需要调用/etc/oratab文件,如果不存在,dbstart和dbshut将失败,

Linux下的压缩(zip)解压(unzip)缩命令

1.zip命令zip -r myfile.zip ./*将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. 2.unzip命令unzip -o -d /home/sunny myfile.zip把myfile.zip文件解压到 /home/sunny/-o:不提示的情况下覆盖文件:-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下: 3.其他zip -d myfile.zip smart.txt删除压缩文件中sma

linux下生成core dump文件方法及设置【转】

转自:http://blog.csdn.net/mrjy1475726263/article/details/44116289 源自:http://andyniu.iteye.com/blog/1965571 core dump的概念: A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has te

Linux下时区/系统时间/硬件时间的设置

先简述下时区/系统时间/硬件时间的3个主要命令吧 tzselect #tzselect命令主要针对时区设置和查看 #tz=timezone的缩写,直译=时区 date #date命令主要针对系统时间的设置和查看 #date直译,总是让人以为只是针对日期的设置,这是错滴...别被忽悠了 hwclock #hwclock命令主要针对硬件时间的设置和查看 #hw=hardware,直译=硬件 #这里需要注意的是,一般执行需要加sudo 具体应用,后面慢慢来

linux下添加,删除,修改,查看用户和用户组

 一,组操作 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod -n test2 test 将test组的名子改成test2 3,删除组 groupdel test2 删除 组test2 4,查看组 a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apacheuser b),查看所有组 cat /etc/group c),有的linux系统没有/etc/group文件的,这个时候看下面的这个方法 cat /etc/

Linux 下 set env export declare浅浅 set和shopt命令详解--(shell定制) (转载)

set 用来显示本地变量 env 用来显示环境变量 export 用来显示和设置环境变量 set 显示当前shell的变量,包括当前用户的变量 env 显示当前用户的变量 export 显示当前导出成用户变量的shell变量 每个shell有自己特有的变量(set)显示的变量,这个和用户变量是不同的,当前用户变量和你用什么shell无关,不管你用什么shell都在,比 如HOME,SHELL等这些变量,但shell自己的变量不同shell是不同的,比如BASH_ARGC, BASH等,这些变量只