Linux—从创建用户开始

跟着实验楼做完了Linux的实验,一步一步整理下来的实验流程。

1. 创建用户

1
2
3
4
5
6
7
8
sudo adduser lilei #创建用户
ls /home #默认新用户在/home目录下创建一个工作目录同时 添加用户到系统
su -l lilei #登录用户
#以下命令查看用户信息
$ who am i
$ whoami
$ pwd
exit #该命令退出当前用户,相当于(Ctrl+D)

2. 用户组

1
2
3
#查询用户组
$ groups shiyanlou
shiyanlou:shiyanlou #冒号之前表示用户,之后表示该用户所属用户组

1
2
3
4
#默认情况下在sudo用户组,使用sudo命令获得root权限

#查看用户信息
$ cat /etc/group | sort #sort讲读取文本进行一个字典排序再输出

1
2
#使用grep命令过滤
cat /etc/group | grep -E"shiyanlou"

1
/etc/group

​ /etc/group 的内容包括用户组(Group)、用户组口令、GID(组ID)及该用户组所包含的用户(User),每个用户组一条记录。

将其他用户组加入sudo用户组

1
2
su -l lilei #log in
sudo ls

1
2
#更改用户密码
sudo passwd 用户名

1
2
3
4
5
6
7
#将lilei添加到实验楼
#登录实验楼账户
su -l shiyanlou
#输入密码
groups lilei
sudo usermod -G sudo lilei
groups lilei

1
2
3
4
#验证lilei用户是否有权限
#登录lilei用户
#为验证lilei用户是否添加成功,创建了mign用户作为比较
sudo ls

用户lilei(此时,用户已经获得root权限)

用户mign

在CentOS中添加用户到su

1
2
3
4
5
6
7
su
vim /etc/sudoers
# 在以下段落后
root ALL=(ALL) ALL
# 添加
# 形如(用户名 ALL=(ALL) ALL
ming ALL=(ALL) ALL

3.删除用户和用户组

1
2
3
4
5
#删除用户
#--remove-home参数在删除用户时会一并删除工作目录
sudo deluser lilei --remove-home
#删除用户组
sudo groupdel 用户组 --remove-home

4. 用户及文件权限 (ls命令)

1. 使用较长格式列出文件

1
2
#使用较长格式列出文件
ls -l

具体含义如下:

1
2
3
4
5
6
7
8
9
#查看隐藏文件
$ ls -a
#同时使用-a -l参数
$ ls -al
#查看某个目录的完整属性
$ ls -dl<目录名>
#显示所有文件大小,常规呈现
# 小写s显示文件大小 大S为按文件大小排序
$ ls -asSh

​ 可以使用==man ls==命令查询

5. 变更文件所有者

在==lilei==用户下新建文件,命名为==iPhone 11==

1
2
3
4
5
6
7
su - lile
pwd
#创建iPhone11文件
touch iphone11
#查看iphone11文件
# -h with -l and/or -s,print human readable sizes(e.g., 1K 234M 2G)
ls -alh iphone11

切换到==shiyanlou==,使用以下命令修改文件所有者:

1
2
3
cd /home/lilei
ls iphone11
sudo chown shiyanlou iphone11

可见,iPhone11文件所有者为==shiyanlou==

变更文件所有者

1
2
3
4
5
#login 查看或创建一个文件
su - username
pwd #查看当前路径
touch iPhone11#文件名
ls -alh ihpne11 #查看iPhone11的权限

1. 修改文件所有者操作

1
2
3
4
5
#切换到目标用户
su - shiyanlou
cd /home/lilei
ls iphone11
sudo chown shiyanlou iphone11

2. 修改文件权限

  • 方法一

    每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,记住这个顺序是固定的。文件的读写执行对应字母 rwx,以二进制表示就是 111,用十进制表示就是 7,对进制转换不熟悉的同学可以看看 进制转换。例如我们刚刚新建的文件 iphone11 的权限是 rw-rw-rw-,换成对应的十进制表示就是 666,这就表示这个文件的拥有者,所属用户组和其他用户具有读写权限,不具有执行权限。

  • 方法二

    go 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+- 分别表示增加和去掉相应的权限。

3.向文件中添加内容(echo)

1
2
3
4
# 重写
echo 添加内容 > 文件名
# 追加
echo 添加内容 >> 文件名

adduseruseradd的区别是什么?

答:useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd <username> 去设置新用户的密码。adduser在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradduserdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。

Linux 还有一些关于隐藏权限和特殊权限的内容,想全面了解 Linux 权限管理这部分内容的用户可以通过其它方式学习