1.Linux权限介绍
1.1 文件权限和文件归属
文件权限就是决定这个文件可以给谁用,怎么用,Linux的文件权限可以分为三种:
- 可读 r
- 可写 w
- 可执行 x
Linux文件归属分为:
- 属主:u 文件拥有者,一般是创建者
- 属组:g 文件拥有者所在的用户组
- 其他用户:o 除了属主和属组的其他用户
1.2 权限信息分析
使用 ls -l就可以查看文件详细信息,内部包含文件权限内容
其中的权限信息分析:
- 最左边字母是文件类型,d表示目录,-表示文件
- 往右三个字母是属主权限,有哪几个字母就是有哪几个权限
- 再往右三个字母是属组权限
- 最右边三个字母是其他用户权限
2.Linux用户管理
2.1 添加用户
useradd 可以添加一个linux用户,同时会在/home目录下创建一个该用户的家目录,创建用户后最好紧接着给用户设置密码
useradd 用户名
# 查看用户是否添加成功
cat /etc/passwd
2.2 用户密码的设置
有用户无密码可能无法进行远程连接,而且也不安全,所有新建用户后要设置密码
passwd 用户名 可以给指定的用户设置密码
2.3 删除用户
userdel命令可以删除用户
# 删除用户需要同时删除用户家目录
userdel -r python
# 如果不需要删除家目录直接去掉-r即可
# 不删除家目录再次创建该用户时会报错
2.4 切换用户
su命令可以用来切换用户
su [-] [用户名]
# - 表示切换后加载环境变量,建议带上
# 用户名称省略不写默认切换到root
2.5 sudo命令
我们实际开发时很少会使用root用户操作,但是在用普通用户操作时有时会有需要使用到管理员权限的情况 sudo命令就可以让我们在普通用户操作时输入的命令拥有管理员权限
sudo 其他命令
不过要使用sudo命令需要root用户为普通用户增加配置,相当于给普通用户钥匙,方法是:
# root用户下打开sudo配置文件
vi sudo
# 按:进入编辑模式,输入配置内容
用户名 ALL=(ALL) NOPASSWD: ALL
# 按esc退出编辑模式,按:进入末行模式,wq保存并退出
# 这样就能让这个用户无需密码直接使用sudo
3.Linux用户管理
3.1 修改文件、文件夹权限
chmod可以修改文件权限信息
chmod [-R] 权限 参数
# 参数:被修改的文件、文件夹
# 选项-R:设置文件夹和其内部全部内容一样生效
权限有两种修改方式,数字型和字母型
- 数字型权限管理:三种权限和无权限,给每个权限一个数值,比如755,表示:
rwxr-xr-x
- 字母型权限管理
r : 读权限
w : 写权限
x : 执行权限
u : 拥有者
g : 用户组
o : 其他用户
a : 所有用户
# 格式: chmod - + 权限
# 给自己减少可执行权限,给用户组增加写入权限
chmod u-x,g+w abc
# 给所有用户减少读的权限
chmod a-r abc
# 格式: chmod = 权限
# 给自己设置属主权限为只读,此时原有权限全部消失,只保留新赋予的权限内容
chmod u=r abc
# 给所有用户最高权限
chmod a=rwx abc
# 格式: 混用
# 给用户读写执行权限, 给用户组读写权限, 给其他用户只读权限
chmod u=rwx,g-x,o-wx abc
# 如果我们需要修改当前目录及其目录中子文件的权限,需要使用递归方式完成操作 条件-R选项即可
chmod -R u=rwx,g=rw,o=r aaa
3.2 修改文件、文件夹所属用户、组
chown命令可以修改文件归属
chown [-R] [用户][:][用户组] 文件或文件夹
# 选项-R:对文件夹内全部内容应用
# :用于分隔用户和用户组
3.3 用户组管理
root用户才能进行用户组管理
# 创建用户组
groupadd 用户组名
# 删除用户组
groupdel 用户组名
# 修改用户所属组,将指定用户加入指定用户组
usermod -aG 用户组 用户名
3.4 用户查看命令
getenv group,查看系统全部的用户组getenv passwd,查看系统全部的用户