liunx-基本权限

1、文件和目录权限的区别

  A.文件的权限:所有者,所属组,其他人

   rwx,读,写,执行,没有权限就是-

  • 第一组rwx:文件所有者的权限
  • 第二组rwx:文件所属组的权限
  • 第三组rwx:文件其他人的权限

   B.目录的权限:

  r:具有读取目录结构列表的权限,可以查看目录下有哪些文件

  w:该权限对于目录来说是很大的

    1、可以在该目录下新建新的文件和目录

    2、可以删除已经存在和目录

    3、将已经存在的文件和目录重命名

    4、移动该目录内的文件和目录的位置、

  x:是否可以进入该目录

2、修改文件权限

  • chown :修改文件的拥有者,前提是要有该拥有者

    • chown 拥有者 文件/目录

      • -R 递归修改
  • chgrp :修改问价所属组,前提是要有该组

    • -R 递归修改
  • chmod :修改拥有者和所属组的权限
    • 加减法:u/g/o   +/-/=  r/w/x     eg:(chmod u+w filename 《filename》)
    • 数字法:r = 4,w=2,x=1,三位 两位 一位   eg:(chomd 764 《filename》)

3、创建一个组-groupadd

  groupadd:创建组

  组的默认信息:/etc/login.defs

    -g:指定gid

  groupdel

  groupmod

  gpasswd

    -a:为组添加用户

    -d:为组删除用户

权限特点:

    证明文件的RWX权限特点

    文件的拥有者,即使没有W权限,也可以强制写入。所属组和其他人不行

    证明目录的RWX权限特点:

    如果一个用户对一个目录没有W的权限,是可以编辑该目录中拥有者是自己的文件

4、默认权限 -umask

  0022 ----拿走的权限

    第一个数字表示特殊权限

    022 = rwxr_xr_x

  默认创建文件和目录的权限,文件会拿走x权限

  临时的修改:umask 0000

  永久修改:/etc/bashrc(不建议)

5、特殊权限

    当s出现在拥有者的X权限时候,表示拥有者SUID的权限(Set UID)

    当s出现在所属组的X权限位置时候,表示所属组有SGID的权限(Set GID)

    当s出现其他人的X权限位置时候,表示其他人有SBIT的权限(Sticky Bit)

  SUID,临时获取文件拥有者的权限-------只能针对文件

  SGID,即使可以作用于目录,也可以作用于文件

      作用于文件:SUID一样

      作用于目录:继承父集目录------目录会不停的继承

  SBIT指的是,只有文件的拥有者,才能删除,修改该目录下的文件------只能针对目录

  S和T都有大写和小写之分

  小写说明:没有X权限

  大写说明:有X权限

  SUID=4 SGID=2 SBIT=1

6、用户账户管理

  • 账户和组名:人看的
  • UID和GID:Liunx看的
  • id:查看当前登入用户的UID和GID
  • 当我们使用ls -l的时候,系统会根据/etc/passwd和/etc/group文件的内容,找到UID和GID对应的名称
  • 如果随意修改了/etc/passwd下的用户的UID会发生什么情况
  • /etc/passwd:记录了Liunx上所有的账号
  • /etc/shadow:记录了账户对应的密码
  • /etc/group:记录了所有的组

  1、/etc/passwd

lewis:x:1004:1004::/home/lewis:/bin/bash

  • lewis:用户名
  • X:早期这个部分党的是用户登入密码,现在密码放入了/etc/shadow中了
  • UID:0表示系统管理员,1-999保留给系统使用的ID,1000以上给一般使用者
  • GID:0表示系统管理员,1-999保留给系统使用的ID,1000以上给一般使用者
  • Lewis:使用者信息说明
  • /home/lewis:用户家目录,用户登入是,所在目录
  • /bin/bash:用户在登入的时候,是否可以使用shell,如果不能使用shell,则会显示/sbin/nologin

  2、/etc/shadow

root:$6$4eHpZlxH3dAxcEVZ$5EW9HK6XX12fMWATh21P80t4HIRTth1WVOC0Aw6xiveLIkKmcsKMWukhM8q8NCzbK.b/v1qMz3.L.hVIwnAVk/::0:99999:7:::

    1、root:用户名

    2、一串红色的数字,经过加密的数字

    3、最近更改过密码的日期:Liunx中的日期,是通过1970年1月1号开始累加的日期

    4、密码不能改修改的tianshu;0表示随时可以修改

    5、密码需要重新被修改的天数,通过修改该值,可以强制用户修改密码

    6、密码需要变更的告警天数;7天内系统会想用户发出告警

    7、密码到期后,账号还可以使用的时间

    8、账号失效日期:通过1970年1月1号开始累加的日期,到了时间后,无论密码是否过期,该账号就不能使用了。

    9、保留

   3、/etc/group

    lewis:X:1000:

    1、Lewis:组名

    2、X:组密码,一般不需要

    3、1000:GID

    4、附属组

    这些文件不建议直接进行修改,建议使用命令进行修改

7、常用命令

  a、用户创建-useradd

    -u:设置UID

    -g:设置主要组

    -G:设置要附属组

    -c:设置用户说明

    -d:指定用户家目录

    -s:指定用户shell

    -e:账号失效日期,格式为 YYYY_MM_DD

    -f:指定密码是否失效,0表示立刻失效,1表示永不失效

  使用useradd后,会默认做一下几个操作

    • 在/etc/passwd下简历相关的资料
    • 在/etc/shadow下写入密码的相关的参数
    • 在/etc/group中写入和账户名一样的组
    • 在/home下创建用户的家目录 
    • id命令 (显示用户的uid和gid)  

  b、删除一个用户-userdel

  • 要彻底的删除一个账号,比较麻烦

  1、删除/etc/passwd;/etc/shadow文件的内容

  2、删除/etc/group;/etc/gshadow

  3、删除/home/username;/var/spool/mail/username

  4、删除该用户曾经来该liunx中创建的文件

    find进行搜索,先搜索,在使用userdel

  -r连同家目录和邮箱一起删除

 

  c、对用户账户的信息进行细微的修改  ------usermod

    -c:账户说明

    -d:修改家目录

    -g:修改主要组

    -G:修改附属组

    -a:与-G一起使用,增加附属组

    -l:修改用户名

    -u:修改UID

    -L:冻结账号

    -U:解冻

  c、修改账号的密码passwd

    -l :锁住该账号,在/etc/passwd中方密码的位置加个!

    -u :解锁

    -S:显示账号的密码参数

    -n:接天数,设置多节可不修改密码

    -x:接天数,设置多节必须修改密码

    -w:j接天数,设置密码过期前警告天数

    -i:街天数,设置密码失效天数

  d、chage可以修改和密码有关的时间参数

    -l:查看一个账户和密码有关的时间参数

    -d :YYYY_MM_DD,修改最近一个更改密码的时间

    -E :YYYY_MM_DD,修改账号的失效时间

    -I:天数,设置密码几天后失效

    -m:天数,设置密码至少保留几天

    -M:天数,设置密码多久后,乣更新

    -W:天数,设置密码过期前警告时间

  e、文件权限-getfacl和setfacl

    acl:针对单一使用者,设置单一文件或目录来进行rwx的权限修改

    getfacl:获取单一使用者,针对单一文件或目录的权限

    setfacl:配置单一使用者,对单一文件或者目录的权限

      -m:配置acl餐数据

      -x:删除单个文件的acl

      -b:删除acl的配置

      -R:递归配置acl参数

      用法:setfacl -m u:用户名 :rwx 文件或者目录

         setfacl -m g :组名:rwx 文件或者目录

         setfacl -m m ::rwx 修改musk值

  getfacl 文件名

  mask的定义-------权限上线

      1、权限的集合(特定用户,特侗族,所属组的并集)

      2、如果mask中没有的权限,即使getfacl 设定了,也不会有

    

        

    

liunx_second_day的更多相关文章

随机推荐

  1. Unity Shader笔记

    shader “MyShader”{ Properties{ -CubeMap(“Cube Map” , Cube) = ""{这里可以添加图片渲染模式} } SubShader{ ...

  2. Java框架spring 学习笔记(八):注入对象类型属性

    使用set方法注入对象属性 编写UserDao.java文件 package com.example.spring; public class UserDao { public void print( ...

  3. 如何用frp进行来无影去无踪

    准备工作 和 注意事项: 1.frp 下载地址  https://github.com/fatedier/frp/releases 2. 需要给有公网ip 的服务端服务器 和 本地客户端服务器 各放一 ...

  4. 20175314 《Java程序设计》第九周学习总结

    20175314 <Java程序设计>第九周学习总结 教材学习内容总结 根据课本的介绍下载了MySQL和Navicat for MySQL并成功对后者进行破解 MySQL客户端管理工具(如 ...

  5. Python的range()函数用法

    Python的range()函数有三种用法,简单地说就是下图的三种用法: 运行结果如下:

  6. IIS7/8下提示 HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求

    IIS7的设置和IIS6有很多不同之处,这里提到的的是一个上传附件大小设置的问题. HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 原因:Web ...

  7. python写注册

    # coding = UTF-8 注释格式 import datetime 引用日期 today = datetime.datetime.today().strftime("%Y-%m-%d ...

  8. tomcat简单使用

    下载解压tomcat[root@localhost]# tar zxf apache-tomcat-8.5.4.tar.gz -C /usr/local/tomcat yum自带JDK,注意区别JRE ...

  9. java8 先groupingBy 后map

    Map<Integer,List<String>> mapBanJI_UserNameList=list.stream().collect(Collectors.groupin ...

  10. Python脚本字符集问题

    运行脚本的时候,总是报错: SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xb9 in position 0: inval ...