用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限
用户管理:
添加用户:useradd tom
设置密码:passwd tom
切换账户: su - tom
(不加-也能切换,但是 -会有两点不同 1.有-会切换到该用户的主目录 2.会切换到该用户的环境变量,没有-的还是用上一个用户的环 境变量 echo $PATH)
退出账户: exit
查看账户:
1. id tom
2. 直接查看账户文件 vim /etc/passwd
第一列是用户名,第二列代表密码,当然这不是真的密码,密码放在另一个文件中(影子文件),第三列是用户的uid(user identify用户标识)
第四列是组id(group identify),第五列是账户的基本描述,第六列是账户的家目录,第七列是登录shell (像ls pwd这些命令都是由shell翻译成内核能懂的语言,所以每个登录的用户都要有个shell 像是个翻译)
---------------------------------------------------
修改账户信息可以直接vim然后修改,也可以使用:usermod --help查看说明
所以usermod -l jim tom就是讲用户名tom改为jim
----------------------------------------------------------------------------------------------------
影子文件:
passwd的影子文件,在这里修改密码信息
vim /etc/shadow
第一列是账户,第二列是密码,第三列是上次修改密码的时间(从1970年到今天的天数).......(详情使用man 5 shadow查看说明)
---------------------------------------------------------------------------
删除用户:userdel tom
此时账户的家目录和个人邮箱是不会被删除的 如:/home /tom 和 /var/spool/mail/
删除用户同时删除家目录和个人邮箱: userdel -r tom
或者更暴力,直接编辑passwd文件,删除某个用户
-----------------------------------------------------------------------------
组管理
添加组: groupadd caiwu
设置密码: gpasswd caiwu
查看组: cat /etc/group
组密码配置文件 第一列组名,第二列密码,第三列组id 第四列为空,当添加组员时会显示
影子文件: vim /etc/gshadow
第一列 组名,第二列密码,第三列 组长管理员名称 第四列组员
给用户组添加账户
新建用户:useradd zhangsan
添加账户到组(a代表add):gpasswd -a zhangsan caiwu(除了root和组管理员,其他人是不能添加账户的)
给用户组添加组管理员(A代表administrator):gpasswd -A liucheng caiwu
修改组管理员:
1.vim /etc/gshadow
2.gpasswd -d zhangsan caiwu
组的修改:查看groupmod --help使用
修改文件的用户:chown zhangsan /test/file
修改文件的用户组:chown :caiwu /test/file
同时修改用户和用户组: chown root:root /test/file
------------------------------------------------------------------------
设置主机名
查看主机名:hostname
设置主机名:hostname haddoop-senior.liucheng.com
注意:此种方式设置主机名,在机器重启之后会恢复原样,原因是linux系统的配置信息来源于文件
永久修改主机名:
修改 /ect/sysconfig/network
修改为
------------------------------------------------------------------------
UGO
查看UGO权限:
ls -l /etc/passwd
三个rwx分别是:文件所有者对该文件的权限(u),所属组下面的所有用户对该文件的权限(g),其他人的权限(o)
r权限(cat more head tail..)
重点是w权限(写权限 mkdir touch cp mv rm..)
w权限:拥有此权限表示具有更改该目录结构列表的权限,总之,目录的w权限与该目录下的文件名或子目录名的变动有关,注意:指的是名字。具体如下:
1)在该目录下新建新的文件或子目录。
2)删除该目录下已经存在的文件或子目录(不论该文件或子目录的权限如何),注意:这点很重要,用户能否删除一个文件或目录,看的是该用户是否具有该文件或目录所在的目录的w权限。
3)将该目录下已经存在的文件或子目录进行重命名。
4)转移该目录内的文件或子目录的位置。
x权限(执行权限 cd sh xx.sh..)
设置ugo权限
给file文件添加可执行属性
chmod u+x file
可以使用./file执行该文件(.代表当前目录,执行没效果,说明已经执行)
chmod 777 mydocument 更改文件的9个属性
使用符号来改变文件权限
chmod u=rwx,g=rwx,o=rx mydocument 修改mydocument文件的权限为-rwxr-xr-x
chmod u+w mydocument 给owners 添加w权限
chmod a=rwx mydocument 所有人可读可写可执行
chomd u-w mydocument 给owners减去w权限
chmod -R(大写) 777 img 递归更改img及里面文件或文件夹的权限为可读可写可操作
---------------------------------------------------------------------------------------------
文件高级权限
1.权限反掩码(umask):
控制用户创建文件或目录以后的默认权限,正常情况下root创建文件权限默认666,目录默认777,
但会发现真实情况是文件644,目录755,这是系统为了安全添加的反掩码设置
查看当前用户的反掩码:umask
0022 第一个0没有意义,只是一个占位符
那这个权限是怎么计算出来的?
① 022换算成 --- -w- -w- 然后把无权限的看成0,有权限的看成1就变成 000 010 010然后
按位取反(111 101 101)与666(110 110 110)或777(111 111 111)与运算就变成644(110 100 100)或755(111 101 101)
② 另一种简单的方法
设置反掩码:umask 011
2.隐藏权限
平常ls查看不到的权限,比如一些文件权限对root账户是没有作用的,基本上root想干什么就干什么,这时候为了防止一些误删除
操作,就有了隐藏权限
查看文件的隐藏权限 lsattr file
给文件添加隐藏权限
-----------------
①.a权限
加了a权限之后,此时即使是root账户再执行删除文件已经删不掉了
而且
也不能将信息覆盖该文件,只能做追加操作
总结:a权限只能做查看和追加操作,其他任何包括chown等等等等
然后将a权限删除:chattr -a file
-------------------------
②. i权限
添加i权限:chattr +i file
加了i权限后即使是追加也是不允许的,只能做查看工作
3.特殊权限
①suid权限:用来给可执行文件加的权限,比如普通用户执行cat /etc/shadow是不允许的
但是有了suid权限之后就可以查看,这是一种变相的提高权限
怎么给cat提升这个权限呢:
查看cat文件的位置:which cat
查看cat文件的权限: ls -l /bin/cat
添加s权限:chmod 4755/bin/cat(加了一个4,方法有很多,或者chmod u+s /bin/cat)
此时切到普通账户,就能查看该文件内容了
②sgid权限:只能给目录进行设置,比如目录是属于root的,来了一个普通账户创建一个文件,那这个文件的所属组就不会属于这个普通账户的所属组,而是这个目录的所属组
文件夹的拥有者和用户组都是root,其他人没有写的权限,所以无法再文件夹中创建文件
修改权限(切回root):chmod 757 dir
现在就能使用普通账户在dir下创建文件了:touch dir/file
现在的用户和用户组都是zhangsan
那我们现在来设置sgid
chmod 2757 dir
此时普通用户创建的文件用户组就是文件夹的用户组
③sticky权限:防止两个普通用户之间互相删除对方的文件,比如tmp文件的权限是777,那就代表随便一个用户都可以往里放文件,也可以删除
为了防止这种情况,就有了这种权限
目录权限是777,那所有用户都能删除file1 file2
现在添加sticky权限
现在执行rm -f file1 已经不能删除
----------------------------------------------------------------------------------------------------
ACL权限
针对ugo权限的不足,有些权限并设置不了,比如:a文件的拥有者和用户组都是zhangsan,其他人对a文件有r操作,这时候来了一个用户tom,需要临时的对a文件有777的操作,那应该怎办?
查看文件的acl权限:getfacl file
设置acl权限(m:modify u:user): setfacl -m u:zhangsan:rwx file
以下代表可读可写可执行
如果是需要对某个文件夹下的所有文件进行acl操作(R递归,Rm一定要注意参数顺序,其他的命令还真没见过要注意顺序的):
setfacl -Rm u:zhangdan:rw /test2
facl权限的继承:
对于一个修改了facl权限的文件夹,如果之后再在这个文件夹中创建文件,新建的文件是不会有之前的facl权限的
如何设置默认继承facl权限呢?(d:default)
setfacl -m d:u:zhangsan:rwx /test2
zhangsan 对该文件的权限是rwx 那为什么effective(有效的)确实rw-呢,原因是他与下面的mask码进行了与操作
用户管理_组管理_设置主机名_UGO_文件高级权限_ACL权限的更多相关文章
- 用户管理_组管理_权限管理.ziw
2017年1月10日, 星期二 用户管理_组管理_权限管理 用户管理: useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage ...
- Django基础篇--用户权限管理和组管理
Django作为一个成熟的python后台开发框架,为开发者提供了很多内置的功能,开发者只需要做一些配置就可以完成原生操作中比较复杂的代码编写.这些内置功能中其中一个比较强大的功能就是后台用户管理类. ...
- centos7的网络配置以及设置主机名和绑定IP的问题
CentOS 7.0系统是一个很新的版本哦,很多朋友都不知道CentOS 7.0系统是怎么去安装配置的哦,因为centos7.0与以前版本是有很大的改进哦. 说明:截止目前CentOS 7.x最新版本 ...
- linux查看与设置主机名
1.设置主机名 通过编辑/etc/sysconfig/network文件中的HOSTNAME字段就可以修改主机名.如下所示: [root@zijuan /]# vim /etc/sysc ...
- 【Centos7】hostnamectl 设置主机名
Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...
- Centos7】hostnamectl 设置主机名
Centos7中提供了设置主机名的工具 hostnamectl hostname有三种状态 static(永久) transient(瞬态) pretty (灵活) 查看主机名状态 [oracle@h ...
- CentOS7 设置主机名及IP映射
1.设置主机名 查看本机的主机名,使用如下三个命令中任意一个即可 # hostname # uname -n # cat /proc/sys/kernel/hostname 使用 vi 编辑器打开 / ...
- Linux命令之hostname - 显示或设置主机名
我使用过的Linux命令之hostname - 显示或设置主机名 本文链接:http://codingstandards.iteye.com/blog/804648 (转载请注明出处) 用途说明 ...
- 利用iis创建网站后为什么不能设置主机名
主机名 主机名就是网站的域名,通俗说就是网站地址(如:www.baidu.com). 设置了主机名,而IIS确不知道主机名对应的地址在哪里. 举个例子,把www.baidu.com做为IIS网站的主机 ...
随机推荐
- select实现选中跳转
select选择后直接跳转到其他网站的三种方式 第一种: ************************** <html> <head> <meta http- ...
- MSSQL数库备份与还原脚本(多个库时很方便)
每次通过 Management Studio 的界面操作备份或还原数据库,对于单个数据库还好,要是一次要做多个.那就还是用脚本快些,下面有两段脚本分享一下. ===================== ...
- 提供一段Excel获取Title的标题,类似于A、AA、AAA,我们操作Excel的时候通常根据次标题来获取一定的操作范围。
/******************************************** FormatExcelColumTitle Purpose Get excel title like &qu ...
- Linux学习之Makefile文件的编写
转自:http://goodcandle.cnblogs.com/archive/2006/03/30/278702.html 目的: 基本掌握了 make 的用法,能在Linux系统上编 ...
- Ajax 调用方式
function wds_generatecss() { var txt = $.trim($("#TxtText").val()); if (txt == "" ...
- mysql 批量删除分区
alter table titles drop partition p01; use zabbix; mysql> source drop_par.sql [oracle@oadb mysql] ...
- Jsoup代码解读之一-概述
Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了…觉得自己各种不靠谱啊!算了,静下心来学 ...
- Hash 表详解(哈希表)
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个映射函数叫做散列 ...
- 阻止长按复制页面中的内容;zepto中touch中的应用必须先加载event模块之后;
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- SQL Server数据转换【包括Geometry类型】的技巧总结
1. 字段的组合: update new_master_location set tmp_street_unique=street+'_'+city+'_'+state+'_'+zip+'_'+con ...