用户权限及用户管理命令

自学整理记录,大神见笑

目录

  • su
  • sudo
  • cat /etc/group
  • groupadd
  • groupdel
  • id[用户名]
  • who
  • whoami
  • cat /etc/passwd
  • useradd
  • passwd
  • userdel
  • usermod
  • chown
  • chgrp
  • chmod
  • which

1.用户

su - reddington

  • 切换到reddington用户


    user1.jpg

exit

  • 退出当前用户

  • 会依次退出切换过的用户


    user2.png
  • 注:用户是用来登录、操作Linux系统的,用户管理包括用户管理和组管理

  • 注:用户的账号是用来登录Linux系统的,每个系统必须有至少一个账号

  • 注:Linux系统中,每个用户有每个用户对应的权限

  • 注:Linux中组的概念,即分配给组权限,则组中的用户只拥有该类权限

序号 权限 英文 缩写 数字代号
01 read r 4
02 write write 2
03 执行 excute x 1
ls -l查看文件信息1.jpg
ls -l查看文件信息2.jpg

2.超级用户

2.1切换到超级用户→su

su

su -

  • 以上两个命令都表示切换到超级用户


    su1.jpg
  • 注:不推荐,因为不安全

  • 注:Linux系统中的root账号通常用于系统的维护和管理,对所有资源具有所有权限,不推荐直接是使用root账号登录

  • 注:Linux安装时,默认会自动创建一个标准用户,区别于root用户

2.2以超级用户的身份执行命令→sudo

sudo yum -y install net-tools

  • 表示以超级用户的身份执行安装net-tools的命令


    su3.png
  • 注:当如下图报错的时候:需要在前面增加sudo命令

    su2.png

  • 注:sudo命令作用是以其他身份执行命令,预设其他身份为root身份

  • 注:用户首次使用sudo命令需要输入密码,之后有5分钟可以不用输入密码进行操作

  • 注:如果未经授权的用户使用sudo命令,则会发邮件给管理员

3.组管理

3.1查看组信息→cat /etc/group

cat /etc/group

group1.jpg

3.2添加组→groupadd

sudo groupadd dev

  • 添加dev组


    group2.png

3.3删除组→groupdel

sudo groupdel dev

  • 删除dev组


    group3.png
  • 注:创建组/删除组的终端命令都必须使用sudo命令

  • 注:组信息保存在/etc/group中

  • 注:/etc目录是专门用来保存系统配置信息

4.查看用户信息

4.1 查看用户UID和GID信息→id

id python

  • 查询python用户的信息,包括UID和GID等


    user8.png

4.2 查看当前所有登录的用户列表→who

who

user9.jpg

4.3 查看当前登录用户的账户名→whoami

whoami

user10.png

5.用户管理

5.1查询用户信息→cat /etc/passwd

cat /etc/passwd

user1.png
  • /etc/passwd文件存放的是用户信息,由6个分号组成7个信息,分别是

1.用户名
2.密码,x表示加密的密码
3.UID,用户标识
4.GID,组标识
5.用户全名或本地账号
6.家目录
7.登录使用的Shell,就是登录之后使用的终端命令,ubuntu默认是dash

5.2创建用户→useradd

sudo useradd -m -g dev reddington

  • 创建用户reddington

  • -m选项为创建家目录

  • -g选项为指定用户所在的组

    user2.png

  • 这里要注意的是:指定的组必须存在

5.3设置密码→passwd

sudo passwd reddington

  • 给reddington设置密码


    user3.png
  • 这里要注意的是:密码必须为8为以上,且要字母数字混合

5.4删除用户→userdel

sudo userdel -r reddington

  • 删除用户reddington

  • -r选项为同时删除用户家目录

    user4.png

  • 创建用户/删除用户/修改其他用户密码的终端命令都必须使用sudo命令

5.5修改用户主组、附加组和登录Shell→usermod

sudo usermod -g myplay reddington

  • 修改reddington用户的主组为myplay


    user6.png

sudo usermod -G wheel reddington

  • 修改reddington用户的附加组


    user5.jpg
  • 注:附加组即用户拥有该组的权限,但不属于该组,属于它本身的组

sudo usermod -s /bin/bash reddington

  • 修改reddington用户的登录shell为bash


    user7.png
  • 注:shell即用户登录终端的窗口

  • 注:重新设置了用户的shell后,需要重新登录才能生效

  • 注:ubuntu默认的shell是dash,使用不便

6.修改文件权限

6.1 修改拥有者→chown

sudo chown reddington 123.txt

  • 修改文件123.txt的用户为reddington


    user11.png

6.2 修改组→chgrp

sudo chgrp -R dev abc

  • 修改abc目录的主组为dev
  • -R选项表示递归修改该目录下的所有文件的主组
    加-R.png
不加-R.png

6.3 修改权限→chmod

chmod +x 123.txt

  • 增加123.txt文件的可执行权限


    user14.png

chmod -rw 123.txt

  • 去掉123.txt文件的可读可写权限


    user15.png

chmod -R 654 123.txt

  • 654三个数字详见下方权限数字表


    1544257581(1).png
  • 权限数字表

三个数字分别对应,拥有者权限/组权限/其他用户权限

权限.png

7.查看执行命令所在的路径→which

which

  • 查询ifconfig命令所在路径


    which.png

扩展:bin和sbin

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

你可能感兴趣的:(用户权限及用户管理命令)