用户是Linux系统工作中重要的一环,用户管理包括用户和组管理对文件/牡蛎的权限包括:
读 r 数字代号4
写 w 数字代号2
执行 x 数字代号1
为了方便用户管理,提出了组的概念,在实际应用中,可以预先针对组设置好权限,然后将不同的用户添加到对应组中,从而不用依次为每一个用户设置权限
chmod +(增加)/-(减少) 权限 文件
# 减少对abc.txt的可读权限
chmod -r abc.txt
# 减少对目录test的可执行权限
chmod -x test
cd test 就进不去了,因为没有了可执行权限
# 减少目录test的可读权限
cd -r test
ll test 就无法看见目录结构了,因为不可读
root账号对所有资源有所有的访问权限 在大多数版本Linux中,不推荐直接使用 在Linux安装过程中,系统会自动创建一个用户账号,这个默认的用户就称为“标准用户”
su是substitute user 的缩写,表示使用另一个用户身份 sudo命令用来以其他身份来执行命令,预设的身份为root 用户使用sudo时,必须 先输入密码,之后有5分钟的有效期限,超过需要重新输入密码
若其未经授权的用户企图使用sudo,则会发出警告邮件给管理员
提示:创建组/删除组都需要sudo执行
# 添加组
sudo groupadd 组名
# 删除组
sudo groupdel 组名
# 确认组信息
cat /etc/group
# 修改文件/目录的所属组
chgrp -R 组名 文件/目录名
提示:组信息保存在/etc/group文件中 /etc目录是专门用来保存系统配置信息的目录
提示:创建/删除用户/修改其他用户密码都需要sudo执行
# 添加用户
sudo useradd -m -g 组 新建用户名(-m自动创建用户家目录,-g指定用户所在的组,否则会建立一个同名的组
)
# 设置用户密码
[sudo]passwd 用户名 (如果是普通用户,直接用passwd可以修改自己的账户密码)
# 删除用户
sudo userdel -r 用户名 (-r会自动删除用户家目录)
# 查看用户信息
cat /etc/passwd | grep 用户名
# 查看用户UID和GID
id 用户名
# 查看当前所有登录的用户列表
who
# 查看当前登录用户的账户名
whoami
/etc/passwd文件存放的是用户的信息,由6个分号组成的7个信息,分别是 1.用户名 2.密码(x表示加密的密码) 3.UID(用户标识) 4.GID(组标识) 5.用户全名或本地账号 6.家目录 7.用户使用的Shell,就是登录之后,使用的终端命令
用来设置用户的主组/附加组和登录Shell
主组:通常在新建用户时指定,在etc/passwd
的第四列GID对应的组
附加组:在etc/group
中最后一列表示该组的用户列表,用于指定用户的附加权限
提示:设置了用户的附加组之后,需要重新登录才能生效
# 修改用户的主组(passwd中的GID)
usermod -g 组 用户名
# 修改用户的附加组
usermod -G 组 用户名
# 修改用户登录Shell
usermod -s /bin/bash
注意:默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的,可以使用以下命令,将用户添加到sudo附加组
usermod -G sudo 用户名
若没有sudo组
su root
vi /etc/sudoers
在root ALL=(ALL) ALL 下面加一行 用户名 ALL=(ALL) ALL
提示: /etc/passwd是用于保存用户信息的文件 /usr/bin/passwd是用于修改用户密码的程序
which命令可以查看执行命令所在位置
which ll
# 输出
alias ll='ls -l --color=auto'
/bin/ls
bin和sbin
cd命令是内置在系统内核中的,没有独立文件,which无法找到
su 用户名
exit 退出当前用户登录,用户之间来回切换
# 修改文件|目录的拥有者
sudo chown yin abc.txt
# 修改组
sudo chgrp grp abc.txt
# 修改权限
chmod -R 755 文件名|目录名
chmod在设置权限时,可以简单的使用三个数字分别对应拥有者/组/其他用户权限 以前的格式
chmod +/-rwx 文件名|目录名 功能有限
# 755 分别是上述图片代表权限数字的和
# -R是以递归的形式修改一个目录下所有文件及子目录中所有文件的权限
chmod -R 755 文件名|目录名