实验楼:创建用户与修改权限

面试问到会linux的shell编程吗,不会好尴尬,那就加油学

新建一个叫lilei的用户

$ sudo adduser lilei

命令切换登录用户

$ su -l lilei

在 Linux 里面如何知道自己属于哪些用户组呢,

  1. 用groups
$ groups shiyanlou
  1. 用cat 命令读取指定文件的内容并打印到终端输出
$ cat /etc/group | sort // sort是表示将读取的文本按字典排序输出
$ cat /etc/group | grep -E "shiyanlou"  //grep -E "shiyanlou"是符合这个信息的留下来

内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:
group_name:password:GID:user_list

把其他用户加入sudo用户组

默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限:

$ su -l lilei
$ sudo ls

会提示 lilei 不在 sudoers 文件中,意思就是 lilei 不在 sudo 用户组中
这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:

$ su shiyanlou # 此处需要输入shiyanlou用户密码,
$ groups lilei		//查看分组的
$ sudo usermod -G sudo lilei  //这个才是最重要的,把lilei加入到sudo分组中
$ groups lilei

然后你再切换回 lilei 用户,现在就可以使用 sudo 获取 root 权限了。

su lilei //用户切回到lilei

删除用户

$ sudo deluser lilei --remove-home

查看文件权限

$ ls -l

实验楼:创建用户与修改权限_第1张图片
实验楼:创建用户与修改权限_第2张图片
实验楼:创建用户与修改权限_第3张图片
了接了文件权限的一些概念,我们顺带补充一下关于 ls 命令的一些其它常用的用法:

  • 显示除了 .(当前目录)和 …(上一级目录)之外的所有文件,包括隐藏文件(Linux 下以 . 开头的文件为隐藏文件)。
$ ls -A

当然,你可以同时使用 -A 和 -l 参数:

$ ls -Al

查看某一个目录的完整属性,而不是显示目录里面的文件属性:

$ ls -dl <目录名>

显示所有文件大小,并以普通人类能看懂的方式呈现:

$ ls -AsSh

其中小 s 为显示文件大小,大 S 为按文件大小排序,若需要知道如何按其它方式排序,请使用“man”命令查询。

查询文件的信息

$ll 文件名 //单独的文件信息,和$ ls -l相似,一个单独,一个当前文件夹下全部的文件信息

假设目前是 lilei 用户登录,新建一个文件,命名为 “ iphone6 ”:

注意当前的用户必须是 lilei
如果是 shiyanlou 用户需要切换到 lilei(如果之前已经删除需要重新创建下)

$ su lilei
$ cd /home/lilei
$ touch iphone6

现在,换回到 shiyanlou 用户身份,使用以下命令变更文件所有者为 shiyanlou :

需要切换到 shiyanlou 用户执行以下操作

$ cd /home/lilei
$ ls iphone6
$ sudo chown shiyanlou iphone6 //这句话是重点,用chown来更改所以者

修改文件权限

如果你有一个自己的文件不想被其他用户读、写、执行,那么就需要对文件的权限做修改,这里有两种方式:

  1. 方式一:二进制数字表示

实验楼:创建用户与修改权限_第4张图片
每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)对应一个 " rwx ",也就是一个 “ 7 ” ,所以如果我要将文件“ iphone6 ”的权限改为只有我自己可以用那么就这样:

$ chmod 600 iphone6 //相当于 6  0  0 权限   chomd修改文件读写权限
  1. 方式二:加减赋值操作
$ chmod go-rw iphone6 //这句话相当于分组里的用户,其他用户的减去他们读和写的权利,而自己的权限不变

g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。

*简答题:adduser 和 useradd 的区别是什么?

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

作业题:

添加一个用户lilei,使用 sudo 创建文件 file4.txt,设置成用户 lilei可以读写。截图并把操作过程写入实验报告。

提示: 如何创建一个文件呢?可以考虑 touch 命令,执行 sudo touch /opt/forloutest 这个命令可以创建一个空文件,但前提是执行这个命令的 loutest 用户具备 sudo 权限

shiyanlou:~/ $ sudo adduser lilei
shiyanlou:~/ $ sudo usermod -G sudo lilei[20:49:25]
shiyanlou:~/ $ groups lilei[20:50:49]
lilei : lilei sudo
shiyanlou:~/ $ su lilei[20:51:01]
密码:
lilei@cdaefe5b49c4:/home/shiyanlou$ groups lilei
lilei : lilei sudo
//上面创建了lilei用户,并且让他到了sudo分组,下面创建文件,但是sudo touch会让文件的所有者
//为root所以还要改文件的所有者为lilei才行
lilei@cdaefe5b49c4:/home/shiyanlou$ sudo touch file4.txt
lilei@cdaefe5b49c4:/home/shiyanlou$ ll file4.txt
-rw-r–r-- 1 root root 0 3月 30 20:52 file4.txt
//更改文件的所有者
lilei@cdaefe5b49c4:/home/shiyanlou$ sudo chown lilei file4.txt
lilei@cdaefe5b49c4:/home/shiyanlou$ ll file4.txt
-rw-r–r-- 1 lilei root 0 3月 30 20:52 file4.txt
//更改文件的权限
lilei@cdaefe5b49c4:/home/shiyanlou$ chmod 600 file4.txt
lilei@cdaefe5b49c4:/home/shiyanlou$ ll file4.txt
-rw------- 1 lilei root 0 3月 30 20:52 file4.txt

你可能感兴趣的:(Linux命令行学习)