linux用户权限
用户权限管理
关于linux用户
现代操作系统一般属于多用户的操作系统,也就是说,同一台机器可以为多个用户建立账户,一般这些用户都是为普通用户,这些普通用户能同时登录这台计算机,计算机对这些用户分配一定的资源。
普通用户在所分配到的资源内进行各自的操作,相互之间不受影响。但是这些普通用户的权限是有限制的,且用户太多的话,管理就不便,从而引入root用户。
此用户是唯一的,且拥有系统的所有权限。root用户所在的组称为root组。“组”是具有相似权限的多个用户的集合。
用户种类
- root用户:超级管理员 #符命令行 (id 为 0)
- 具有权限的管理员用户:可以通过sudo提升命令权限 $符命令行
- 普通用户 $符命令行(id 大于 999)
- whoami 查看我目前的用户名。
用户命令
新建用户
useradd + 用户名 新建某用户名用户
修改用户密码
passwd + 用户名 修改某用户名的密码(不加用户名就可以修改自己的密码)
关于用户
用户的相关信息储存于 /etc/password 当中,并且每个用户都有各自的文件目录。(称为用户目录,也叫~)
- 注意:root用户的目录为/root 在(根目录)/下面。而普通用户的目录全部在/home/的子目录下面。(/root与/home为同级目录)。
命令 id + 用户名:
查看用户ID:uid 用户ID、gid 用户组id、groups 用户组号码
用户切换
su + '-' + 用户名
进行用户的切换。(root可以切普通,其他切换需要密码)
临时提权的命令(sudo)
通过sudo提高自身的权限,以操作其他的文件。
- 只有加入配置文件有权限的用户才能进行临时提权(配置文件为/etc/sudoers,只有root才能进行操作)
- 定位于配置文件当中,在其中加入可以提权的用户信息
- 最后就可以提高自己的权限来操作其他内容
文件权限
文件的权限分三类:(文件权限总共10个字符,第一个表示文件种类(-表示文本文件、d表示文件夹、l表示软链接),剩下的每三个一组,表示权限)
- 属主(所属用户)users(u)
- 属组(所属用户组别)group(g)
- 其他人(对其他人的权限)other(o)
权限
每三个一组的权限分别是,r、w、x,r为可读,w为可写、x为可执行。
注:文件权限可以通过ll(ls -l)查看。
权限更改
权限的管理:
chmod + 权限标志 +文件名
-
修改权限的两种方法:
- 直接通过u、g、o三种用户的身份,加减r、w、x三种权限来使用
# 为属主用户添加读、写和执行权限 chmod u+r u+w u+x nh.txt # 为属组用户减去读、写和执行权限 chmod g-r g-w g-x nh.txt chmod o+r o+w o+x nh.txt
- 将权限r、w、x转化为数字,以数字之和来表示权限,并根据一个三位数字的位数赋予权限。
r 4 / w 2 / x 1
# 为所有用户添加读写和执行权限 chmod 777 nh.txt # 为属主用户留下执行权限,属组可读,其他人可以执行和写。 chmod 143 nh.txt
更改文件所属
chown 更改文件属主
chown + 主名 将文件分配给某人
chgrp 更改文件属组
chgrp + 组名 将文件分配给某组
所以,此时admin用户就没法读写了,因为admin属于其他人。
软链接
可以理解为快捷方式
语法:
ln -s 目标文件 快捷方式名称
命令提示符(PS1)
它和PATH一样,是一个环境变量,改动一些提示。也就是输命令的地方:
用法如下:
linux语言切换
此项优化为可选项,根据个人情况选择是否调整Linux系统的字符集,字符集就是一套文字符号以及编码。
Linux下常用字符集有:
GBK 实际企业应用较少
UTF-8 广泛支持,MYSQL也使用UTF-8,企业广泛使用
# 中文
# vim /etc/profile.d/locale.sh
export LC_CTYPE=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
# vim /etc/locale.conf
LANG=zh_CN.UTF-8
# vim /etc/sysconfig/i18n
LANG=zh_CN.UTF-8
# vim /etc/environment
LANG=zh_CN.UTF-8
LC_ALL=zh_CN.UTF-8
# 英文
# vim /etc/profile.d/locale.sh
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
# vim /etc/locale.conf
LANG=en_US.UTF-8
# vim /etc/sysconfig/i18n
LANG=en_US.UTF-8
# vim /etc/environment
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
# 最后运行
locale