MENU

Linux 常用命令之用户和权限管理

August 15, 2019 • Linux阅读设置

用户、权限管理

用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。
在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。Unix/Linux系统中的root账号通常用于系统的维护和管理,它对Unix/Linux操作系统的所有部分具有不受限制的访问权限。在Unix/Linux安装的过程中,系统会自动创建许多用户账号,而这些默认的用户就称为“标准用户”。而在大多数版本的Unix/Linux中,都不推荐直接使用root账号登录系统。

  • 查看当前用户:whoami
    whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
    请输入图片描述
  • 查看登录用户:who
    who命令用于查看当前所有登录系统的用户信息。

只显示用户的登录账号和登录用户的数量
显示列标题

请输入图片描述

  • 退出登录账户: exit
    如果是图形界面,退出当前终端;
    如果是使用ssh远程登录,退出登陆账户;
    如果是切换后的登陆用户,退出则返回上一个登陆账号。
  • 添加用户账号:useradd
    在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样。
    useradd命令的使用格式如下: useradd [参数] 新建用户账号

创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组
创建一个用户名字叫abc,主目录在/home/abc,如果主目录不存在,就自动创建主目录,同时用户属于test组
查看系统当前用户名

请输入图片描述
注意:

①. Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
②. 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
③. 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
④. 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。

  • 设置用户密码:passwd
    在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名。

请输入图片描述

  • 删除用户:userdel

删除abc用户,但不会自动删除用户的主目录
删除用户,同时删除用户的主目录

请输入图片描述

  • 切换用户:su
    可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:

请输入图片描述

  • 查看有哪些用户组

①. cat /etc/group

②. groupmod +三次tab键

请输入图片描述

  • 添加、删除组账号:groupadd、groupdel

groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组

  • 修改用户所在组:usermod
    使用方法:usermod -g 用户组 用户名

查看用户在哪些组:groups 用户名
请输入图片描述

  • 修改文件权限:chmod

chmod 修改文件权限有两种使用格式:字母法与数字法。
①.字母法:chmod u/g/o/a +/-/= rwx 文件
+:增加权限
-:撤销权限
=:设定权限
r:可.
w:可写
x:可执行(excute)

user 表示该文件的所有者
group 表示与该文件的所有者属于同一组( group )者,即用户组
other 表示其他以外的人
all 表示这三者皆是

②.数字法:
r读取权限,数字代号为 "4"
w写入权限,数字代号为 "2"
x执行权限,数字代号为 "1"
-不具任何权限,数字代号为 "0"
如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename

本文内容参考自传智播客,如有侵权,请联系删除