目录的硬链接数与子目录有关,该目录包含多少个子目录
chmod
修改文件或目录权限
触摸到+/-rwx 文件名或目录名
ls-l
gedit 01.py
chmod -rw 01.py
ls-l
cat 01.py
权限不够
gedit 01.py
权限不够
文件图标上有一个锁和叉
chmod +r 01.py
桌面上文件图标上的叉叉不见了
gedit 01.py
可打开文件(只读)但无法保存文件(是否放弃更改并退出)
chmod +w 01.py
桌面上文件图标上的锁不见了
ls-l
恢复写权限
增加可执行文件
chmod +x 01.py
ls-l
文件名高亮变绿色
./01.py
报错
gedit 01.py
#!/usr/bin/python
./01.py
可执行文件,文本文件也可在终端中执行,需增加可执行权限
chmod -x 01.py
ls-l
01.py没有高亮了,只有读写权限
./01.py
权限不够
mkdir test
ls-l
test 文件对拥有者和组用户有全部可读可写可执行权限,对其他用户可读可执行
cd test
touch 01.py
ls
cd…
切换到桌面
tree
ls-l
chmod -x test
ls-l
cd test
权限不够
ls test
权限不够
没有可执行权限没有办法对该目录执行其他终端命令,要想针对目录执行终端命令,必须对目录增加可执行权限
恢复目录可执行权限
chmod +x test
cd test
ls test
可执行权限
ls-l
chmod -rw test
桌面上test多了一个锁和叉
ls-l
只有可执行权限
cd test
可切换
ls
报错,没有可读权限
cd…
回到桌面
chmod +r test
ls-l
桌面上test文件叉没有了
增加可读权限
cd test
ls
touch 02.py
权限不够
r
w 修改
x 执行终端命令的权限,如cd
超级用户
root
系统的维护管理,添加用户和群组,安装软件
一般不推荐直接用root账号登陆系统,一般用标准账户
标准用户只能在用户家目录下活动,不修改系统设置文件
给标准用户增加系统维护管理权限
sudo
substitude user另一个用户身份,预设为root
sudo身份进入时要输密码,5分钟有效
组管理
groupadd 添加组
groupdel 删除组
cat/etc/group确认组信息
chgrp组名 文件/目录名
修改文件/目录的所属组
但创建组/删除组的终端命令需要通过sudo执行,因为标准用户没有权限执行这些终端命令
groupadd dev
报错,没有权限修改etc下的权限
sudo groupadd dev
输入当前用户密码
cat /etc/group
多了dev的信息
组信息保存在/etc/group文件中
/etc目录是专门用来保存系统配置信息的
groupdel dev
报错
sudo groupdel dev
cat /etc/group
dev信息删除
在实际应用中可预先对组设好权限,再把不同用户添加到对应组里面,从而不用依次为每一个用户设权限
chgrp-R组名 文件/目录名
递归修改文件/目录的所属组
按shift键输入中文
变更组名
chgrp -R dev Python学习/
没有权限
sudo chgrp - R dev Python学习/
ls-l
组名变成dev组了
-R 递归修改目录所有文件的组信息
新建用户和密码
useradd -m -g组名
passwd用户名
-m 自动建立用户家目录
-g 指定用户所在组,否则会建立一个和同名的组
普通用户可直接通过passwd修改账户密码
sudo useradd -m -g dev zhangsan
输密码
ls-l /home
sudo passwd zhangsan
输两遍密码
cat /etc/passwd|grep 用户名 确认用户信息
新建用户后,用户信息会保存在/etc/passwd文件中
如果新建用户忘记-r指定新用户的家目录,直接删掉后重建
userdel -r 删除用户 -r选项会自动删除用户家目录
创建用户时默认创建的组名与用户名一致
id lisi 查询用户id信息
uid
gid
查看用户信息
uid信息在/etc/passwd文件中
cat -n /etc/passwd |grep lisi
gid信息在/etc/group文件中
cat -n/etc/group |grep dev
who 查看当前所有登陆的用户列表
whoami 查看当前登陆用户的账户名
usermod
设置主组与附加组
主组:在/etc/passwd第四列 (GID)
附加组:在/etc/group中最后一列,指定用户列表,拥有附加组权限,指定用户附加权限
id
cat -n /etc/passwd |grep python
cat -n/etc/group |grep python
id zhangsan
usermod -g 组名 用户名 修改主组
usermod -G 组名 用户名 修改附加组,增加附加权限
usermod -s/bin/bash 修改用户登陆shell
默认useradd创建的用户没有权限使用sudo以root身份执行命令,需要使用usermod-G sudo 用户名将用户添加到sudo附加组中
sudo usermod -G sudo zhangsan
cat -n/etc/group |grep python
ubuntu默认使用dash登陆使用终端命令
修改登录shell
sudo usermod -s/bin/bash zhangsan
which查看执行命令所在位置
查询执行终端命令保存在系统中的位置
which ls
which useradd
linux中,/bin 是二进制执行文件目录,用于具体应用
/sbin 是系统管理员专用二进制代码存放目录,用于系统管理
/usr/bin 后期安装的软件
/usr/sbin 超级用户的管理程序
cd命令内置在系统内核中,没有单独文件,无法用which查询。