0803linux基础小记

让普通用户无法登录:

centos 6 

touch /etc/nologin

echo "wating" > /etc/nologin

普通用户登录时不能进入系统,有提示信息

blob.png

centos7 

touch /etc/nologin 或touch /run/nologin 

chage -l alice   显示用户的密码信息

blob.png

groupadd -g 3000 g1                    //新建gid为3000的组g1

groupmod -n newg1 -g 3001 g1    //修改组名为newg1、gid为3001

groupmems -l -g newg1                //查看newg1组包含哪些成员

groupmems -g newg1 -a jerry        //将jerry用户加入alice组

gpasswd -d tom newg1                 //将tom用户从newg1组移除

gpasswd -a alice newg1                //将alice用户加入newg1组

对于目录的意义

r:可查看dir内文件列表,但不能访问文件,不能cd,也不能查看文件的元数据

x:可以进入dir,可以访问dir中文件

w:可以创建或删除dir中文件,配合x(无视文件的权限,因为文件是目录中的内容,一个名字)

chmod -R a=rwX dir1/     // 对目录,X等价x;对文件,原先有执行权限则为x,原先无执行权限则为-

blob.png

chmod  –reference sfile dfile   将dfile的权限设为同sfile的权限

blob.png

umask+default  file为666  dir为777    // 防止文件有执行权限

umask root的默认0222   普通用户的默认0002

/etc/profile  和 /etc/bashrc中定义了掩码

blob.png

umask 026 对当前shell有效,写到~/.bashrc中永久生效

umask -p >> .bashrc   //-p,输出被调用,写入到.bashrc

umask -S 模式方式显示  输出u=rw,g=rx,o=w

umask 从目录或文件上屏蔽掉最大权限相应的位,从而得出默认权限

blob.png

dir:777-umask

file:666-umask   有奇数+1,偶数则原样

umask 125,666-125=541(5、1是奇数要+1)–>642

blob.png

blob.png

s权限即suid,对普通用户有意义,普通用户可以改自己密码

如果chmod u-s /usr/bin/passwd 则权限变为-rwxr-xr-x

普通用户无法再passwd改自己密码

还原回去,chmod 4755 /usr/bin/passwd  //4是suid的权限,2是sgid,1是sticky

blob.png

普通用户cat /etc/shadow是禁止的

chmod u+s /usr/bin/cat,则-rwsr-xr-x,普通用户可以读取/etc/shadow

[root@localhost ~]# ll -d /testdir

drwxrwxrwx. 14 root root 4096 Aug  3 13:35 /testdir

切到普通用户,可以创建、删除自己和其他人的文件(因为目录有写权限)

[root@localhost ~]# chmod o+t /testdir      t是粘滞位

权限为drwxrwxrwt,切到普通用户,可以创建、删除自己文件,而不能删除其他人文件

blob.png

suid s 作用在二进制程序

sgid s 作用在二进制程序

sticky t  作用在目录

sgid作用于目录上:将使该目录中新建文件或目录将自动继承该目录所属组

blob.png

chattr +A file

lsattr file  看到标识——-A——–

chattr +i file  锁定文件

chattr +a file  只能追加修改不能删除

文件访问控制列表

ACL:Access Control List,实现灵活的权限管理,除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

setfacl 命令

-m 修改acl规则

setfacl -m u:wang:0 f1    

setfacl -m u:wangcai:rw f1  

-x 移除acl规则

setfacl -x u:wangcai f1

-b 清空所有acl规则

setfacl -b f1

-M 读取acl规则文件

setfacl -M acl.txt f2

设置了facl,文件的权限为mask的权限

setfacl -m mask::rw f1    //一旦mask设置了,除了所有者和other,其他人只能小于等于mask权限

chmod g=x f1 改组的权限实际是改mask权限

setfacl -m d:u:wangcai:rwX dir   // d,default  影响目录下将来的新文件

getfacl file1 | setfacl –set-file=- file2 复制file1的acl权限给file2

tar打包会丢失acl信息,手工备份

cd /dir

getfacl -R * 

getfacl -R * > /root/acl.bak

setfacl -R -b *

setfacl -R –set-file=/root/acl.bak *

 

原创文章,作者:victorycommander,如若转载,请注明出处:http://www.178linux.com/28737

(0)
victorycommandervictorycommander
上一篇 2016-08-04
下一篇 2016-08-05

相关推荐

  • 二进制安装mysql(mariadb)

    实验环境: ~]# lsb_release -a Distributor ID: CentOSDescription: CentOS Linux release 7.4.1708 (Core)Release: 7.4.1708Codename: Core 去官方下载mariadb: https://downloads.mariadb.org/ 本人将自己的文…

    2018-01-22
  • bash脚本编程之流程控制if、for、while、until简介

    概述     之前介绍了一些bash脚本编程的变量、运算、条件测试的一些基础内容,了解了脚本实际上就是一些语句加上一些流程控制组合起来,实现某种功能的可执行文件。我们知道,条件测试的目的,实际就是为了实现一种流程的控制,那么本篇就简单介绍一下bash里面常见的流程控制语句,包括选择、循环等内容,具体包括以下几个部分: …

    Linux干货 2016-08-18
  • 正则表达式练习

    一: 1、找出ifconfig命令结果中本机的所有IPv4地址         2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 二: 1、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 2、显示/etc…

    Linux干货 2016-08-12
  • N21-天天-第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash awk -F: '$NF~"/sbin/nologin" {shell++} $NF!~&qu…

    Linux干货 2016-09-01
  • Linux boot分区意外格式化或清除之后…

    boot分区在没有备份的情况下意外被清空,包括启动引导信息也没了。这时若Linux还在运行,那你是幸运的, 修复的方法: 1. cat  /etc/*release      #赶快先确定当前系统的具体版本。有ISO镜像赶快挂载上来.   &nbsp…

    Linux干货 2016-03-22
  • yum命令用法及源码的编译

     一:yum 何为yum? yum是rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,是up2date 的替代工具。 1.命令格式:     yum [options] [command] [package …] 2.yum客户端配置文件: 公共配置文件:/etc/yum.conf   &…

    Linux干货 2017-08-19