概念
用户是一个系统存在的根本,对用户的管理包括永固与组的管理。在linux中无论是本机还是远程登陆系统,每个系统必须拥有一个账号,并且对于不同的系统资源用户拥有不同的使用权限
在linux中我们可以指定每个用户对不同文件或者目录有不同的使用权限。有个使用权限才可以访问或者操作到对应的文件
用户的权限种类
一般对于一个文件的权限有三种,分别是度、写、执行。
权限 英文 缩写 数字代号
读 read r 4
写 write w 2
执行 excute x 1
![用 ls -l 查看文件信息](https://img-blog.csdn.net/20180822084514429?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyODA2NDE2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
上图中打印出的信息列表从左到右每一个选项代表的意思是:权限---硬链接数---拥有者--组--文件大小--创建/修改时间---文件名称
1 权限 : 第一个字符如果是d 表示是一个目录
2 硬链接数 有多少种方式乐意访问到这个目录
关于权限这一项除了第一个字符,后面的梅3个字符代表一组。每一个字分别是:拥有者的权限 —组权限 –其他用户的权限
chmod 命令
chmod 这个命令可以修改用户、组对文件的权限
chmod + -rwx 文件名。加号代表增加权限,减号代表减少权限,想增加或者减少权限就写对应的的字母即可
u:用户 g:组 o:其他
与用户管理相关的几个文件
/etc/passwd:查看这几个文件的内容。每一行代表一个用户的信息
/etc/shadow : 该文件储存者每一个用户的密码,但是这个密码是加密后的
/etc/group :存储的是用户组的信息
/etc/shadow 该文件储存着每一个用户的密码
/etc/group 储存的的是用户组的信息
用户管理
添加用户
useradd 【选项】 用户名
-c 备注信息
-d 指定家目录
-m 如果不存在主目录自动创建目录
-g 指定主组 初始用户组
-G 附加组,可以有多个
-u 指定用户id
-s 指定用户登陆的shell名
创建万用户后需要给用户设置密码,通过 ’passwd 用户名‘ 这个命令来设置密码
查看用户信息的命令
id 【用户名】 查看用户id信息
who 查看当前登陆的用户
whoami 查看当前登陆用户名的名字
添加用户
adduser 【用户名】 以交互的方式创建用户
修改用户
usermod 【选项】用户名
sudo usermod -u 1003 -c "haha" jerry
更改用户的主组 (passwd的gid)
-g 组 用户名
修改用户名的附加组
usermod -G 组 用户名
修改用户登录 shell
usermod -s /bin/bash
删除用户
userdel 【用户名】 用户名
-r 选项会自动删除用户主目录
-f 选项强制删除
切换用户
su - 用户名
exit 退出用户
如果不写用户名切换到root
用户管理
添加组
groupadd 【选项】 组名
-f 如果要改的组的名字已将有了 则会提示
-g 自定义组号
groups:显示用户所有组
将用户加入组
gpasswd -a 用户 用户组
将用户从组中删除
gpasswd -d 用户 用户组
注意 只能将用户从附加组中删除而不能将用户从主组中删除
删除组
groupdel 组名
修改组
groupmod 【选项】 组名
-g 修改组id
-n 修改组名(new)
对文件或目录做的一些设置
改变文件或目录所属的组
charp 【选项】 更改后的所属组名称 文件/目录
-R 目录与其包含的文件和子目录都设置所属组
newgrp 命令可以切换有效组,newgrp 命令会启动一个子进程,新创建的文件所属组就是有效组
修改文件、目录的拥有者
chown 【选项】 拥有者用户名 文件/目录
选项-R 同上