文件、目录权限

批量创建新用户 newusers passwd格式文件 批量创建用户,必须和/etc/passwd下的文件格式一样  

下面开始批量创建:   首先准备好一个文件:用vi命令建一个user.txt

如图:QQ截图20160803110151.png

然后用cat user.txt

文件、目录权限

然后newusers批量创建,cat /etc/passwd查看下:

blob.png创建成功

批量修改用户密码  首先编辑好一个文件 vi pass.txt

QQ截图20160803111433.png

编辑好后 用命令:cat psss.txt | chpasswd   ,  修改成功  试下能否登录

blob.png

登陆成功  但是缺少配置文件       下面来解决这个问题

blob.png

 cp -r /etc/skel/. /testdir/user6/   

blob.png

再登录一次试试

blob.png  修改成功




用户属性修改usermod [OPTION] login

-u UID: 新UID

-g GID: 新基本组

-G GROUP1[,GROUP2,…[,GROUPN]]] :新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a 选项,表示append; 

-s SHELL :新的默认SHELL; 

-c 'COMMENT' :新的注释信息;

-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m 选项

-l login_name: 新的名字;

-L: lock 指定用户, 在/etc/shadow 密码栏的增加!

-U: unlock 指定用户,将 /etc/shadow的密码栏的! 拿掉

-e YYYY-MM-DD: 指明用户账号过期日期;

-f INACTIVE: 设定非活动期限;

blob.png

删除用户 userdel [OPTION]… login

-r: 删除用户家目录、以及邮箱

查看用户相关的ID信息 id [OPTION]… [USER]

-u: UID

-g: GID

-G: Groups查看辅助组

-n: Name显示出名称    可以组合

切换用户或以其他用户身份执行命令  su [options…] [-] [user [args…]]

切换用户的方式:

su UserName :非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

su – UserName :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

root su 至其他用户无须密码;非root 用户切换时需要密码

换个身份执行命令:  su [-] UserName -c 'COMMAND'

选项:-l –login:  su -l UserName 于 相当于 su – UserName

blob.png   用户切换,家目录没有切换  这种方式叫做不完全切换、非登录式切换

blob.png    切换用户,家目录也切换     这种方式叫做完全式登录

设置密码:passwd [OPTIONS] UserName: 修改指定用户的密码,仅root 用户权限

passwd: 修改自己的密码;

 常用选项:

-l: 锁定指定用户

-u: 解锁指定用户

-e: 强制用户下次登录修改密码

-n mindays: 指定最短使用期限

-x maxdays :最大使用期限

-w warndays :提前多少天开始警告

-i inactivedays :非活动期限;

–stdin :从标准输入接收用户密码;

echo " PASSWORD " | passwd –stdin USERNAME

创建组:  groupadd [OPTION]… group_name

-g GID: 指明GID 号;[GID_MIN, GID_MAX]

-r: 创建系统组;

CentOS 6: ID<500

CentOS 7: ID<1000

blob.pngblob.png

修改和删除组

组属性修改:groupmod     groupmod [OPTION]… group

-n group_name: 新名字

-g GID: 新的GID;

blob.png 

组删除:groupdel    groupdel GROUP

更改组密码

组密码:gpasswd      gpasswd [OPTION] GROUP

-a user: 将user 添加至指定组中;

-d user: 从指定组中移除用户user

-A user1,user2,…: 设置有管理权限的用户列表

blob.png



文件权限

文件的权限主要针对三类对象进行定义:

owner: 属主, u

group: 属组, g

other: 其他, o

每个文件针对每类访问者都定义了三种权限:

r: Readable 读权限  可使用文件查看类工具获取其内容

w: Writable 写权限  可修改其内容

x: eXcutable 执行权限  可以把此文件提请内核启动为一个进程

blob.png

-rw-r–r– 就是权限  第一个root,是文件所有者(owner) 第二个root是文件所属组 还有other

-rw-r–r–就是给这三类对象赋予权限的 按照rwx顺序赋予权限 没有权限用-代替

更该权限语法:chmod who(u,g,o,all) opt(+,-,=) permission(r,w,x) file……

例:blob.png

目录权限

r: 可以使用ls 查看此目录中文件列表

w: 可在此目录中创建文件,也可删除此目录中的文件

x: 可以使用ls -l 查看此目录中文件列表,可以cd 进入此目录

X:只给目录x 权限,不给文件x 权限(文件本身没有权限)

chmod who(u,g,o,all) opt(+,-,=) permission(r,w,x,X) file……

还有一种形式:chmod 数字(3个八进制数字) file    r:4  w:2  x:1 没权限就是0

算法:rwxrwxrwx就是r+w+x=777

blob.png

chmod [OPTION]… –reference=RFILE FILE…

参考RFILE 文件的权限,将FILE 的修改为同RFILE;

blob.png

权限设置:

chgrp  sales testfile 设置所有者

chown  root:admins testfile设置所有者、所属组

chmod  u+wx,g-r,o=rx file所有者+写、执行,所属组-读,other赋予读、执行 

chmod  -R g+rwX /testdir对此目录里的所有子目录、文件 赋予读写权限,X表示对目录加执行权限

chmod  600 file所有者是读、写权限  其他的没权限

chown  mage testfile把所有者改成mage  root可执行,文件所有者user可将之改为user的所属组

blob.png

新建文件和目录的默认权限

 umask值可以用来保留在创建文件权限

umask值 + default默认权限=dir目录777   file文件666

umask 从最大权限中屏蔽掉相应权限位,从而得到默认权限

默认权限=最大权限-umask  如果是目录,则公式不变         

 新建FILE 权限: 666-umask    如果所得结果某位存在执行(奇数)权限,则将其权限+1

 新建DIR 权限: 777-umask

 非特权用户umask是002

 root 的umask 是022

 umask: 查看

 umask #: 设定

 umask –S 模式方式显示

 umask –p 输出可被调用

 全局设置: /etc/bashrc 用户设置:~/.bashrc

更改umask的方法:blob.png临时更改

特殊权限: SUID, SGID, Sticky

三种常用权限:r, w, x user, group, other

可执行文件上SUID权限

 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

 启动为进程之后,其进程的属主为原程序文件的属主   只对二进制可执行程序有效

   SUID 设置在目录上无意义

   权限设定:  chmod u+s FILE…     chmod u-s FILE…

可执行文件上SGID权限: 

 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

 启动为进程之后,其进程的属主为原程序文件的属组

 权限设定:chmod g+s FILE…      chmod g-s FILE…

目录上的SGID权限

当他作用在一个目录上时,在此目录下新建的文件,将自动继承该目录的所属组

 默认情况下,用户创建文件时,其属组为此用户所属的 主 组

 一旦某目录被设定了SGID ,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组

 通常用于创建一个协作目录

 权限设定:chmod g+s DIR…    chmod g-s DIR…

sticky位:粘滞

  具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权

 在目录设置Sticky 位,只有文件的所有者或root可 可以删除该文件

 sticky 设置在文件上无意义

 权限设定:chmod o+t DIR…    chmod o-t DIR…

例如:blob.png

设定文件特定属性:

 chattr +i 不能删除,改名,更改

 chattr +a 只能增加

 lsattr 显示特定属性

blob.png

加上特定属性后,只能看,不能删,不能更改,不能移动     

想要恢复正常 chattr -i命令  恢复正常

blob.png

访问控制列表

为多用户或者组的文件和目录赋予访问权限rwx

• mount -o acl /directory

• getfacl file |directory

• setfacl -m u:wang:rwx file|directory

• setfacl -Rm g:sales:rwX directory

• setfacl -M file.acl file|directory把设置权限的代码写到文件里,用M来调用

• setfacl -m g:salesgroup:rw file| directory组权限

• setfacl -m d:u:wang:rx directory 此目录下,新建的文件有此权限

• setfacl -x u:wang file |directory

• setfacl -X file.acl directory

取消用户guoquan所有权限   如图

blob.png

恢复权限:

blob.png

  ACL 文件上的group 权限是mask 值(自定义用户,自定义组,拥有组的最大权限), 而非 传统的组权限       

mask 只影响除所有者和other 的之外的人和组的最大权限      

Mask 需要与用户的权限进行逻辑与运算后,才能变成有限的权限

 getfacl 可看到特殊权限:flags

blob.png

原创文章,作者:旧城以西,如若转载,请注明出处:http://www.178linux.com/27605

(0)
旧城以西旧城以西
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • if case语句练习

     1、 写一个脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id号等信息 [root@localhost bin]# cat createuser.sh #!/bin/bash # Date…

    Linux干货 2016-08-15
  • 马哥教育网络20期+第五周练习博客

    1、  显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub/grub.conf          root (hd0…

    Linux干货 2016-08-02
  • 编译内核

     编译内核: 步骤: (1) 准备好开发环境 (2) 获取目标主机上硬件设备的相关信息 (3) 获取目标主机系统功能的相关信息         例如:需要启用相应的文件系统 (4) 获取内核源代码包 www.kernel.org  

    Linux干货 2018-01-01
  • Ansible

    Ansible简介 ansible是一种基于python语言开发的轻量级自动化运维工具,它可以自动化批量完成主机服务配置管理,软件部署,执行特定命令等工作 ansible的核心组件有ansible core(核心代码),host inventory(要管理的主机),core modules(核心模块),custom modules(用户可以自定义模块),pl…

    Linux干货 2016-11-14
  • 对虚拟机键入Ctrl+Alt+Delete的详细说明

            日常中我们用Windows系统时经常使用Ctrl+Alt+Delete来换出任务管理的菜单,进行任务管理,linux中也有这样的键入命令,但不是管理任务,而是重启系统!!!那么我们就应该注意了,不要误操作重启服务器。       &n…

    2017-03-28
  • Linux基础知识之用户和组管理

    系统环境:    该博文以CentOS6.8_x86_64和CentOS7.2_x86_64系统为基础,Xshell5远程登录CentOS6.8和CentOS7.2系统,分别以root身份和sjsir用户身份登录系统。 学习的重要问题: 一、为什么要学习用户和组?    首先Linux区别于其他的系统的最重要的特性就是…

    Linux干货 2016-08-02