zoukankan      html  css  js  c++  java
  • Linux单机系统管理一:账号管理

    第一:用户

    1:配置文件

    /etc/passwd

    /etc/shadow

    2:过程

    文件/etc/passwd中寻找账户---->文件/etc/shadow中匹配密码--->加载相应shell

    3:文件

    /etc/passwd

    image

    账号名:密码:UID:GID:用户说明信息:主文件夹:shell

    /etc/shadow

    image

    账号:密码(已加密):更改时间:不可变动时间:重改时间:警告天数:失效时间:失效日期:保留

    第二:用户组

    1:配置文件

    /etc/group

    /etc/gshadow

    2:文件

    /etc/group

    image

    image

    用户组名:密码:GID:包含的用户

    /etc/gshadow

    image

    用户组名:密码:用户组管理员名:包含用户名

    注意:包含用户名中对于初始用户组的用户,它是不写入第四个字段,这是由于登陆时用户会自动获取它的组,初始用户组是/passwd中的GID就是该用户组的初始用户组。

    有效用户组:通过groups命令可以查看所有用户组,则第一个就是有效的,表示当前工作在次用户组下;可以通过命令newgrp来改变有效用户组。

    注意:newgrp命令是设置一个新的shell环境,如果像回到原来工作环境需要用exit命令退出。

    第三:相关命令集合

    1:useradd命令---增加用户

    -u:用户名 ID; –g:初始用户组名;–G:次用户组; –c:用户说明; –d:主文件夹; –s:Shell命令

    修改了上述4个文件,普通的用户还会创建主文件夹,系统用户(用户系统服务)不会。

    基本默认值如下:在文件/etc/default/useradd

    image

    查看详细默认值在文件:/etc/login.defs文件中

    此命令相关文件:

    /etc/passwd

    /etc/shadow

    /etc/group

    /etc/gshadow

    /home/xxxxx

    /etc/login.defs

    /etc/skel/*   改目录下的文件会复制到/home/*下。

    /etc/default/useradd

    2:passwd密码设置命令

    用root用户来对其他用户设置密码;直接“passwd 用户”或则是”passwd”修改root密码。

    常用方式:echo “xxxx” | passwd –stdin 用户

    查看密码信息:passwd –S 用户名 或则 chage –l 用户名  //也可用来修改密码中的一些信息

    3:usermod修改用户

    通过参数修改用户中的信息。

    4:userdel删除用户

    -r表示连同主目录也删除

    ------------------------------------上述命令是系统用户的命令就是id<500的---------------------------------------------

    5:finger---显示用户信息---“finger 用户”

    6:chfn----修改用户信息---“chfn 用户”

    7:chsh----显示修改shell信息跟文件/etc/shell

    8:id---查看UID和GID---“id 用户名”

    ------------------------------------上述是用户的命令------------------------------------------------------------------

    9:groupadd---增加用户组

    groupadd 用户组名(<500的系统用户组用-r)

    10:groupmod ----- 修改用户组

    -g 改ID; –n 改名字

    11:groupdel删除用户组

    是初始用户组的用户组不能删除,必须先删除该用户,或则解除这种关系。

    12:gpasswd用户管理员

    gpasswd 用户组---设置密码

    ”gpasswd –A  用户 用户组“ 将用户组主控权给该组中某个用户

    第四:ACL使用

    独立对某个用户设置权限。。前提是系统文件支持这个acl

    1:查看是否支持

    mount可能查看不到

    dumpe2fs –f /dev/hda2能查看到

    修改成支持用 mount –o remount ,acl /

    或者:在文件/etc/fstab中的defaults字段旁添加acl

    2:2个关键命令

    getfacl获取ACL设置

    setfacl设置ACL-----setfacl –m u:用户:权限 文件-----设置后的文件会变成一个+

    image

    image

    对用户组就是     g:用户组:权限

    mask表示有效权限

    m:权限   设置有效权限表示权限范围,要是mask只有r,则用户和 用户组也只能有-r,即使设置了也只能是r的权限。

    第5:用户切换

    1:命令su

    切换用户,低级用户到高级用户需要填写高级用户密码---比如一般用户切换到root,则需要填写root的密码。

    参数:

    - 表示用login-shell方式登陆;没有则是切换身份,而没有登录进入目的用户的登录,这种方式不会改变变量例如变量$PATH

    image

    image

    通过su xulinux切换了身份,但是变量中的PWD,PATH,MAIL等值还是身份root的值。

    image

    通过su – xulinux切换,可以看到它的变量名也跟着改变了。这就是他们两的区别。

    建议使用su - 用户名     方式切换

    参数: -c表示执行一次后自动返回原身份。

    2:命令sudo

    切换时需要输入自己的密码,这样可以隐蔽root的密码。

    前提是:用户在/etc/sudoers里,如何去修改这个文件呢?不能直接用vi ,而是用visudo命令,这是因为它有语法,防止错误修改。

    %表示用户组;

    NOPASSWD:表示无码切换

    第六:PAM模块

    此部分有很多安全方面的东西,涉及的配置文件很多,具体用哪个时才细致详解。

    待定。。。。。。。。。。。。。。。。

    第七:其他

    1:查询命令

    w who last lastlog

    2:用户对谈

    write mesg wall

    3:用户邮箱mail

    4:pwck检查命令

  • 相关阅读:
    MySQl查询语句大全
    并发编程三
    并发编程二
    并发编程
    网络编程
    面向对象高级进阶
    python中的面向对象和面向过程
    为什么还需要学习TypeScript
    Chrome 神器,神奇的技巧
    vue-property-decorator知识梳理
  • 原文地址:https://www.cnblogs.com/miner007/p/3806541.html
Copyright © 2011-2022 走看看