linux初识到入门_用户管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux初识到入门_用户管理相关的知识,希望对你有一定的参考价值。
权限管理:
ls -l
rwxrwxrwx:
左三位:定义user(owner)的权限
中三位:定义group的权限;
右三位:定义other的权限
进程安全上下文:
进程对文件的访问权限应用模型:
进程的属主与文件的属主是否相同;如果相同,则应用属主权限;
否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组权限;
否则,就只能应用other的权限;
权限:
r:readable, 读
w:writable, 写
x:excutable,执行
文件:
r:可获取文件的数据;
w: 可修改文件的数据;
x:可将此文件运行为进程;
目录:
r:可使用ls命令获取其下的所有文件列表;但无法使用ls -l 查看详细信息
w: 可修改此目录下的文件列表;即创建或删除文件;
x: 可cd至此目录中,且可使用ls -l来获取所有文件的详细属性信息;
mode:rwxrwxrwx
ownership:user, group
权限组合机制:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
练习:rw-rw-r--, rwxrwxr-x, rwxr-x---, rw------, rwxr-xr-x
664, 640, 600, 775, 750, 755
权限管理命令:
chmod命令:修改文件权限
chmod [OPTION]... MODE[,MODE]... FILE... #赋权法
chmod [OPTION]... OCTAL-MODE FILE... #8进制权限
chmod [OPTION]... --reference=RFILE FILE... #引用修改
三类用户:
u:属主
g:属组
o:其它
a: 所有
(1) chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
赋权表示法:直接操作一类用户的所有权限位rwx;
u=
g=
o=
a=
#例:[[email protected] ~]# chmod u=rwx,g=rwx,o=rw fstab #各部分之间用 逗号 隔开 没有权限可以为空
[[email protected] ~]# ll fstab
-rwxrwxrw-. 1 root root 541 12月 29 22:30 fstab
授权表示法:直接操作一类用户的一个权限位r,w,x;
u+, u-
g+, g-
o+, o-
a+, a-
#例:[[email protected] ~]# chmod u-w fstab # 两种同样操作时可以合并 ~]#chmod ug+w fstab
[[email protected] ~]# ll fstab
-r--rwx---. 1 root root 541 12月 29 22:30 fstab
(2) chmod [OPTION]... OCTAL-MODE FILE...
~]#chmod 660 fstab
(3) chmod [OPTION]... --reference=RFILE FILE...
#例:[[email protected] ~]# chmod --reference=/var/log/messages fstab
[[email protected] ~]# ll fstab
-rw-------. 1 root root 541 12月 29 22:30 fstab
选项:
-R, --recursive:递归修改
注意:用户仅能修改属主为自己的那些文件的权限;
从属关系管理命令:chown, chgrp
chown命令:修改属主属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
例:[[email protected] tmp]# ll -d skel/ #查看skel 目录的详细信息
drwxr-xr-x. 3 root root 74 12月 29 23:02 skel/
[[email protected] tmp]# chown -R gentoo:cc skel/ #修改属主和属组信息 “ :” 可用“ . ” 代替
[[email protected] tmp]# ll -d skel/ # ~~~
drwxr-xr-x. 3 gentoo cc 74 12月 29 23:02 skel/
另:[[email protected] tmp]# chown :root skel/ #命令可以只跟 :GROUPNAME
[[email protected] tmp]# ll -d skel/
drwxrwxr-x. 3 root root 60 12月useradd 29 23:45 skel/
chown [OPTION]... --reference=RFILE FILE...
例:[[email protected] tmp]# chown --reference=/tmp/haha/ /tmp/skel/
选项:
-R:递归修改
chgrp命令:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
注意:仅管理员可修改文件的属主和属组;
思考:用户对目录有写权限,但对目录下的文件没有写权限时,能否修改此文件内容?能否删除此文件?
模拟之;
思路:一个目录当前用户组没有写权限--修改用户组 并将另个用户加入其中并赋予该用户组写权限。
登录另一个用户则该用户对该目录有写权限,对其下文件却没有写权限
[[email protected] tmp]# ll -d ./skel/ #查看改目录权限
drwxr-xr-x. 3 root root 74 12月 29 23:02 ./skel/
[[email protected] tmp]# usermod -a -G cc gentoo #将一个用户追加一个附加组
[[email protected] tmp]# chown -R root:cc skel/ #将目录所属组递归 修改
[[email protected] tmp]# chmod g+w skel/ #对用户组附加W权限
[[email protected] tmp]# su gentoo #切换用户
[[email protected] tmp]$ echo "hello" >> /tmp/skel/.bashrc #向文件写入数据 (修改内部文件)
bash: /tmp/skel/.bashrc: 权限不够
[[email protected] tmp]$ rm /tmp/skel/.bashrc #删除该文件
rm:是否删除有写保护的普通文件 "/tmp/skel/.bashrc"?y
所以不能修改该文件内容,可以删除该文件。
umask:文件的权限反向掩码,遮罩码;
文件:
666-umask
目录:
777-umask
注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;
umask: 023
666-023=644
777-023=754
umask命令:
umask:查看当前umask
umask MASK: 设置umask
注意:此类设定仅对当前shell进程有效;
练习:完成以下任务
1、新建系统组mariadb, 新建系统用户mariadb, 属于mariadb组,要求其没有家目录,且shell为/sbin/nologin;尝试root切换至用户,查看其命令提示符;
例:
[[email protected] ~]# groupadd mariadb
[[email protected] ~]# useradd -g mariadb -M -s /sbin/nologin mariadb
2、新建GID为5000的组mageedu,新建用户gentoo,要求其家目录为/users/gentoo,密码同用户名;
例:
[[email protected] ~]# group -g 5000 megeedu #新建GID 为5000的组mageedu
[[email protected] ~]# mkdir /users #新建目录文件
[[email protected] ~]# useradd -d /users/gentoo gentoo #新建用户并指定家目录
[[email protected] ~]# echo "gentoo" | passwd --stdin gentoo # 设置密码
3、新建用户fedora,其家目录为/users/fedora,密码同用户名;
例:[[email protected] ~]# useradd -d /users/fedora fedora
[[email protected] ~]# echo "fedora" | passwd --stdin fedora
4、新建用户www, 其家目录为/users/www;删除www用户,但保留其家目录;
例:[[email protected] ~]# useradd -d /users/www www #同上
[[email protected] ~]# userdel www #不加选项仅删除用户
[[email protected] ~]# ls /users/
fedora gentoo www
5、为用户gentoo和fedora新增附加组mageedu;
例:
[[email protected] ~]# usermod -a -G megeedu gentoo
[[email protected] ~]# usermod -a -G megeedu fedora
....
megeedu:x:5000:gentoo,fedora
....
6、复制目录/var/log至/tmp/目录,修改/tmp/log及其内部的所有文件的属组为mageedu,并让属组对目录本身拥有写权限;.
例:
[[email protected] ~]# cp -r /var/log/ /tmp/ #递归拷贝文件
[[email protected] ~]# ll -a /tmp/log/ #查看详细信息
总用量 1688
drwxr-xr-x. 18 root root 4096 12月 30 00:59 .
drwxrwxrwt. 21 root root 4096 12月 30 01:00 ..
drwxr-xr-x. 2 root root 4096 12月 30 00:59 anaconda
...
[[email protected] ~]# chown -R :megeedu /tmp/log/ #递归修改属组
[[email protected] ~]# ll -a /tmp/log/
总用量 1688
drwxr-xr-x. 18 root megeedu 4096 12月 30 00:59 .
drwxrwxrwt. 21 root root 4096 12月 30 01:00 ..
drwxr-xr-x. 2 root megeedu 4096 12月 30 00:59 anaconda
...
[[email protected] ~]# chmod g+w /tmp/log #修改文件目录本身所属组权限
[[email protected] ~]# ll -a /tmp/log/
总用量 1688
drwxrwxr-x. 18 root megeedu 4096 12月 30 00:59 .
drwxrwxrwt. 21 root root 4096 12月 30 01:03 ..
drwxr-xr-x. 2 root megeedu 4096 12月 30 00:59 anaconda
install命令:
install - copy files and set attributes
单源复制:
install [OPTION]... [-T] SOURCE DEST
多源复制:
install [OPTION]... SOURCE... DIRECTORY
install [OPTION]... -t DIRECTORY SOURCE...
创建目录:
install [OPTION]... -d DIRECTORY...
例:
[[email protected] ~]# install -d hello #直接创建目录
anaconda-ks.cfg Desktop Documents Downloads hello
常用选项:
-m, --mode=MODE:设定目标文件权限,默认为755;
例:
[[email protected] ~]# ll -a /tmp/inittab
-rwxr-xr-x. 1 root root 511 12月 30 01:21 /tmp/inittab # 权限755
[[email protected] ~]# ll -a /etc/inittab
-rw-r--r--. 1 root root 511 11月 20 2015 /etc/inittab #实际权限 644
-o, --owner=OWNER:设定目标文件属主;
-g, --group=GROUP:设定目标文件属组;
例:
[[email protected] ~]# install -o gentoo -g megeedu -m 666 /etc/inittab /tmp/inittab #直接修改属主,属组,权限
[[email protected] ~]# ll -a /tmp/inittab
-rw-rw-rw-. 1 gentoo megeedu 511 12月 30 01:31 /tmp/inittab
mktemp命令:
mktemp - create a temporary file or directory
mktemp [OPTION]... [TEMPLATE]
例:
[[email protected] ~]# a=$(mktemp /tmp/mytmp.XXXXX) #利用引用将生成的临时文件目录赋值给a 模板。XXX最少三位 切为大写!!!!
[[email protected] ~]# echo $a #显示a的值
/tmp/mytmp.16vTk
常用选项:
-d:创建临时目录
注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来;
以上是关于linux初识到入门_用户管理的主要内容,如果未能解决你的问题,请参考以下文章
大数据学习之_01_Linux学习_01_linux的入门+VM和linux的安装+linux的目录结构+远程登录到linux服务器+vi和vim编辑器+开机重启和用户登录注销+用户管理+用户组管理(