您的位置:首页 > 运维架构 > Linux

Linux常用命令之用户与用户组

2019-07-15 16:45 120 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/RambleHQ/article/details/95904941

本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。

Linux系统中的用户身份包括有: 
    1) 超级用户 UID0:系统的超级用户,通常是root用户。
    2) 系统用户 UID1-999:系统中服务由不同用户运行,更加安全,默认被限制不能登录系统。
    3) 普通用户 UID1000~:即管理员创建的用于日常工作而不能管理系统的普通用户。
    注意UID一定是不能冲突的,管理员创建的普通用户UID从1000开始。

    用户-UID(User IDentification):在 Linux系统中,UID唯一性,因此可以通过用户UID的值来判断用户的身份。可查看/etc/passwd文件(以:为分隔符,分别表示用户名、密码、UID、GID、用户描述、家目录、用户Shell)
    
    用户组-GID(Group IDentification):将多个用户加入到同一组中方便统规划权限或任务。用户组配置文件是/etc/group(以:为分隔符,分别表示组名称、组密码、GID、用户列表)   
    
    每个用户在建立时也会自动创建一个与其同名的基本组,这个基本组只有该用户一人。该用户以后被归纳入的组则叫做扩展组 ,因此一个用户只有一个基本组而可以有多个扩展组
 

useradd:创建新用户。默认用户家目录在 /home目录中,与用户同名;默认 Shell解释器是 /bin/bash;默认创建一个与该用户同名的基本组 ;默认该用户没有扩展用户组。
    -d:指定用户家目录
    -u:指定用户UID
    -s:指定用户Shell  
    -N:不创建基本组
    -G:指定拓展组
    -e:指定用户有效日期


    useradd -d /home/test_01  -u 1111 -s /sbin/nologin test-01:创建用户test-01,指定用户家目录为/home/test_01,设置用户UID为1111,且设置用户禁止登陆

    
  


groupadd:创建用户组

    

 

groupdel:删除用户组

    

 

usermod:修改用户属性
    -c:添加账号备注信息
    -d -m:重新指定用户家目录并自动转移家目录数据
    -e:设置用户有效日期
    -g:变更用户基本组
    -G:设置用户拓展组(之前添加的拓展组会被清空)
    -L:锁定用户,禁止登陆
    -U:解锁用户
    -u:修改用户UID

 

    usermod -c 12345 ramble:给ramble添加备注信息12345

    

 

    usermod -g test-01 test:变更test用户基本组为test-01

    

 

    usermod -G test test-01:添加test-01用户到拓展组为test中

    

 

    usermod -u 1111 test:修改用户test的UID为1111

    

    

userdel:删除用户
    -r:删除家目录及相关文件
    -f:强制删除用户、用户家目录及相关文件

    userdel -rf test-01:强制删除test-01用户及其家目录

    

    

gpasswd:给组设置密码或添加用户,用户拓展组会保留
    -a:添加用户到组
    -d:从组删除用户

    gpasswd test-01:给test-01用户组设置密码

    

 

    gpasswd -a test test:将test用户添加到test组中(前面test是用户名,后面test是组名)

    

 

    gpasswd -d test test:将test用户从test组中删除

    

 

passwd:设置用户密码
    -l:锁定用户,禁止登陆(永久生效需修改配置文件)
    -u:解锁用户
    -S:显示密码状态
    --stdin:允许从标准输入修改用户密码
    -d:设置空密码
    -e:设置下次登陆修改密码

    passwd test:给test用户设置密码

    

 

    passwd -l test-01:锁定test-01用户,禁止该用户登录系统

    

 

    passwd -S test-01:显示test-01用户的密码状态

    

 

    passwd -u test-01:解锁test-01用户

    

 

    echo "2wsx3edc"|passwd --stdin test-01:用标准输入修改test-01的密码,密码为2wsx3edc

    

 

su:切换用户
    su命令与用户名之间有一个 减号 (-),这意味着完全的切换到新用户,即把环境变量信息也更为新的用 8000 户 ,而不保留原始的用户信息

    su root:切换到root用户,不切换环境变量,保留原始的用户信息

    

 

    su -:切换到root用户,同时也切换环境变量(切换到root用户时,root可以省略

    

 

sudo:赋予普通用户有超级用户的权限执行相关命令
    使用sudo命令需要配置/etc/sudoers文件。在第99行左右添加一行:userename ALL=(ALL) ALL。
    如果需要用户只能执行超级用户某些命令,只需要使用whereis command命令查出命令所在路径,然后修改/etc/sudoers文件:userename ALL=(ALL) 命令绝对路径
    可以使用root用户执行visudo命令对/etc/sudoers文件进行编辑(其它非超级用户不行)


    -l:查看当前用户可执行的命令
    -u username/UID_value:指定用户执行命令
    -b:调到后台执行
    -k:清空安全时间,下次使用sudo需要密码

    sed -n "97,98p" /etc/sudoers:查看/etc/sudoers文件的第97到98行的内容

    

    

    sudo -l:查看当前用户可执行的命令

    

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: