Linux用户及文件权限管理
用户操作
查看用户
输出当前使用终端的用户名
1 | whoami |
创建用户
使用root用户登录,创建新用户。创建用户需要满足以下条件:
-
知道当前用户的登录密码
重置用户密码:
1
>sudo passwd <username>
-
当前用户必须在sudo用户组
- 创建一个叫lilei的用户:
1 | sudo adduser lilei |
- 创建好用户后,讲用户添加到系统,并为用户创建
home
目录
1 | ls /home |
- 切换到lilei用户,并查看当前用户名:
1 | su -l lilei |
用户组
查看用户组
方法一
使用groups
命令查询用户组
1 | groups shiyanlou |
方法二
通过/etc/group
文件查看
1 | cat /etc/group | sort |
加入用户组
默认创建的用户不具有sudo
权限,可以加入sudo用户组使其具有sudo
权限。使用usermod
命令添加权限:
1 | su shiyanlou |
删除用户
使用deluser
命令删除用户:
1 | sudo deluser lilei --remove-home |
Linux文件权限
列出文件
- 使用长格式列出文件:
1 | ls -l |
- 查看全部文件(包括隐藏文件)
1 | ls -A |
- 使用长格式列出所有文件
1 | ls -Al |
- 查看目录完整属性
1 | ls -dl <dirname> |
- 显示所有文件大小
1 | ls -AsSh |
查看文件
使用cat <filename>
命令读取文件内容
变更文件所有者
- 新建
iphone6
目录,查看目录创建人
1 | su lilei |
- 切换身份,并变更创建人身份
1 | su shiyanlou |
修改文件权限
方法一 二进制数字表示
1 | chmod <rwx> <file> |
-
文件调用权限分为三级 :
- 文件所有者(Owner)
- 用户组(Group)
- 其它用户(Other Users)
-
权限分为三种:
- 可读(Read)
- 可写(Write)
- 可执行(Execute)
每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ”
1 | echo "echo \"hello shiyanlou\"" > iphone6 |
方法二 符号表示
1 | chmod <u><op><permission> <file> |
-
用户组部分表示:
who 用户类型 说明 u
user 文件所有者 g
group 文件所有者所在组 o
others 所有其他用户 a
all 所有用户, 相当于 ugo -
符号部分表示:
Operator 说明 +
为指定的用户类型增加权限 -
去除指定用户类型的权限 =
设置指定用户权限的设置,即将用户类型的所有权限重新设置 -
权限部分表示:
模式 名字 说明 r
读 设置为可读权限 w
写 设置为可写权限 x
执行权限 设置为可执行权限 X
特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行 s
setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限 t
粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位
1 | chmod go-rw iphone6 |
adduser & useradd
useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
实战训练
题目
添加一个用户
loutest
,使用sudo
创建文件/opt/forloutest
,设置成用户loutest
可以读写。
-
添加用户
loutest
1
sudo adduser loutest
-
创建文件
1
touch /opt/forloutest
-
设置读写权限并测试
1
2
3sudo chown loutest:loutest /opt/forloutest
sudo chmod 600 /opt/forloutest
cat /opt/forloutest
评论