zoukankan      html  css  js  c++  java
  • linux(centos)用户与权限

    1.用户管理

    2.用户组

    3.权限分配

     

    一、查看与用户相关文件命令:

    1.cat

    2.more

    3.head /etc/passwd    #查看文件的前十行

    4.head -2 /etc/passwd #查看文件的前两行

    5.tail /etc/passwd    #查看文件的后十行

    6.tail -f /etc/passwd #实时跟踪文件的后十行

    6.tail -2 /etc/passwd #查看文件的后两行

    7.wc -l /etc/passwd   #显示文件的行数

    8.nl /etc/passwd      #直接打印文件内容并且显示行号

    linux(centos)用户与权限

    Root  X 0 0 root /root :/bin/bash

     

    用户名:用户名不要太长。Niejunzhong  - njz

    X 密码位 保留,以前的linux存放密码

    Uid  用户的标识符

    Gid  缺省组标识号  系统默认创建同名组

    描述信息  注释性描述

    宿主目录   用户登录后的缺省目录

    命令解释器   用户使用的shell 默认 bash

     

    密码文件shadow

    Etc/passwd 每个用户都有读权限。早些密码放置在密码位。

    Man -5 shadow

    linux(centos)用户与权限

    登录名加密密码:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:账号闲置时间:失效时间:标志。

     

    时间:1969年肯.汤玛斯开发出unix雏形 业界认为linux诞生1970 11

     Root 超级用户 缺省没有写权限,照样可以进行修改或删除。

     

    Pwconv 密码回写      密码先写入passwd 再转换到shadow

     

    Passwd命令   ls -l  /usr/bin/passwd

    为什么普通用户可以更改密码?

    linux(centos)用户与权限

    linux(centos)用户与权限

     

    SetUID的定义:当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序的所有者的身份执行。

    Passwd的所有者是root 所有普通用户在更改密码时是变成root所有者来执行这个命令的。

     

    修改用户配置文件添加用户(原理)

    Username   /etc/passwd

    Password   /etc/shadow

    1、vi /etc/passwd    用户名 密码 uid gid 描述 宿主目录 shell

    linux(centos)用户与权限

    2、Mkdir  创建宿主目录    给予权限  chown 用户  目录

    linux(centos)用户与权限

    3、Vi /etc/shadow

    linux(centos)用户与权限

    此时 可以登录 命令提示符不同

    linux(centos)用户与权限

    4、cd /etc/skel 里面全是隐藏文件 ls -a

    linux(centos)用户与权限

    5、Cp skel里的文件到 新用户的宿主目录

    linux(centos)用户与权限linux(centos)用户与权限linux(centos)用户与权限

     

     

     

    用户配置文件 /etc/

    Login.defs  配置邮件  最大时间间隔 最小时间间隔(root不限定) 自动创建目录 Umask

    Etc/default/useradd  宿主目录缺省目录 账号是否被禁用 账号失效时间

     

    登录信息

    登录前:etc/issue   避免暴露系统版本信息

    linux(centos)用户与权限

    登录后:/etc/motd  内部信息   wall广播

     

    用户类别:

    Linux 用户分为三种

    超级用户 root     uid=0

    普通用户          uid 500-60000

    伪用户:          uid 1-499

     

    Uid0的用户叫做超级用户,命令提示符前  []#  ls

    linux(centos)用户与权限

     

    伪用户

    1、伪用户与系统和程序服务相关

    Binbaemonshutdownhalt等,任何linux系统默认都有这些伪用户

    Mailnewsgamesapacheftpmysqlsshd等,与linux系统的进程相关。

    2、伪用户通常不需要或无法登陆系统

    3、可以没有宿主目录

     

    二、用户管理:

    1.新建用户

    useradd user1

    2.删除用户

    userdel -r user1

    3.修改密码

    1)passwd user1

    2)echo 123|passwd --stdin user1

    4.查看用户

    id user1

     

    三、用户影响文件

    如果用户用userdel删除,可以通过删除下面影响文件来删除、来新建。

    1)/etc/passwd

    2)/etc/shadow

    3)/etc/group

    4)/var/spool/mail

    5)/home

     

    1)/etc/passwd用户属性

    user1:x:500:500::/home/user1:/bin/bash

        1-1)用户名

        1-2)用户密码所在的文件/etc/shadow

        1-3)用户uid

        1-4)用户所属组的gid

        1-5)用户描述

        1-6)用户家目录

        1-7)用户登录shell

    用户分类

        1-1)超级用户

        1-2)系统用户

        1-3)普通用户

    2./etc/shadow

    1)加密方法:grub-md5-crypt

    2)!! 说明该用户没有密码

    3)!$$$$ 说明该用户被锁定

     

    3./etc/group

    user1:x:500:

    组名:组密码位:

     

    4./home

    1)user1的家目录

    /home/user1

    2)删除用户

    userdel -r user1

    #如果userdel user1删除,会留下用户家目录和用户邮箱

     

    5.管理用户命令-usermod

    1)锁定一个用户

    usermod -L user1

    2)解锁一个用户

    usermod -U user1

    3)锁定用户后/etc/shadow

    !$1$Ttyif4Oi$piuprg8yV9.FGc4MzA4EP0

    #密码前面会出现一个!

     

     

    四、组管理:

    1.新建组

    groupadd grp1

    2.删除组

    groupdel grp1

    3.用户与组管理:

    1.把用户加入组

    1).usermod -g grp1 user1

    2).usermod -G grp1 user1

    3).gpasswd -a user1 grp1

    #把用户user1加入组grp1

    2.把用户从组删除

    1).gpasswd -d user1 grp1

    #把用户user1grp1组中删除

     

     

    其他用户命令:

    Finger 用户   那台主机登录、什么时间登录、有没有邮件和计划任务

    Su 用户 切换用户

    Passwd -S 用户 查看用户的密码状态。

    Whow 查看当前用户

    批量添用户命令 循环+ echo ‘12345’ |passwd --stdin user

    Gpasswd -a user1 grap1

    Gpasswd -d user1 grp1

     

    五、用户与文件的关系-权限:

     

    1.chmod

    2.chown

    3.setuid

    4.setgid

    5.sudo

    6.acl

     

     

    1.chmod授权方法

    1)chmod 755 /mnt

    2)chmod a+x file

    3)umask 文件权限掩码,由它决定文件夹权限是755,文件权限是        644

    4)查看单个目录本身的权限

    ls -ld mnt/

    5)在当前终端切换用户

    su - user1

     

    2.chown改变所有者和所属组

    chown user4 test

    #改变所有者为user4

    chown :user4 test

    #改变所属组为user4

    chown user4:user4 test

    #同时改变所有者和所属组

     

    3.SetUID

    操作对象:执行程序

    -rwxr-xr-x  root root file

    -rwsr-xr-x  root root file

    查找setuid程序  find / -perm -4000 -o -perm -2000

    作用:一个执行命令一旦加了s位,其他所有人执行时都是以该命令的所有者的身份在执行.

    如何加s:

    1) chmod u+s /bin/touch

    2) chmod 4755 /bin/touch

    4 2 1 setuid setgid t

     

    4.setgid

    操作对象:文件夹

    作用:对目录设置setgid,目录下的子文件夹也继承父文件夹的gid    权限

    chmod g+s test

    chmod 2755 test

     

    5.t 粘作位

    操作对象:目录的权限是777

    作用:在一个公共的文件夹内自己只能删除自己的东西

    chmod o+t /tmp

    chmod 1777 /tmp

     

    6.sudo授权

    1)echo $PATH

    #这个环境变量决定了你能在哪些路径下直接找到执行程序

    2)设置sudo

        2-1)visudo

        2-2)vi /etc/sudoers

    #不推荐第二种方法

    user1   localhost=/usr/sbin/useradd user5,/usr/sbin/userdel -r user5,/sbin/service httpd restart

    3)!str #执行历史中离你最近一次以str开头的命令

     

    7.acl授权

    1)设置权限

    setfacl -m u:user1:rwx /test

    2)查看权限

    getfacl /test

    3)删除user1/test上的权限

    setfacl -x u:user1 /test

    4)删除/test上的所有acl权限

    setfacl -b /test

    5)设置acl的默认权限

    setfacl -m d:u:user1:rwx test

    #当前目录的以后子目录会继承目录的acl权限

  • 相关阅读:
    我孤独吗?我软弱吗?
    DataGrid 中的 HyperLinkColumn 如何传递多个参数?(未整理)
    C# 获取 MAC地址!
    (文本)文件操作
    ioninfinitescroll实现上拉分页加载更多
    前端面试题:防抖的实现
    vue 传送门功能,实现模态窗口
    前端面试题:节流的实现( 减少一段时间的触发频率)
    vue中的render函数
    ionic5实现tab栏切换效果
  • 原文地址:https://www.cnblogs.com/zajsky/p/3447366.html
Copyright © 2011-2022 走看看