zoukankan      html  css  js  c++  java
  • 6Linux用户身份与文件权限

    3类用户身份:

    (1)管理员UID为0,root

    (2)系统用户UID为1-999;nologin不能登录系统,老版本5、6中是1-499

    (3)普通用户UID为1000开始,老版本5、6中是1000-65535

    UID是不能冲突的,管理员创建的普通用户UID默认是从1000开始,即使前面有闲置的号码

    常用命令:

    (1)useradd 参数 用户名,创建用户

    -d 指定用户的家目录(默认为/home/username)
    -e 账户的到期时间,格式为YYYY-MM-DD.
    -u 指定该用户的默认UID
    -g 指定一个初始的用户基本组(必须已存在)
    -G 指定一个或多个扩展用户组
    -N 不创建与用户同名的基本用户组
    -s 指定该用户的默认Shell解释器

    (2)id 用户名,查看用户信息

    (3)groupadd 选项 群组名;创建用户组

    (4)usermod 选项 用户名;修改用户是的属性

    -g 变更所属用户组
    -G 变更扩展用户组
    -u 修改用户的UID

    如:将用户linuxprobe加入到root用户组中,这样扩展组列表中则会出现root用户组的字样,而基本组不会受到影响
    usermod -G root linuxprobe
    usermod -G root linuxprobe
    uid=1000(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

    如:用-u参数修改linuxprobe用户的UID号码值。除此之外,我们还可以用-g参数修改用户的基本组ID,用-G参数修改用户扩展组ID
    usermod -u 8888 linuxprobe
    id linuxprobe
    uid=8888(linuxprobe) gid=1000(linuxprobe) groups=1000(linuxprobe),0(root)

    /etc/group  用户、用户组信息从这里面可以删除

    (5)passwd 用户名,修改密码

    --stdin 允许通过标准输入修改用户密码,如echo "NewPassWord" | passwd --stdin Username

      ls -l /etc/shadow  权限,密码保存文件

    (6)userdel 选项 用户名,删除用户

    -f 强制删除用户
    -r 同时删除用户及用户家目录

    文件权限与归属

    在Linux系统中一切都是文件,但是每个文件的类型不尽相同,因此Linux系统使用了不同的字符来加以区分,常见的字符如下所示。

    -:普通文件。
    d:目录文件。
    l:链接文件。
    b:块设备文件。
    c:字符设备文件。
    p:管道文件。

    一般文件:

    对于一般文件来说,权限比较容易理解:“可读”表示能够读取文件的实际内容;“可写”表示能够编辑、新增、修改、删除文件的实际内容;“可执行”则表示能够运行一个脚本程序。

    目录文件:

    对目录文件来说,“可读”表示能够读取目录内的文件列表;“可写”表示能够在目录内新增、删除、重命名文件;而“可执行”则表示能够进入该目录。

    文件的读、写、执行权限可以简写为rwx,亦可分别用数字4、2、1来表示,文件所有者,所属组及其他用户权限之间无关联,如表

                                                                              占用磁盘大小    修改时间

    chmod 权限 文件名称

    chown 用户名:用户组 文件名

    chmod和chown命令是用于修改文件属性和权限的最常用命令,它们还有一个特别的共性,就是针对目录进行操作时需要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作。

    文件特殊权限:

    SUID:chmod u+s 文件名;让命令的执行者临时后去到了所有者的身份

    SGID:chmod g+s 文件名;让执行者临时拥有属组的权限

    SBIT: chomd o+t 文件名;让目录内的文件只能被文件所有者删除;将Sticky Bit直译成了“粘滞位”或“保护位”

    数字法对应:

    SUID:4

    SGID:2

    SBIT: 1

    文件的隐藏属性

    lsattr 文件名;查看隐藏权限

    chattr +权限 文件

              -权限 文件

    文件访问控制列表:facl

    setfacl 设置;file access control list =facl

    使用-R递归参数;-m修改参数;如果想要删除某个文件的ACL,则可以使用-b参数,用户是u: 组是g:
    setfacl -Rm u:linuxprobe:rwx /root

    getfacl 查看;

    su

    su命令与用户名之间有一个减号(-),这意味着完全切换到新的用户下,即把环境变量信息也变更为新用户的相应信息,而不是保留原始的信息。强烈建议在切换用户身份时添加这个减号(-)

    当从root管理员切换到普通用户时是不需要密码验证的,而从普通用户切换成root管理员就需要进行密码验证了;这也是一个必要的安全检查

    sudo

    命令具有如下功能:

    限制用户执行指定的命令:
    记录用户执行的每一条命令;
    配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;
    验证密码的后5分钟内(默认值)无须再让用户再次验证密码

    如果担心直接修改配置文件会出现问题,则可以使用sudo命令提供的visudo命令来配置用户权限。这条命令在配置用户权限时将禁止多个用户同时修改sudoers配置文件,还可以对配置文件内的参数进行语法检查,并在发现参数错误时进行报错。

    只有root管理员才可以使用visudo命令编辑sudo服务的配置文件
    使用visudo命令配置sudo命令的配置文件时,其操作方法与Vim编辑器中用到的方法一致,因此在编写完成后记得在末行模式下保存并退出。在sudo命令的配置文件中,按照下面的格式将第99行(大约)填写上指定的信息:

    谁可以使用 允许使用的主机=(以谁的身份) 可执行命令的列表

    [root@linuxprobe ~]# visudo
     96 ##
     97 ## Allow root to run any commands anywhere
     98 root ALL=(ALL) ALL
     99 linuxprobe ALL=(ALL) ALL

    99 linuxprobe ALL=(ALL) /usr/bin/cat,/usr/binreboot  ,号作间隔

    每次执行sudo命令都要输入一次密码其实也挺麻烦的,这时可以添加NOPASSWD参数,使得用户执行sudo命令时不再需要密码验证

    99 linuxprobe ALL=NOPASSWD: /usr/sbin/poweroff

     
  • 相关阅读:
    所有时间测试函数
    时间函数应用 time
    50个c/c++源代码网站
    ASN.1详解
    SNMP协议
    SNMP协议详解
    大数据需要建立规则和标准
    常用的三层架构设计
    构建大型网站架构十步骤
    iOS 应用程序内部国际化,不跟随系统语言
  • 原文地址:https://www.cnblogs.com/biglu/p/10580930.html
Copyright © 2011-2022 走看看