zoukankan      html  css  js  c++  java
  • Linux基础(七)


    用户,组,权限

    安全上下文

    权限
    r,w,x

    文件:
    r:可读,可以使用类似cat等命令查看文件内容
    w:可写,可以编辑或删除此文件
    x:可执行,可以命令提示符下当作命令提交给内核运行

    目录:
    r:可以对此目录执行ls以列出内部的所有文件
    w:可以对此目录创建文件
    x:可以使用cd切换进此目录,也可以使用ls-l查看内部


    r:4
    w:2
    x:1

    三类用户
    u:属主
    w:属组
    o:其他用户

    用户:UID,/etc/passwd
    组:GID /etc/group

    影子口令
    用户:/etc/shadow
    组:/etc/gshadow

    用户类型
    管理员:0
    普通用户:1-65535
    系统用户:1-499
    一般用户:500-60000

    用户组类别:
    管理员组:
    普通组:
    系统组
    一般组

    用户组类别:
    基本组:用户的默认组
    私有组:创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个与用户名同名的组
    附加组,额外组:默认组以外的组

    cat /etc/passwd
    用户名,登录密码,uid,gid,注释,家目录,用户默认shell

    cat /etc/shadow
    登录名,加密密码,

    cat /etc/group
    组名,密码站位符,组id,以这个组为附加组的用户列表
    加密方法
    对称加密:加密和解密使用同一个密码
    公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key)
    单项加密:散列加密,提取数据特征码
    cat /etc/shells
    指定了当前系统中可用的安装shell

    用户管理:
    useradd userdel usermod passwd chsh chfn finger id chage
    组管理
    groupadd groupdel groupmod gpasswd
    权限管理
    chown chgrp chmod umask



    useradd
    -u UID
    -g GID(基本组)
    -G GID,... (附加组)
    -c "COMMENT" 指定注释信息
    -d /path/to/somedirectory 指定家目录
    -s shell 环境变量
    -M 创建时不创建家目录
    -r
    环境变量:
    PATH
    HISTSIZE
    SHELL



    useradd -G mygroup user3
    tail -l /etc/passwd
    tail /etc/group

    #useradd -M user7
    #su - user7
    -bash-3.2$ pwd
    /root



    userdel
    后加用户名,不会删除其家目录
    -r 删除用户的同时删除家目录



    id
    -nu 用户的用户名
    -ng 用户组的组名
    -nG 每一个组的组名

    修改用户账号属性
    usermod
    -u UID
    -g GID
    -a -G GID 为用户在原有附加组的情况下,添加附加组。不适用-a会覆盖此前的附加组
    -c
    -d -m;指定新家目录的位置,也要移动此前的文件到新的家目录中
    -s
    -l更改用户名
    -L 锁定账号
    -U 解锁账号




    finger:用户账号信息
    finger username
    chsh:修改用户的默认shell
    chfn:修改信息
    finger,chsh,chfn这三者互用。

    密码管理:
    passwd
    --stdin 不用交互使用
    -l 锁定
    -u 解锁
    -d 删除密码

    echo '123' |passwd --stdin user3

    pwck:检查用户账号完整性

    groupadd
    -g GID
    -r 添加一个系统组,系统用户没有家目录


    groupmod
    -g GID
    -n 指定新的组名

    groupdel

    gpasswd 组名 :给组设定密码


    newgrp 组名 :登录到新组,然后退出用exit

    练习:
    1 创建用户mandriva,id为2002,基本组distro(组id3003),附加组Linux
    # groupadd -g 3003 distro
    #groupadd linux
    #useradd -u 2002 -g distro -G linux mandriva

    2 创建用户fedora,全名Fedora COMMENT,默认shell为tcsh
    # useradd -c "Fdora Community" -s /bin/tcsh fedora

    3 修改mandriva id为4004,基本组为Linux,附加组distro和fedora
    #usermod -u 4004 -g linux -G distro,fedora mandriva

    4 给fedora加密码,并设定其密码最短使用期限为2天,最长50天
    # passwd -n 2 -x 50 fedora
    5 将mandriva的默认shell改为/bin/bash
    #usermod -s /bin/bash mandirva
    6 添加系统用户hbase,且不允许其登录系统
    # useradd -r -s /sbin/nologin hbase


    chage
    -d 最近一次修改的时间
    -E 过期时间
    -I 非活动时间
    -m 最短使用期限
    -M 最长使用期限
    -W 警告时间

    三类用户
    u:属主
    w:属组
    o:其他用户

    chown:改变文件属主(管理员使用此命令)
    -R:修改目录及其内部文件的属主
    --reference=/path/to/somfile file
    将/tmp/abc属性改为和/tmp/dfe 属性一致
    chown --reference=/tmp/abc /tmp/dfe

    chmod :修改文件权限
    -R
    --reference=/path/to/somefile file

    修改某类用户或者某些类用户权限,某位或某些位权限
    u,g,o,a + ,—

    站在用户登录角度说,SHELL的类型:
    登录式shell:
    正常登录某终端登录
    su - username
    su - l username

    非登录式shell
    su USERNAME
    图形终端下打开命令窗口
    自动执行shell脚本


    bash的配置文件
    全局配置
    /etc/profile, /etc/profile.d/*.sh, /etc/bashrc
    个人配置
    ~/.bash_profile, ~/.bashrc

    profile类的文件:
    设定环境变量
    运行命令或者脚本(一登录)

    bashrc类是文件:
    设定本地变量
    定义命令别名


    登录式shell如何读取配置文件:
    /etc/profile--> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

    非登录式shell如何配置文件:
    ~/.bashrc --> /etc/basrc --> /etc/profile.d/*.sh

  • 相关阅读:
    html头部属性全接触
    js中的window.onload和jquery中的load区别
    关机时,自动清除运行框的记录的设置方法
    MVC问题小总结,不断更新中...
    iis6 元数据库与iis6 配置的兼容 出错问题
    MVC对异步 Controller 的支持
    SQL Server2008安装报错,解决方案
    JavaScript有5个原始类型
    ASP.NET MVC中的拦截器
    F5负载均衡
  • 原文地址:https://www.cnblogs.com/fengzhongzhuzu/p/8848654.html
Copyright © 2011-2022 走看看