组
创建组
#groupadd 组名
#groupadd -g gid 组名
#groupadd -g gid -o 组名
查看组
#cat /etc/group
组名:代表组密码:gid:组员
查看一个用户的所属组
#groups 用户名称
修改组
#groupmod 参数 组名
-g
-n
-o
#groupmod -g 2000 grp1
#groupmod -n grp3 grp1
给组设置密码
#gpasswd 参数 组名
#gpasswd grp2
给组添加账户
# gpasswd -a user10 grp2
Adding user user10 to group grp2
# usermod -G grp3 user11 修改用户附属组
从组删除账户
# gpasswd -d user10 grp2
指定组管理员
# gpasswd -A user12 grp2
组密码文件
# cat /etc/gshadow
组名:密码:组管理员:组员
删除组
# groupdel 组名
用户的主属组不能删除
# chgrp grp3 a.txt
权限:用户对文件的操作权限
文件的所有者和所属组
#chown 用户 文件
#chown user2 a.txt
#chown {.|:}组 文件
#chown .grp2 a.txt
#chown 用户.组 文件
#chown user3:grp3 a.txt
-R recoursive 递归修改,修改目录的时候连带目录的所有子文件一起修改
ugo权限
u user
g group
o other
--- --- ---
u g o
rwx r-x --x
r read
w write
x execute
权限修改
# chmod 权限 文件
# chmod u-r-w a.txt
# chmod u+r a.txt
# chmod g+w a.txt
# chmod o+x a.txt
# chmod u+w,g-w,o+w a.txt
# chmod a-r a.txt a表示ugo3个位置
# chmod -r a.txt (建议少用)
4=r 2=w 1=x
rwx 4+2+1=7
r-- 4
r-x 4+1=5
745
[tom@wing ~]$ chmod 604 a.txt
[tom@wing ~]$ ll a.txt
-rw----r-- 1 tom tom 44 Nov 25 11:43 a.txt
隐藏权限
# lsattr a.txt
# chattr +a a.txt
# chattr -a a.txt
# chattr +i a.txt
# chattr -i a.txt
高级权限:suid sgid sticky(t) facl
suid
#chmod 4755 a.txt
#chmod u+s a.txt
suid只能给命令添加,当给命令添加了suid之后,后面再有人去执行这个命令的时候就会拥有命令操作符所有者的权限
命令操作符:命令后面跟的文件
Suid实为提权
$cat /etc/shadow
#chmod 4755 `which cat`
$cat /etc/shadow
sgid
#chmod 2755 目录
#chmod g+s 目录
sgid只能给目录添加,当你给一个目录添加了sgid之后,后面不管谁来这个目录下创建文件,文件的所属组都会继承目录的所属组
sticky(t权限)
#chmod 1777 目录
#chmod o+t 目录
t权限只能给目录添加,当你给一个目录添加了t权限之后,后面所有人在这个目录下不能删除其他人的文件
-R 递归修改权限
umask 用户掩码
控制用户创建文件和目录的默认权限
用户 目录777 文件666
755 644
#umask
0022 root账户默认
0002 普通用户默认
先把掩码做取反操作,然后在与默认权限做与运算
或者
按位减
facl 扩展ugo权限,可以单独的对某一个用户或者某一组用户设置权限
查看facl
#getfacl 文件(目录)名
设置facl
#setfacl -m u:tom:r a.txt
#setfacl -m u:tom:4 a.txt
#setfacl -m g:组名:rwx a.txt
-R 递归修改 必须写到-m的前面,可以写到一起
#setfacl -R -m u:tom:4 目录名称
设置facl的继承权限
只能对目录,对目录本身不生效
# setfacl -m d:u:wing:r dir1
mask:和权限做与运算,最后的结果是有效权限
# setfacl -m m::rw ccc.txt
取消
# setfacl -b ccc.txt
# setfacl -x u:wing: ccc.txt
纯手动创建账户过程
创建jim账户
1.在passwd文件添加一个行jim账户信息
在shadow文件添加一个行jim账户信息
2.创建家目录
#cp -r /etc/skel /home/jim
3.在group文件添加一行jim组信息
在gshadow文件添加一行jim组信息
4.修改权限
#chown jim.jim /home/jim
#chmod 700 /home/jim
5.创建个人邮箱
#mkdir /var/spool/mail/jim
#chown jim.mail /var/spool/mail/jim
#chmod 660 /var/spool/mail/jim
/etc/login.defs
下期预告
打包压缩:
tar
gzip
bzip2
软件管理
rpm
yum
源码(编译)
src.rpm源码分发版的软件
.bin .sh .pl .bundle
本文出自 “linux菜鸟训练营” 博客,转载请与作者联系!