目录
有关root的命令
用户和用户组
用户组管理:(以下需要root用户执行)
创建用户组:
删除用户组:
用户管理:(以下需要root用户执行)
创建用户:
删除用户:
查看用户所属组:
修改用户所属组:
getent命令:
权限信息
修改权限控制
chmod:
chown:
root(超级管理员):root是Linux系统中的超级管理员用户帐户,该帐户拥有整个系统的最高权限,可方便地对于系统的部件进行删除或更改。
一般情况下,输入命令
su - root
即可进入root用户模式操作,但由于我用的是kali-Linux,这个命令竟然不管用,只显示su鉴定故障,经过多方查询,终于找到了解决办法:输入命令
sudo passwd root (修改进入root的命令)
su root (输入密码)
即可进入root,后续也只需 su - root 即可。
要从root切换回普通用户,有三种:
- su - combat (自己的用户名)
- Ctrl + D
- Exit 命令
sudo命令:
在我们输入的命令前面加一个sudo,这个命令就成了sudo命令,意思是将以root用户的身份执行这个命令(这算是一个临时命令)。
Linux中关于权限的管控级别有2个级别,分别是:
针对用户的权限控制。
针对用户组的权限控制。
语法:groupadd 用户组名
语法:groupdel 用户组名
语法:useradd [ -g -d ] 用户名
-g表示指定用户加入哪一个用户组(这个组必须早已创建),如果不指定,那就创建一个同名组并加入。(也就是说,只要你是用户,那么你一定在一个用户组里。)
-d表示指定该用户的home路径,如果不指定,默认为该用户的home目录在 /home/用户名。
(除非指定已有的目录做它的home路径,否则就要新建一个目录)
语法:userdel [ -r ] 用户名
-r表示删除用户的home目录
语法:id [用户名]
如果不指定用户名,则查看当前用户。
语法:usermod -aG 用户组 用户名
将指定用户加入到用户组,(现在一个用户在两个组里)
查看当前系统中用哪些用户
语法: getent passwd
共有7份信息,分别是:(值之间用:隔开)
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
getent group
查看当前系统有哪些用户组。
r w x 分别是三种权限, - 则表示无此权限。
- r表示读权限
- w表示写权限
- x表示执行权限
比如说root用户组下root用户里有一个 1.txt ,该文件的权限细节:
- rw- r-- r--
那么:
root用户对 1.txt有读和写的权限
root用户组里的所有用户对该文件有读的权限
非root用户组的其他用户对该文件有读的权限
比如说root目录
d r-x r-x ---
那么现在其他目录就cd不进去root目录,因为什么权限也没有。
也就是说一个文件或者文件夹的权限细节(rwx-)是可以修改的。
我们可以使用chmod命令,修改文件、文件夹的权限信息。
(注意,只有文件、文件夹的所属用户或root用户可以修改)
语法:chmod [ -R ] 权限 文件或文件夹
-R表示对文件夹内的全部内容应用同样的操作。
示例:
chmod u=rwx, g=rx, o=x hello.txt
将文件权限修改为:rwx r-x --x
其中:
u表示user所属用户权限
g表示group组权限
o表示other其它用户权限
(给te.txt文件添加一些权限)
除此之外,还可以用数字简便的修改权限
这样一来,u g o 三方面的权限就可以用3个数字代替了。
chmod 751 1.txt
通过使用chown命令,可以修改文件、文件夹的所属用户和用户组。
注意:普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行。
语法: chown [ -R ] [用户] [ :] [用户组] 文件或文件夹
示例:
chown root 1.txt
表示把 1.txt 文件修改为属于root用户。
chown root : root 1.txt
表示把 1.txt 文件修改为root用户组下的root用户。
欢迎各位读者批评指正!