六.Linux博客-2016年8月2日用户、权限

格式说明:

操作

概念

命令

说明及举例


六.用户、权限


创建用户、修改用户、删除用户

useradd 创建一个用户
useradd -r 创建系统用户,系统用户不创建家目录
useradd -D
/etc/default/useradd 默认设置配置文件
newusers +文件 批量创建用户,按照正确格式写到文件里
cat 文件 | chppasswd 批量修改密码 文件有格式要求 用户名:密码
cp -r /etc/ske1/.[^.]* /testdir/user4 创建用户后,必须把必要的配置文件拷贝到新用户的家目录。
cp -r /etc/ske1/. /testdir/user4 更好的复制方法
chpasswd mima.txt 导入刚才添加用户的密码 格式:用户名:密码
usermod +需要修改的属性(-aG 多个辅助组逗号分开 -u 新属性 -g 新属性)最后+用户名 修改用户属性 加-m 是把原来的家目录中文件转移到新指定的家目录
usermod -G"" +用户名 清空辅助组
userdel +用户 
userdel -r +用户 家目录和邮箱也删掉

vim

非编辑模式下按yy是复制,按p是粘贴,按u是后退

创建用户配置文件

/etc/default/useradd
/etc/skel/*
/etc/login.defs 新建账号密码策略

id

id -g wang 看用户主组id
id -G wang 辅组id

su 切换用户

su +用户名 不完全切换
su - wang 玩全切换
不能总切换,会出问题,切换完之后完事退出
su -root -c +命令  直接用root权限执行命令

passwd 设置密码

passwd -l wang 锁定wang用户密码
passwd -u wang -f 强制把wang用户设置为空
passwd -e wang 下次登录强制改口令
echo "PASSWORD" | passwd--stdin USERNAME 常用改密码脚本
chage -l wang 显示wang用户密码策略
chage wang 修改wang用户密码策略

groupmens

groupmens -l -g g1
groupmens -p -g g1
groupdel new1 删除new1组
gpasswd g1 改g1组密码

文件权限

r 读
w 写
x 执行

chown wang f1   改变f1文件的所有者
chown -R root. /testdir 把文件夹及里面的文件所有者都改成root
chgrp wang f1   改变f1文件的所属组


chmod who opt permission f1 f2 ..
who:u,g,o,a
opt:+,-,=
per:r,w,x,X
数字:4,2,1(rwx,8进制,代表三个权限,赋予权限就是数字相加rwx=7)

chmod o-r,g+w f1 把f1文件权限修改为:其他人员减去读权限,组成员加写权限

文件能不能删不是看文件的权限,而是看文件所在目录的权限

chmod -R +x dir/  给dir目录及子目录和文件都加x权限(给所有文件加执行权限是不安全的)
chmod -R a+X dir/ 只给dir目录及子目录都加x权限不给里面的文件加执行权限(前提是文件本身没有执行权限)
chmod --reference f1 f2 f3复制f1的权限给f2 f3

chown 只有root能执行 chgrp root,文件所有者user改为

新建文件和目录的默认权限

umask 从最大权限中屏蔽掉相应的权限为,从而得出默认权限
文件最大权限:666
目录最大权限:777 默认权限=最大权限-umask—-如果是目录,不用改;如果是文件,结果中有奇数权限+1,偶数权限不变
例umask=137 ,创建文件权限666-137=53-1,通过上面的公式奇数+1得出最后结果为640

umask(022) + default =dir777 / file666
umask 066 改默认为066 (临时生效)
umask u=rw,g=r,o=  
umask -p >>.bashrc  直接把umask写到配置文件里

..bashrc 改配置文件后打此命令,修改立即生效

Linux文件系统上的特殊权限

suid

只能作用在二进制的程序上

chmod u+s /user/bin/nano 把/user/bin/nano所有者权限加s,运行此程序的用户都拥有root权限,危险!
chmod 4755 /user/bin/nano  4就是s 运行效果同上
suid=4

sgid

作用在二进制文件时,用户运行该程序时自动继承该程序所属组的权限

chmod g+s /bin/cat 
sgid=2

作用在目录时(目录权限至少是770时) 目录下新建的文件或目录自动继承该目录的所有组,即使用户不在目录所属组

chgrp 组名 dir 创建组
chmod g+s dir 分配权限

sticky 粘滞

只能作用在目录上

chmod o+t dir dir目录下普通用户不能删别人的文件
chmod 1777 dir dir目录下普通用户不能删别人的文件

设定文件特定属性

chattr +A a.txt 锁定读时间
chattr +i a.txt 不能对该文件改删 (-i 取消)
chttr +a a.txt 只能在文件里增加内容,不能删除原有的

访问控制列表

ACL实现灵活的权限管理

setfacl -m u:wang:000 f1 wang用户对f1文件无任何权限
setfacl -x u:wang f1 删除wang用户acl权限  
setfacl -b f1 清空f1文件acl权限
setfacl -m u:li:rw f1 li用户对f1文件能读能改
getfacl f1 看文件的acl权限
setfacl -Rm u:wang:000 /dir 
setfacl -M acl.txt 事先把权限写到文档中,里面可以写组权限
setfacl -m d:wang:rw /dir 目录下新建的文件或目录王用户默认有rw权限
setfacl -X acl.txt 删除文档中的权限(文档中格式为不带权限)
setfacl -m mask::rw f1 最大权限为rw,

练习:
groupadd g1 g2 g3

chgrp g1 /date/testdir
chmod g+s /date/testdir
setfacl -m g:g2:rwx /date/testdir
setfacl -m g:g:rw /date/testdir
setfacl -m g:g3:r /date/testdir
chmod 0= /testdir

原创文章,作者:自己泡面,如若转载,请注明出处:http://www.178linux.com/39187

(1)
自己泡面自己泡面
上一篇 2016-08-24
下一篇 2016-08-24

相关推荐

  • RAID and LVM

    RAID          Redundant Arrays of  inexpensive(Independent)Disks,RAID:容错式廉价磁盘阵列,容错式独立磁盘阵列,简称RAID,由加利福尼亚大学伯克利分校(University of California-Berkeley)在1988…

    Linux干货 2016-09-02
  • 双网卡绑定及单网卡多IP地址实现方法

    Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。mode=1(active-backup):一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理。当活动网卡down掉时,启用备份…

    Linux干货 2016-09-05
  • 【福利招聘】 Base 上海 拍拍货(红杉领投,靠谱金融公司) 共5人

    公司简介 拍拍贷成立于2007年6月,全称为“上海拍拍贷金融信息服务有限公司”,总部位于国际金融中心上海,是中国首批网络信息借贷平台。 拍拍贷是一家由工商部门特批,获批“金融信息服务”的经营范围,得到政府认可的互联网金融平台。拍拍贷用先进的理念和创新的技术建立一个安全、高效、透明的互联网金融平台,规范个人贷款行为,让借入这改善生产生活,让借出者增加投资渠道。…

    Linux干货 2016-12-05
  • Shell脚本-循环基础

    Shell脚本-循环基础 背景: 正在学习Shell脚本之循环,发现Shell的循环和其他编程语言大同小异,逻辑上都是相通的,但在使用格式上却有点不同,在学习完Shell循环后,将学习的心得体会记录下来,以备今后复习。 介绍: 什么是Shell脚本:       shell script是利用shell的功能…

    2017-08-26
  • 文本编辑工具Sed

                    Stream EDitor, 行编辑器         sed是一种流编辑器,它一次处理一行内容。处理时,一次性的先把文件读入内存中,并且开辟一块内存空间,该内存空间称为“模式空间”(pa…

    Linux干货 2016-08-10
  • 源码编译安装http

    为什么需要编译安装软件?   1、软件在编译期间需要配置:比如需要指定安装路径,定制模块等功能;   2、软件需要统一安装路径:在编译安装时可以方便指定这些路径;   3、需要最新的版本:对于某些软件来说可能需要最新的版本。 编译前的准备工作:     1、安装开发工具:make、gcc等…

    Linux干货 2016-08-24