Shell基础:Linux权限管理
Linux权限基本概念
查看系统(文件夹/文件)权限: ls -l =>d/- xxx xxx xxx. num owner group size date filename
- d代表目录,-代表文件
- 第一个xxx 表示所有者的权限; 第二个xxx表示所在组的权限; 第三个xxx表示其他用户的权限
- 为了保护系统,创建完文件以后,某个文件的默认权限为-rw-r--r--. 所有者有读写权限,其他用户只有读的权限
- num表示文件数目,创建的是文件,num=1,创建的是文件夹,num表示文件夹中含有的文件数
- owner 表示创建者
- group 表述文件所属组
- size 表示文件大小
- date 表示日期
- filename 表示文件或者文件夹名字
Linux 系统权限分类
- rwx(r--读,w--写,x--执行)
- augo(a--所有,u--所有者,g---所属组,o--其他)
Linux用户管理
- 查看用户详情 id user
- 示例: id root => uid=0(root) gid=0(root) groups=0(root)
- 示例: id sr => uid=500(sr) gid=500(sr) groups=500(sr)
- 显示root/user用户的uid, gid组id, 所属组
- 新建用户 useradd user/passwd user
- 示例:useradd user1 => id user1 => uid=501(user1) gid=501(user1) groups=501(user1)
- 示例:passwd user1,系统会弹出提示让输入密码,passwd+user可以用来创建或者更改密码
- 创建新用户时默认会为该用户分配id, 创建相应组,分配组id, id从500开始依次往下
- 创建完新用户系统会把新用户的配置信息添加到/etc/passwd 文件中
- 为新用户添加完密码系统会把相应的密码信息添加到/etc/shadow 文件中
- 创建完新用户会默认为新用户添加一个组,并把组的信息添加到/etc/group中
- 创建完新用户,home家目录下会自动为新建用户分配一个文件夹,表示用户的根目录/home/user1
- 删除用户userdel -r user
- r参数非常重要,每次添加user用户时,为该用户添加和修改了很多文件,加了-r才能彻底的把这些文件都删除干净,不然系统仍然保存着user的信息,无法再添加同名用户。
- 删除时忘了r参数,需要去更改非常多的文件(/etc/passwd&shadow&group ; /home/user; /var/spool/mail/user)
- 给用户添加组 gpasswd -a sr root
- gpasswd是操作/etc/group的administrator,可以对组添加或删除member,增加密码等等
- 把用户sr添加到root组中,添加完运行id sr=>uid=500(sr) gid=500(sr) groups=500(sr),0(root)
- -a, append
- 从组中删除用户gpasswd -d sr root
- 把用户sr从root组中删除
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.txt的owner设置rwx的权限,给其他所有用户设置rx权限因为要计算每一种用户的权限,多用于批量处理权限。对用户单独设置权限多用英文,而非数字
权限细化的问题,chmod最多只有三个权限组,当有多个用户,并且每个用户的权限都不一样时,chmod有局限性。
ACL(setfacl/getfacl)
文件和文件夹的权限:
- 如果有多个用户组,权限设置是很复杂的事情,需要仔细规划(ACL和Chmod混合使用容易产生一些权限问题,建议单独使用)
- 文件夹的读权限:可以列出目录下内容
- 文件夹执行权限:可以进入到文件夹中,执行切换目录等操作
- 文件夹的写权限:可以在文件夹中增删文件
- 用户对某个文件有了rwx权限,不代表用户有权删除该文件,只代表对文件内容有了删除权限,要能对文件级别进行操作,需要设置相应的文件夹的w权限。
getfacl filename/filedirectory
- 查看文件/文件夹 权限:结果会展示user,group和other的整体权限,以及特殊用户的权限
setfacl -m u:username:rwx filename
- 给某个用户添加对某个文件或者文件夹的特殊权限
- 给普通用户添加完相应权限以后,root也会有相应的权限(理论上root拥有最多的权限)
setfacl -x u:username filename
- 删除用户对某个文件或者是文件夹的特殊权限
SUDO
简介
- 不同于chmod/acl 设置某个文件的权限,sudo主要是为非root用户增加系统的处理和执行权限。比如只有root有useradd权限,通过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可以成功添加用户
Shell基础:Linux权限管理的更多相关文章
- Linux基础知识之用户和用户组以及 Linux 权限管理
已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...
- [Linux 003]——用户和用户组以及 Linux 权限管理(一)
嗬!没想到吧!学习 Linux 的第三天,我们已经开始接触用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时 ...
- 用户和用户组以及 Linux 权限管理
1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...
- Linux权限管理(用户、组、文件管理)
一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...
- linux权限管理-特殊权限
目录 linux权限管理-特殊权限 一,特殊权限 Linux权限属性chattr概述 linux进程掩码umask linux权限管理-特殊权限 一,特殊权限 1.suid(4000) SetUID( ...
- 【Linux】 Linux权限管理与特殊权限
Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...
- linux权限管理—基本权限
目录 Linux权限管理-基本权限 一.权限的基本概述 二.权限修改命令chmod 三.基础权限设置案例 四.属主属组修改命令chown Linux权限管理-基本权限 一.权限的基本概述 1.什么是权 ...
- Linux系列教程(十六)——Linux权限管理之ACL权限
通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...
- Linux权限管理之ACL权限
注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...
- linux权限管理-基本权限
目录 linux权限管理-基本权限 权限修改命令chmod linux权限管理-基本权限 权限 针对某些文件和进程,对用户进行限制 权限与用户的关系 rwx rwx r-x User Group Ot ...
随机推荐
- ios照片获取,拍照功能
// // HYBPhotoPickerManager.h // ehui // // Created by 黄仪标 on 14/11/26. // Copyright (c) 2014年 黄 ...
- LeetCode-Repeated DNA
关于位操作符.如<<, value << num ,其中,num指定要位移值value移动的位数,每左移一个位,高阶位都被移出(直接丢掉),并用0填充右边.. 道理明明很简单啊 ...
- Excel2003命令栏操作
Excel2003个人觉得应该把它抛掉不管了,但还是没忍住想看下它里面的东东. 一.先列出一些重要对象 Commandbars:命令栏集合 ...
- 暴雪游戏-守望先锋-FPS
http://us.battle.net/overwatch/en/
- Mysql存储引擎
存储引擎是什么 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎.内存存储引擎能够在内存中存储所有的表格数据.又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能 ...
- 关于JavaScript测试工具:QUnit, Jasmine, MoCha
在进行前端开发过程中,在某些场景下,需要通过编写单元测试来提高代码质量.而JavaScript常用的单元测试框架有这几个:QUnit, Jasmine, MoCha.下面就基于这三个工具,简单做一比较 ...
- Zookeeper相关知识
一.Zookeeper是什么? Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务. ...
- 利用PinYin4j 实现List中的对象按数字,字母, 汉字排序
要排序的对象: import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPi ...
- equals()和hashcode()
默认调用的情况: 1.集合在存放对象时,首先判断hashcode(),再判断equals如果都是true,认为是相同的两个元素不进行存储. 删除对象时,将从hashcode指定位置查找再删除 2.在h ...
- maven概念
1. 下载并解压Maven:Maven下载页2. 将环境变量M2_HOME设置为解压后的目录: 3. 将M2环境变量设置为M2_HOME/bin(在Windows上是%M2_HOME%/bin,在U ...