用户和权限
用户管理包括用户与组管理
对文件/目录的权限包括:
1 | 读 r 4 |
用ls -l 可以以列表的形式查看文件的详细信息
第一列是 -
表明是文件, d
则表示目录
后面的依次是 拥有者权限,组权限,其他用户权限
再后面是硬链接数 拥有者,组,大小,时间,名称
硬链接数含义: 通俗的讲就是有多少种方式可以访问到当前目录/文件
注:要想在终端对文件进行操作,必须有可执行权限
组
为了方便用户管理,提出组的概念,在实际应用中可以预先对组设置好权限,然后将不同的用户添加到对应的组中,从而不用依次为每个用户设置权限
chmod 修改文件 拥有者和组 权限
chmod可以修改用户/相对文件/目录的权限chmod +/-rwx 文件名|目录名
chmod [options] mode file...
-R
: 改变目录及其所有子目录的文件的权限-v
:详细说明权限的变化
关于超级用户
- Linux 系统中的root 帐号通常用于系统的维护和管理,对操作系统的所有资源具有访问权限
- Linux系统在安装过程中,系统会自动创建一个用户帐号,而这个默认的用户就成为“标准用户”
- su 是substitute user缩写,表示使用另一个用户的身份
- sudo命令用来以其他身份执行命令,预设的身份为root
- 用户使用sudo时,必须先输入密码,之后会有5分钟的有效期,超过期限必须重新输入密码
组管理终端命令
Tips:创建组/删除组的终端命令都需要通过 sudo 执行,组信息保存在/etc/group
文件中
添加组: groupadd group_name
删除组: groupdel group_name
确认组信息: cat/etc/group
递归修改文件/目录的所属组: chgrp -R group_name 文件/目录名
创建用户/设置密码/删除用户
添加新用户: useradd -m -g 组名 用户名
-m
自动建立用户家目录,如果忘了添加-m从而无法在home目录下看到新用户,可以删除用户重新创建-g
指定用户所在组,否则创建一个同名的组
设置用户密码: passwd 用户名
- 如果是普通用户,直接用passwd可以修改自己的账户密码
删除用户: userdel -r 用户名
-r
会自动删除用户家目录
查看用户信息
id 用户名
: 查看用户UID 和 GID信息who
: 查看当前所有登录的用户列表whoami
: 查看当前登录用户的账号名
passwd
/etc/passwd
文件存放的是用户的信息,由6个分号组成的7个信息,分别是:
- 用户名;密码(x,表示加密的密码);UID;GID;用户全名或本地账号;家目录;登录使用的Shell,就是登录之后,使用的终端命令
例:liuyuqiang0:x:1000:1000:liuyuqiang0:/home/liuyuqiang0:/bin/bash
- passwd 可以修改当前用户的登录密码,更新用户的身份认证令牌.
- 在超级管理员权限下可以修改任何用户的密码,命令格式为passwd +要修改的用户的名称
-d
:删除密码,仅有系统管理者才能使用;-f
:强制执行;-k
:设置只有在密码过期失效后,方能更新;-l
:锁住密码-s
:列出密码的相关信息,仅有系统管理者才能使用;-u
:解开已上锁的帐号
usermod
usermod
可以用来设置用户的主组/附加组和登录Shellusermod -g 组 用户名
修改用户的主组
- 主组:通常在新建用户时指定,在etc/passwd 的第四列GID对应的组
usermod -G 组 用户名 //修改用户的附加组
- 附加组:在etc/group中最后一列表示该组的用户列表,用于指定用户的附加权限,需重新登录有效
usermod -s /bin/bash 用户名
- 修改用户登录Shell
which
/etc/passwd
是用于保存用户信息的文件/usr/bin/passwd
是用于修改用户密码的程序which
命令可以查看执行命令所在的位置
关于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)
超级用户的一些管理程序
切换用户
su-用户名
: 切换用户,并且切换到用户家目录(不加减号只切换用户)exit
: 退出当前登录账户,返回上层登录用户
修改文件权限
chgrp -R 组名 文件名|目录名
- 递归修改文件|目录的组
chown 用户名 文件名|目录名`
- 修改文件|目录的拥有者
chmod -R 755 文件名|目录名
- 递归修改文件权限