linux用户管理

用户管理

一个用户拥有一个主组

一个用户可以拥有多个附属组

一个组 可以拥有多个用户

  • useradd 添加用户

    /etc/passwd下面会产生一条记录

    创建一个用户的同时会在/etc/group 下 新增一条用户名为命名的信息

root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinzpc:x:1000:1000:zpc,,,:/home/zpc:/bin/bashzpc666:x:1003:1003::/home/zpc666:?第一部分 root: 用户名 第二部分 x : 用户密码 第三部分 0 : 用户id  第四部分 0 : 所属组的id 第五部分 /root:用户的家目录   第六部分 /bin/bash: 具备执行脚本的权限 简单说就是可以登录   /usr/sbin/nologin 不可以登陆的 ?-g 指定组名或者组id (这个组必须是已经存在的组)-G 指定附属组 -u 指定用户的id -m 自动创建用户的家目录-d 指定用户的家目录-s 指定该用户是否可以登录  ?sudo useradd 用户名   #只是在/etc/passwd下面产生一条记录 /home下面并没有创建加目录  ?sudo useradd -u 你的id -g 组名或者组id -md 新的目录 -s /usr/sbin/nologin或者/bin/bash ?sudo useradd -u 6666 -g kangbazi(一定是已经存在的组) -md /home/kangbzi(这个目录可以不用事先存在) -s /bin/bash ???
  • 删除用户 userdel

如果该用户登录了 那么就不能删除 先要切换到 管理员用户或者比普通用户大的用户

userdel 用户名   #如果说指定了家目录 删除该用户的同时 并不会把家目录删除  userdel -r 用户名 #删除用户的同时 也把家目录删除  
  • 修改用户密码 passwd

sudo passwd 用户名 ?普通用户只能修改自己的密码  管理员用户可以修改其它用户的密码
  • 修改用户的信息 usermod modify

-g 组id-G 指定附属组 -u 指定用户的id -a 将用户添加到附属组中-d 指定用户的家目录-l 用户的登录名 sudo usermod -u 777 -g 1002 -l zpc9 zpc9999??如果出现  already exists  processid  100023   直接 sudo kill -9 100023 ?sudo usermod -a -G zpc zpc9  #将zpc9用户加入zpc 附属组中   /etc/passwd  组id 为主组的id ?sudo usermod -l zpc8 zpc888 #将zpc888 改为 zpc8
  • 查看用户信息

id 组id #查看用户的详细信息uid=777(zpc9) gid=1002(mysql) groups=1002(mysql),1000(zpc)?:/home$ groups zpc9  #查看zpc9用户的组    zpc9 : mysql zpc?whoami #查看当前登录的用户是谁 ?
  • su sudo

Ubuntu默认 进制root 用户 我们在ssh、scp远程通过 22端口 不能使用root账户访问?安装操作系统的时候第一个用户: 介于 普通用户和 管理员用户之间  属于sudo组  有时候需要做管理员的一些工作,那么需要提升权限  sudo可以做到 ?sudo usermod -a -G sudo 用户名 #将指定的用户添加到sudo组中   ?也可以使用 su 切换到 root 账户 弄完了再切回来  

组管理

  • 添加一个组 groupadd

groupadd 组名
  • 删除一个组 groupdel

groupdel 组名
  • 修改组名

sudo groupmod -n linlin maomao #将组名maomao改为 linlin

密码信息

  • 用户信息

    /etc/passwd

  • 组信息

    /etc/group

  • 密码信息

    sudo cat /etc/shadow