• linux用户及组相关命令


    基本概念
    用户是Linux系统工作中重要的一环,用户管理包括用户与组管理
    在Linux系统中,不论是本机还是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限
    对文件/目录的权限包括:
    读 read r 4
    写 write w 2
    执行 excute x 1


    为了方便用户管理,提出了组的概念,在实际应用中,可以预先针对组设置好权限,
    然后将不同的用户添加到对应的组中,从而不用依次为每个用户设置权限

    ls -l扩展
    ls -l 可以查看文件夹下文件的详细信息,从左到右依次是:
    权限,第1个字符如果是d表示目录
    硬链接数,通俗地讲,就是有多少种方式,可以访问当前目录/文件
    拥有者,家目录下文件/目录的拥有者通常都是当前用户
    组,在Linux中,很多时候,会出现组名和用户名相同的情况,后续会讲
    大小
    时间
    名称

    文件/目录权限示例
    目录 拥有者权限 组权限 其他用户权限
    - r w - r w - r - -
    d r w x r w x r - x


    chmod简单实用
    chmod可以修改用户/组对文件/目录的权限
    命令格式如下:
    chmod -/+rwx 文件名|目录

    超级用户
    Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源拥有访问权限
    在大多数版本的Linux中,都不推荐直接实用root账号登录系统

    sudo
    su是substitute user的缩写,表示使用另一个用户的身份
    sudo命令用来以其他身份来执行命令,预设的身份为root
    用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限必须重新输入密码

    组管理命令
    创建/删除组的命令都需要通过sudo执行
    groupadd 组名 添加组
    groupdel 组名 删除组
    cat /etc/group 确认组信息
    chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组
    组信息保存在 /etc/group文件中
    /etc目录是专门用来保存系统配置信息的目录

    用户管理命令
    创建用户/设置密码/删除用户
    useradd -m -g 组 新建用户名 //添加新用户 -m自动建立用户家目录 -g指定用户所在的组,否则会建立一个和用户同名的组
    passwd 用户名 //设置用户密码 如果是普通用户,直接用passwd可以修改自己的账号密码
    userdel -r 用户名 //删除用户 -r选项会自动删除用户家目录
    cat /etc/passwd | grep 用户名 //确认用户信息

    创建用户时,如果忘记添加-m选项指定新用户的家目录 --最简单的方法就是删除用户,重新创建
    创建用户时,默认会创建一个和用户名同名的组名
    用户信息保存在/etc/passwd文件中

    查看用户信息
    id [用户名] 查看用户UID和GID信息
    who 查看当前所有登录的用户列表
    whoami 查看当前登录用户的账号名

    passwd文件
    /etc/passwd文件存放的是用户信息,由6个分号组成的7个信息,分别是
    1.用户名
    2.密码(x,表示加密的密码)
    3.UID(用户标识)
    4.GID(组标识)
    5.用户全名或本地账号
    6.家目录
    7.登录使用的Shell,就是登录之后,使用的终端

    usermod:可以用来设置用户的主组/附加组合登录Shell
    主组:通常在用户新建用户时指定,在etc/passwd的第四列GID对应的组
    附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限
    提示:设置了用户的附加组之后,需要重新登录才能生效
    #修改用户的主组(passwd中的GID)
    usermod -g 组 用户名
    #修改用户的附加组
    usermod -G 组 用户名
    #修改用户登录Shell
    usermod -s /bin/bash
    注意:默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的,
    可以使用一下命令,将用户添加到sudo附加组中
    usermod a -G sudo 用户名

    在 centos上可能会出现
    usermod: group 'sudo' does not exist
    因为centos默认没有sudo组,可以将你的用户指向wheel用户组, wheel用户组同样有sudo权限
    所以在centos上可以使用如下命令添加用户组
    root@centos-system$ sudo usermod -a -G wheel userName

    which命令可以查看执行命令所在的位置,例如:
    which ls //输出 /bin/ls

    bin和sbin
    在Linux中,绝大多数可执行文件都是保存在/bin、/sbin、/usr/bin
    /bin(binary)是二进制执行文件目录,注意用于具体应用
    /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理
    /usr/bin 后期安装的一些软件
    /usr/sbin 超级用户的一些管理程序

    切换用户
    su - 用户名 //切换用户 - 可以切换到用户家目录,否则保持位置不变
    su不接用户名,可以切换到root,但是不推荐使用,因为不安全

    修改文件权限
    chown 修改拥有者
    chgrp 修改组
    chmod 修改权限

    命令格式如下
    chown 用户名 文件名|目录名
    chgrp -R 组名 文件名|目录名
    chmod -R 755 文件名|目录名 //-R选项表示递归目录下所有文件

    chmod 在设置权限时,可以简单地使用三个数字分别对应拥有者/组和其他用户的权限
    #直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
    chmode +/-rwx 文件名|目录名 // 拥有者|组|其他 设置的权限一样 不能分别设置

    拥有者 组 其他
    r w x r w x r w x
    4 2 1 4 2 1 4 2 1

    常见数字组合有(u表示用户/g表示组/o表示其他):
    777 ===》u=rwx,g=rwx,o=rwx
    755 ===》u=rwx,g=rx,o=rx
    644 ===》u=rw,g=r,o=r

  • 相关阅读:
    Oracle课堂实验一“表的使用”代码。
    Oracle安装时忘记解锁scott用户的解决方案
    PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
    Fckeditor漏洞利用总结
    js 倒计时 button不可用
    .net 下载图片
    截取字符串
    js 后台弹窗
    账号注册,密码安全级别提示(弱、中、强)代码
    jquery 评论等级(很差,差,一般,好,很好)代码
  • 原文地址:https://www.cnblogs.com/marshhu/p/12356736.html
Copyright © 2020-2023  润新知