Linux系统中用户是非常重要的一环,因为用户管理会影响安全方面的问题。
在Linux系统中,不论是本机或者是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限.
在Linux系统中root用户拥有最高权限,一般用于系统的维护和管理,只有运维才有root权限绝对不要给开发root权限,它可以管理操作系统权限分配.
Linux在安装软件的过程中,会创建非常多的用户账号,而这些默认的用户被称为'标准用户',在大多数版本的Linux中,都不推荐直接使用root账号登录系统.
在生产环境当中一般不建议使用root账号登录系统.
-
查看当前登录用户: whoami
whoami该命令用户查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理。这时候就可以使用whoami来查看当前用户的身份。
查看登录用户: who
who命令用于查看当前所有登录系统的用户信息。
选项 | 含义 |
---|---|
-m或am | 只显示运行who命令的用户名,登录终端和登录时间 |
-q或--count | 只显示用户的登录账号和登录用户的数量 |
-u或--heading | 显示列标题 |
-
退出登录: exit
在远程登录中使用exit 退出当前终端
在登录后切换了账号的话就是返回到上一个登录账号
添加用户: useradd
在Linux中添加用户账号可以使用useradd命令,useradd命令的使用格式如下:
useradd[参数]新建用户账号
参数 | 含义 |
---|---|
-d | 指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录 |
-m | 自动建立目录 |
-g | 指定组名称 |
注意:
- Linux每个用户都要有一个主目录,主目录就是第一次登陆系统,用户的默认当前目录(/home/用户);
- 每一个用户必须有一个主目录,所以用useradd创建用户的时候,一定给用户指定一个主目录;
- 用户的主目录一般要放到根目录的home目录下,用户的主目录和用户名是相同的;
- 如果创建用户的时候,不指定组名,那么系统会自动创建一个和用户名一样的组名。
命令 | 含义 |
---|---|
useradd -d /home/awen awen -m | 创建awen用户,如果/home/awen目录不存在,就自动创建这个目录,同时用户属于awen组 |
useradd -d /home/awen awen -g zhiliao -m | 创建一个用户名为awen,主目录在/home/awen,如果主目录不存在就创建主目录,同时用户属于zhiliao组 |
cat /etc/passwd | 查看当前系统所有的用户 |
-
设置用户密码: passwd
在Linux中,root(也叫超级用户)用户可以使用passwd命令为普通用户设置或修改用户口令,用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名.
删除用户: userdel
命令 | 含义 |
---|---|
userdel awen(用户名) | 删除awen用户,但不会自动删除用户的主目录 |
userdel -r zhiliao(用户名) | 删除zhiliao用户并删除用户的主目录 |
-
切换用户: su
可以通过su命令切换用户,su后面可以加“-”。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
命令 | 含义 | |
---|---|---|
su | 切换到root用户 | |
su root | 跟su一样也是切换到root用户 | |
su - | 切换到root用户,同时切换目录到/root | |
su - root | 切换root用户,同时切换到目录到/root | |
su 普通用户 | 切换到普通用户 | |
su | - 普通用户 | 切换到普通用户,同时切换普通用户所在的目录 |
-
查看用户组
cat /etc/group
-
添加,删除组账号: groupadd,groupdel
-
删除组账号
修改用户所在的组: usermod
使用方法: usermod -g 用户组 用户名
或者 usermod -G 用户组 用户名
-g 用来指定这个用户默认的用户组
-G 一般配合'-a'来完成向其他组添加
-
查看用户在哪个组
2个方法 一个通过id查询
一个通过groups命令
修改文件权限: chmod
chmod --修改文件权限二种写法
chmod [-R] <a|u|g|o> +-= rwx- /<path>/filename
chmod [-R] 755 /<path>/filename
参数 | 含义 |
---|---|
u | user表示该文件的所有者 |
g | group表示该文件的所属组,用户组 |
o | other 表示其他人 就是就是任何人 |
a | all表示三者都给权限 |
参数 | 含义 |
---|---|
+ | 增加权限 |
- | 撤销权限 |
= | 设定权限 |
参数 | 含义 |
---|---|
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。就是不能读取这个文件 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。如果对文件没有w权限就不能修改文件 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。如果是一个脚本就不能运行 |
数字表示 | 说明 |
---|---|
r | 读取权限,数字可使用'4' |
w | 写入权限,数字可使用'2' |
x | 执行权限,数字代号为'1' |
- | 不具备任何权限,数字代号为'0' |
说明:
chmod u=rwx,g=rx,o=rx filename 就等同于:chmod u=7,g=5,o=5 filename
chmod 755 file:
文件所有者: r w x
同组用户: r x
其它用户: r x
如果要递归授权可以加上参数“-R”
如:
chmod 777 test/ -R 给test目录下面所有的文件和目录加上777权限-
修改文件所有者: chown