用户权限的相关命令:
权限类型:
01读readr4
02写writew2
03执行excutex1
组权限:
开发组:将所有开发人员添加到一个组中,这个组中所有人就有相同的权限
我们可以使用ls-l查看文件的详尽信息,就可以查看文件的权限
**硬链接:**即就是有多少种方法路径,可以访问到当前的目录或则文件
对于文件来说:
我们通过绝对路径可以访问到该文件,通常只有一个硬链接
对于目录:
示例1:
有这几种情况例如说/d/b,我们要访问b
1.假如我们当前就在b目录种,抵达b目录的方法是cd.
2.假如我们直接使用绝对路径即可抵达
所以只有俩个硬链接
示例2:
再譬如说我们在b下边添加一个c目录:/d/b/c
1.绝对路径可以抵达
2.切换到b中,我们cd.也可以抵达b目录
3.我们可以切换到c目录中linux用户管理软件,cd…返回到b,也可以抵达b
(也就是说,这目录的硬链接最少可以有2个,分别是当前和绝对路径,之后再加上他的子目录的个数,就是这个目录硬链接数)
更改权限的命令:
chmod+/-r/wx文件名
该操作会促使同组用户和其他用户得到或则丧失相应的权限
目录权限的涵义:
对于目录而言,假如丧失可执行权限,该目录就不能进去,不能访问这个目录的内容
假如丧失rw权限,有执行权限,我们可以到目录进去,并且不能查看目录下文件的内容,也不能创建文件,由于对于目录而言,写权限相当于创建文件,或则更改文件内容
超级用户root
所以通常情况下,不推荐linux以管理员身分登入系统,由于可能会删掉或则更改一些不可动的文件,造成系统崩溃
su:表示使用另一个用户的身分,而linux预设的另外一个用户就是root
sudo:表示以其他的身分来执行命令,通常是指root用户
用户使用sudo后,必需要输入密码,并且五分钟以内,我们再度执行须要sudo来执行,则不用输入密码。
假如未经授权的用户使用sudo,系统会给管理员发送警告电邮
组管理:group相关命令
#以下命令须要通过sudo来执行,否则失败:
groupadd组名:添加组
groupdel组名:删掉组
cat/etc/group:确认组信息linux用户管理软件,看是否降低或则删掉了组
chgrp-R组名文件名/目录名:更改文件/目录的所属组
(-R会将目录下所有文件所属递归的更改为对应的组)
(组的信息保存在/etc/group文件中)
(/etc文件是拿来保存系统配置的文件夹)
示例:创建一个目录test,而且新建一个组ne,之后将test目录的组更改为ne
#创建新目录test
mkdir test
#新建一个组ne
sudo groupadd ne
#查看组是否创建成功,最后一行
cat /etc/group
#将test目录的所属修改为组ne所属
chgrp -R ne test
#查看目录所属,如上图
ls -l
4.1用户管理:user相关命令
useradd-m-g组名:
添加新用户-m手动构建家目录,-g指定用户所在组,否则会给构建一个与用户名相同的组
passwd用户名:
设置用户密码,倘若是普通用户,可以用passwd来更改自己的帐户密码
userdel用户名:
删掉用户,-r手动的删掉用户的家目录
cat/etc/passwd|grep用户名:
确认用户信息更改状态
(创建用户时,假若忘掉-m给新用户构建家目录,最好的办法是删掉重新构建)
(创建用户倘若不指定组,默认生成一个和用户名名子相同的组)
(用户的信息保存在/etc/passwd文件中)
示例:构建一个新用户名子为xx,属于组ne,并查看用户信息
#创建用户并且指定组
sudo useradd -m -g ne xx
#给用户设置密码,切记不能忘,输入以下密码,回车
sudo passwd xx
#查看用户信息
ls -l /home
#确认用户信息
cat /etc/passwd | grep 用户名
4.2
查看用户信息:id
id用户名:查看用户的UID和GID信息
who:查看当前所有登录的用户列表(linux是多用户的系统)
whoami:查看当前登入用户的帐户名(我是谁)
passwd文件:
grep king /etc/passwd | cat -n
该文件由6个引号组成7个信息linux 删除文件,分别是:
1.用户名
2.密码:密码是加密的,所以看见是个x
3.UID(用户标示)
4.GID(组标示)
5.用户全名或则本地帐号
6.家目录
7.登入使用的shell,即登入后使用的shell,ubuntu默认是dash
4.3
设置指定用户的主组/附加组和登录shell的命令:usermod
哪些是主组:
一般是新建用户时指定,在/etc/passwd的第四列GID(组标示)对应的哪个组
哪些是附加组:
在/etc/group中最后一列表示该组的用户列表linux系统日志,用于指定用户的附加权限
cat -n /etc/group | grep king
#从上图看到king的附加组中有sudo,说明可以用管理员权限进行系统操作
#修改用户的主组,一般用不到,一般创建的时候指定即可
usermod -g 组 用户名
#修改用户的附加组
usermod -G 组 用户名
#修改用户登陆的shell
usermod -s /bin/bash
假如用户不可以进行sudo操作怎样办:说明用户没有在这个附加组中,须要添加
sudo usermod -G sudo 用户名
# 命令执行以后退出重新登陆
(使用useradd添加的用户,默认没有sudo的权限,所以我们应当使用上述命令来把该用户添加到sudo的附加组中)
设置指定用户使用的shell:
哪些是shell:如上图
分别是:用户名@主机机器名:工作路径$
#给用户指定shell为bash,因为ubuntu默认登陆的shell是dash,不怎么好用
#这样xshell登陆再次登陆主机后就可以使用bash为shell
usermod -s /bin/bash
查看执行命令所在的位置:which
示例:
which ls
which pwd
which useradd
(注意分辨/usr/bin/passwd是拿来更改用户密码的可执行命令)
(/etc/passwd是拿来保存用户信息的文本文件)
扩充:/usr/bin和/usr/sbin的区别:
在linux上,绝大多数可执行文件是保存在/bin、/sbin、/usr/bin、/usr/sbin中
/bin(binary)是二补码执行文件目录,主要用于具体的应用
**/sbin(systembinary)**是系统管理员专用的二补码代码储存的地方,主要用于系统管理
/usr/bin:(usercommandforapplications):后期安装的一些软件
/usr/sbin:(superusercommandsforapplications):超级用户的一些管理程序
(cd命令是设置在系统的内核中的,没有独立的文件,所以用which未能找到)
用户切换:su
su-用户名:切换用户,但是切换目录,-可以切换到用户家目录,否则位置保持不变,-可以忽视
exit:退出当前的用户,返回到之前的用户
(不输入用户名,将会切换到rootsu-)
更改文件权限
以下需要在sudo命令下执行:
#修改文件或者目录的拥有者
chown 用户名 文件名|目录名
#把test文件所属给张三
chown zhangsan test
#递归的修改文件或者目录所属的组
chgrp -R 组名 文件名|目录名
#递归的修改文件的权限
chmod -R 755 文件名|目录名
拥有者组其他人
rwxrwxrwx
421421421
u表示该档案的拥有者user
g表示与该档案的拥有者属于同一个群体(group)者
o表示其他以外的人other
a表示这两者皆是all
chmoda+xtest.txt