标签:acl suid gpasswd chmod sgid
8月2日,学习的主要内容为:
一、用户和组管理命令
二、文件权限
三、特殊权限
四、ACL
一、用户和组管理命令
useradd命令:用户创建
默认值设定:/etc/default/useradd文件中
-u UID
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序 可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存
在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
批量新建用户
newusers passwd格式文件 批量创建用户(此时只是创建了用户,其它文件还不全)
chpasswd 批量修改用户口令
/etc/skel/* 家目录存放文件 (需要复制到用户家目录)
usermod命令:用户属性修改
-u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加 组将会被覆盖;若保留原有,则要同时使用-a选项,表示append
-s SHELL:新的默认SHELL
-c ‘COMMENT‘:新的注释信息
-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移 动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项 -l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
userdel命令:删除用户
-r: 删除用户家目录
id命令:查看用户相关的ID信息
id [OPTION]... [USER]
-u: UID
-g: GID 显示主组
-G: Groups 显示主组和附加组
-n: Name 显示用户名而不是UID
su命令:切换用户或以其他用户身份执行命令
su [options...] [-] [user [args...]]
su UserName:非登录式切换,即不会读取目标用户的 配置文件,不改变当前工作目录
su - UserName:登录式切换,会读取目标用户的配置 文件,切换至家目录,完全切换
换个身份执行命令: su [-] UserName -c ‘COMMAND‘ (并没有切换用户,只是利用了一下权限)
passwd命令:设置密码
passwd [OPTIONS] UserName
修改指定用户的密码(包括root用户),仅 root用户权限
-l:锁定指定用户
-u:解锁指定用户
-e:强制用户下次登录修改密码
--stdin:从标准输入接收用户密码; echo "PASSWORD" | passwd --stdin USERNAME
chage命令: 修改用户密码策略
chage [option].... 用户名 (可以组个修改用户密码的各种时间)
-d LAST_DAY
-E, --expiredate EXPIRE_DATE
-I, --inactive INACTIVE
-m, --mindays MIN_DAYS
-M, --maxdays MAX_DAYS
-W, --warndays WARN_DAYS
–l,显示密码策略
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
下一次登录强制重设密码 chage -d 0 tom
finger命令:The finger displays information about the system users.
finger loginname
chfn命令:Changing finger information for users 指定个人信息
chsh命令: 指定shell
groupadd命令:创建组
groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组; CentOS 6: ID<500 CentOS 7: ID<1000
groupmod命令:修改组属性
groupmod [OPTION]... group (新组名在前,原组名在后)
-n group_name: 新名字
-g GID: 新的GID;、
groupdel命令:删除组
gpasswd命令:更改组密码(后面直接接上组名)
gpasswd [OPTION] GROUP
-a user: 将user添加至指定组中(用户以此组为附加组)
-d user: 从指定组中移除用户user
-A user1,user2,...: 设置有管理权限的用户列表
newgrp命令:临时切换用户的基本组; 如果用户本不属于此组,则需要组密码
groupmems:更改和查看组成员
groupmems [options] [action]
options:
-g, --group groupname 查看指定组的 (只有root有权限使用此选项)
Actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list (配合-g group 不用再后接其它项) 显示组成员列表 、
groups [OPTION].[USERNAME]... 查看用户所属组列表(作用类似id)
二、文件权限
chown命令:修改文件的属主和属组
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown root:admins testfile
用法:
OWNER
OWNER:GROUP
:GROUP
命令中的冒号可用.替换;
-R: 递归
chown [OPTION]... --reference=RFILE FILE...
chgrp:修改文件的属组
文件的权限主要针对三类对象进行定义: owner: 属主, u group: 属组, g other: 其他, o
每个文件针对每类访问者都定义了三种权限: r: Readable w: Writable x: eXcutable
对于文件:
r: 可使用文件查看类工具获取其内容
w: 可修改其内容
x: 可以把此文件提请内核启动为一个进程
对于目录:
r: 可以使用ls查看此目录中文件列表
w: 可在此目录中创建文件,也可删除此目录中的文件
x: 可以使用ls -l查看此目录中文件列表,可以cd进入此目录
X:只给目录x权限,不给文件x权限
文件权限数字表示
例如: 640: rw-r----
rwxr-xr-x: 755
chmod命令:修改文件权限
修改一类用户的所有权限: u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限 u+ u- g+ g- o+ o- a+ a- +
-R: 递归修改权限
chmod [OPTION]... --reference=RFILE FILE... 参考RFILE文件的权限,将FILE的修改为同RFILE
chmod u+wx,g-r,o=rx file
chmod -R g+rwX /testdir
chmod 600 file
新建文件和目录的默认权限
umask值 可以用来保留在创建文件权限, 非特权用户umask是 002,root的umask 是 022
新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其此位权限+1
新建DIR权限: 777-umask
三、linux文件系统上的特殊权限
可执行文件上SUID权限
用户运行程序时,自动继承程序属主的权限(只对二进制可执行程序有效 ,设在目录上无意义)
权限设定: chmod u+s FILE... chmod u-s FILE...
可执行文件上SGID权限
启动为进程之后,其进程的属主为原程序文件的属组
权限设定: chmod g+s FILE... chmod g-s FILE...
目录上的SGID权限
默认情况下,用户创建文件时,其属组为此用户所属的主组
一旦某目录被设定了SGID,则对此目录有写权限的用户在此 目录中创建的文件所属的组为此目录的属组。通常用于创建一个协作目录。
权限设定: chmod g+s DIR... chmod g-s DIR...
目录上的Sticky 位(设在文件上无意义)
具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权
在目录设置Sticky 位,只有文件的所有者或root可以删除该文件
权限设定 chmod o+t DIR... chmod o-t DIR...
特殊权限数字法
SUID4 SGID2 STICKY1
权限用数字表示时,位于最前面如 chmod 4777 /tmp/a.txt
s与S s表示拥有x权限 S表示没有x权限(对于属主和属组而言)
t与T t表示拥有x权限 T表示没有x权限(对于other而言)
设定文件特定属性
chattr +i 不能删除,改名,更改
chattr +a 只能增加
lsattr 显示特定属性
四、访问控制列表ACL
实现灵活的权限管理,可就指定的文件、目录对所有用户设置权限。
getfacl file |directory
setfacl -m u:wang:rwx file|directory
setfacl -Rm g:sales:rwX directory
setfacl -M file.acl file|directory
setfacl -m g:salesgroup:rw file| directory
setfacl -m d:u:wang:rx directory
setfacl -x u:wang file |directory
setfacl -X file.acl directory
本文出自 “笑猴子” 博客,请务必保留此出处http://xiaomonky.blog.51cto.com/11869371/1834134
标签:acl suid gpasswd chmod sgid
原文地址:http://xiaomonky.blog.51cto.com/11869371/1834134