• Linux基础知识part2


    继续上一节,这次主要是用户和权限的一些知识点。

    命令创建用户:useradd

    手动创建用户:

    /etc/passwd

    /etc/shadow

    /etc/gshadow

    /home/用户名/

    /var/spool/mail

    id user 查看user用户个人信息。

    用户家目录的隐藏文件模板  /etc/skel

    ls -ld 查看目录详细信息

    chown -R oldboy:oldboy /home/oldboy 递归更改

    家目录下环境配置文件
    env 查询环境变量
    set 查询所有变量
    环境变量可以被子进程继承 export b=2
    自定义变量不能被子进程继承 a=1

    环境配置文件(每个用户家目录下都存在)
    .bash_history 保存用户的历史命令,当用户退出时保存到文件
    .bash_logout 保存用户退出时执行的命令
    .bashrc 保存用户别名 (开启新的终端就可以读取该文件)
    .bash_profile 保存用户搜索命令的位置

    .bashrc shell级别环境变量配置文件
    .bash_profile 登录级别环境变量配置文件

    su - 登录级别切换
    su shell级别切换

    全局环境配置文件
    /etc/bashrc
    /etc/profile

    加载顺序
    /etc/profile
    .bash_profile
    .bashrc
    /etc/bashrc

    定义变量文件顺序
    /etc/profile1
    /etc/profile2
    .bash_profile1
    .bashrc1
    /etc/bashrc1
    /etc/bashrc2
    .bashrc2
    .bash_profile2

    权限(基本权限和高级权限)
    [root@localhost ~]# ls -l install.log
    -rw-r--r-- 1 robin upup 39751 05-23 11:15 aa.txt
    rwx | rwx | rwx
    robin upup other
    uid=0----->uid=robin----->group=upup----->other

    对于文件 r--------cat head tail....
    w--------vim,gedit,vi,> >>
    x--------执行./ 绝对路径
    对于目录 r--------ls r-x查看目录下文件信息
    w--------mkdir touhc rm rwx
    x--------cd
    user u
    group g
    other o

    chmod u+r file/dir
    chmod u+r,g+w file/dir
    chmod ug-rw file/dir
    chmod ugo+rwx file/dir
    chmod a+rwx file/dir

    chmod u=r file/dir
    chmod u=r,g=w file/dir
    chmod uo=rw file/dir
    chmod ugo=rwx file/dir
    chmod a=rwx file/dir

    / rwxr-xr-x 755
    /etc/ rwxr-xr-x 755
    /usr/ rwxr-xr-x 755
    /var/ rwxr-xr-x 755
    /tmp rwxrwxrwt 1777
    /etc/shadow r-------- 400
    /etc/passwd rw-r--r-- 644
    /home/robin rwx------ 700
    /root rwxr-x--- 750
    root创建文件默认权限 rw-r--r-- 644
    root创建目录默认权限 rwxr-xr-x 755
    普通用户创建文件默认权限 rw-rw-r-- 664
    普通用户创建目录默认权限 rwxrwxr-x 775

    r------4 w------2 x-----1
    777
    rwxr----x 741 123--x-w--wx
    r-x-wx-w- 532 456r--r-xrw-

    默认权限计算方法
    666 023
    110110110 000010011
    111101100 111101100
    110100100
    644

    chmod -R 777 /test

    修改拥有者所属组
    chown robin tt.txt
    chgrp uplooking tt.txt
    chown robin.uplooking tt.txt
    chown .uplooking tt.txt
    .=:
    chown -R robin.uplooking dir/

    练习:
    创建用户tom和jerry
    1.在/tmp目录下创建文件tt.txt
    要求:
    tt.txt权限设置为651 在改为rwxr----x
    chmod 651 /tmp/tt.txt
    chmod u=rwx,g=r,o=x /tmp/tt.txt

    设置tt.txt文件拥有这tom所属组jerry
    chown tom.jerry /tmp/tt.txt

    2.根据以下要求设置拥有者和权限
    在/tmp目录下创建目录test/,在test目录下创建文件aa.txt
    tom可以读写文件aa.txt 不能删除
    jerry 不可以读写文件aa.txt 可以删除

    mkdir /tmp/test/
    touch /tmp/test/aa.txt

    /tmp/test/ jerry root rwxr-xr-x
    /tmp/test/aa.txt tom root rw-r-----

    主组附加组
    robin robin robin,uplooking
    /tmp/test rwxrwx--- root uplooking
    robin能不能进去/tmp/test? 为什么?
    可以 因为附加组有uplooking
    进入后创建文件aa.txt 该文件 拥有者 所属组??
    robin robin
    如果该用户想创建属于uplooking组的文件 怎么做?
    sg uplooking
    robin uplooking robin,uplooking
    tt.txt robin uplooking

    高级权限
    1.suid
    必须作用于二进制可执行文件
    chmod u+s file
    作用:任何用户在执行拥有suid权限的命令时,都以该命令拥有者的身份执行

    实验:
    在不改变/etc/shadow权限的前提下,使普通用户robin可以使用cat查看/etc/shadow文件内容
    which cat
    chmod u+s /bin/cat
    robin用户测试

    2.sgid
    必须作用于目录
    chmod g+s dir
    作用:任何用户在拥有sgid的目录下创建的文件,都要继承该目录的组

    useradd -g job -G uplooking tom
    useradd -g job -G uplooking jerry
    useradd -g sal -G uplooking zorro
    useradd -g sal -G uplooking shrek

    /job zhb uplooking rwxrwsr-x

    aa.txt tom job
    tt.txt tom uplooking rw-r-----


    3.sticky(t 冒险位 粘贴位)
    必须作用于目录
    chmod o+t dir
    作用:任何用户在拥有t权限的目录下创建的文件,都属于该用户自己,其他人无权删除(root,目录拥有者)

    robin:$1$Bj0Exbfx$e24mczi0jmsiDR:15847:2:10:3:2::

    第一列:用户名
    第二列:密码(md5)
    第三列:密码最后一次修改时间(天)
    第四列:密码最小时间
    第五列:密码最大时间(密码有效期)(天)
    第六列:密码过期前警告时间
    第七列:密码过期后帐号过期时间
    第八列:帐号有效期
    第九列:保留列

    练习:
    1.添加组kkk gid为1500
    groupadd -g 1500 kkk
    2.添加用户 zorro uid 1500 属于kkk组 描述:hello 家目录/mnt shell:bash

    useradd -u 1500 -g kkk -c hello -d /mnt/zorro -s /bin/bash zorro

    3.通过管理员设置该用户密码为123
    终端登录zorro 设置自己密码为123.com


    修改用户信息
    usermod
    usermod -u -g -c -d -s robin

    usermod -l abc2abc abc2
    usermod -L robin
    usermod -U robin
    usermod -f 密码过期后帐号过期时间
    usermod -e 帐号有效期

    修改组信息
    groupmod -g 2500 uplooking
    groupmod -n upup uplooking

    修改密码及信息
    passwd -n(最小时间) -x 最大时间 -w 警告时间 -i 密码过期后帐号过期时间

    passwd -l robin 锁定密码
    passwd -u robin 解锁密码
    passwd -S robin  查看密码状态

    添加用户tom和jerry 分别设置两个用户密码为123
    锁定tom帐号 锁定jerry密码
    终端登录测试 返回值是否一致?
    查看shedow文件 两个用户有什么区别?
    !锁定帐号
    !! 锁定密码

    删除用户:
    userdel -r abc2
    删除组
    groupdel upup


    附加组
    groupadd yw
    groupadd kf
    useradd -G kf,yw wg 覆盖附加组信息
    useradd -a -G kf,yw wg 追加附加组信息

    groupadd boss
    gpasswd boss

    手动添加帐号
    #####1.groupadd zu
    1).vim /etc/group
    zu:x:2000:

    ######2.useradd -g zu zhb
    1).vim /etc/passwd
    zhb:x:2000:2000::/home/zhb:/bin/bash
    2).mkdir /home/zhb
    3).cp /etc/skel/.bash* /home/zhb/

    #####3.passwd zhb
    1).vim /etc/shadow
    zhb::15848:0:99999:7:::
    2).grub-md5-crypt产生密码 将密码复制到第二列

    终端登录测试 创建文件?


    多用户导入
    1.导入文件(user.txt)内的用户和系统的passwd文件用户信息不能冲突
    2.导入文件(user.txt)内用户不能冲突

    [root@localhost ~]# cat user.txt
    user1:x:3000:3000:ptuser:/home/user1:/bin/bash
    user2:x:3001:3001:ptuser:/home/user2:/bin/bash

    newusers < user.txt

    [root@localhost ~]# cat passwd.txt
    user1:123
    user2:123

    chpasswd < passwd.txt

    中天一片无情月,是我平生不悔心
  • 相关阅读:
    【Oracle】子查询、伪列、分页查询、表连接
    【Oracle】dual、sysdate、systimestamp、单行(组)函数、sql执行顺序
    【Oracle】简介、简单查询、去重、排序
    【Java】注解的使用
    【Java】反射机制
    【Java】网络编程(NIO/BIO)
    【Java】枚举
    【Java】File操作
    【Java】多线程
    Hibernate 再接触 关系映射 一对一单向外键关联
  • 原文地址:https://www.cnblogs.com/ArmoredTitan/p/6898980.html
Copyright © 2020-2023  润新知