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