批量创建新用户: newusers passwd格式文件 批量创建用户,必须和/etc/passwd下的文件格式一样
下面开始批量创建: 首先准备好一个文件:用vi命令建一个user.txt
如图:
然后用cat user.txt
然后newusers批量创建,cat /etc/passwd查看下:
创建成功
批量修改用户密码: 首先编辑好一个文件 vi pass.txt
编辑好后 用命令:cat psss.txt | chpasswd , 修改成功 试下能否登录
登陆成功 但是缺少配置文件 下面来解决这个问题
cp -r /etc/skel/. /testdir/user6/
再登录一次试试
修改成功
用户属性修改:usermod [OPTION] login
-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 [OPTION]… login
-r: 删除用户家目录、以及邮箱
查看用户相关的ID信息: id [OPTION]… [USER]
-u: UID
-g: GID
-G: Groups查看辅助组
-n: Name显示出名称 可以组合
切换用户或以其他用户身份执行命令: su [options…] [-] [user [args…]]
切换用户的方式:
su UserName :非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su – UserName :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
root su 至其他用户无须密码;非root 用户切换时需要密码
换个身份执行命令: su [-] UserName -c 'COMMAND'
选项:-l –login: su -l UserName 于 相当于 su – UserName
用户切换,家目录没有切换 这种方式叫做不完全切换、非登录式切换
切换用户,家目录也切换 这种方式叫做完全式登录
设置密码:passwd [OPTIONS] UserName: 修改指定用户的密码,仅root 用户权限
passwd: 修改自己的密码;
常用选项:
-l: 锁定指定用户
-u: 解锁指定用户
-e: 强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天开始警告
-i inactivedays :非活动期限;
–stdin :从标准输入接收用户密码;
echo " PASSWORD " | passwd –stdin USERNAME
创建组: 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 groupdel GROUP
更改组密码:
组密码:gpasswd gpasswd [OPTION] GROUP
-a user: 将user 添加至指定组中;
-d user: 从指定组中移除用户user
-A user1,user2,…: 设置有管理权限的用户列表
文件权限:
文件的权限主要针对三类对象进行定义:
owner: 属主, u
group: 属组, g
other: 其他, o
每个文件针对每类访问者都定义了三种权限:
r: Readable 读权限 可使用文件查看类工具获取其内容
w: Writable 写权限 可修改其内容
x: eXcutable 执行权限 可以把此文件提请内核启动为一个进程
-rw-r–r– 就是权限 第一个root,是文件所有者(owner) 第二个root是文件所属组 还有other
-rw-r–r–就是给这三类对象赋予权限的 按照rwx顺序赋予权限 没有权限用-代替
更该权限语法:chmod who(u,g,o,all) opt(+,-,=) permission(r,w,x) file……
例:
目录权限:
r: 可以使用ls 查看此目录中文件列表
w: 可在此目录中创建文件,也可删除此目录中的文件
x: 可以使用ls -l 查看此目录中文件列表,可以cd 进入此目录
X:只给目录x 权限,不给文件x 权限(文件本身没有权限)
chmod who(u,g,o,all) opt(+,-,=) permission(r,w,x,X) file……
还有一种形式:chmod 数字(3个八进制数字) file r:4 w:2 x:1 没权限就是0
算法:rwxrwxrwx就是r+w+x=777
chmod [OPTION]… –reference=RFILE FILE…
参考RFILE 文件的权限,将FILE 的修改为同RFILE;
权限设置:
chgrp sales testfile 设置所有者
chown root:admins testfile设置所有者、所属组
chmod u+wx,g-r,o=rx file所有者+写、执行,所属组-读,other赋予读、执行
chmod -R g+rwX /testdir对此目录里的所有子目录、文件 赋予读写权限,X表示对目录加执行权限
chmod 600 file所有者是读、写权限 其他的没权限
chown mage testfile把所有者改成mage root可执行,文件所有者user可将之改为user的所属组
新建文件和目录的默认权限:
umask值可以用来保留在创建文件权限
umask值 + default默认权限=dir目录777 file文件666
umask 从最大权限中屏蔽掉相应权限位,从而得到默认权限
默认权限=最大权限-umask 如果是目录,则公式不变
新建FILE 权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其权限+1
新建DIR 权限: 777-umask
非特权用户umask是002
root 的umask 是022
umask: 查看
umask #: 设定
umask –S 模式方式显示
umask –p 输出可被调用
全局设置: /etc/bashrc 用户设置:~/.bashrc
更改umask的方法:临时更改
特殊权限: SUID, SGID, Sticky
三种常用权限:r, w, x user, group, other
可执行文件上SUID权限
任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限
启动为进程之后,其进程的属主为原程序文件的属主 只对二进制可执行程序有效
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可 可以删除该文件
sticky 设置在文件上无意义
权限设定:chmod o+t DIR… chmod o-t DIR…
例如:
设定文件特定属性:
chattr +i 不能删除,改名,更改
chattr +a 只能增加
lsattr 显示特定属性
加上特定属性后,只能看,不能删,不能更改,不能移动
想要恢复正常 chattr -i命令 恢复正常
访问控制列表:
为多用户或者组的文件和目录赋予访问权限rwx
• mount -o acl /directory
• getfacl file |directory
• setfacl -m u:wang:rwx file|directory
• setfacl -Rm g:sales:rwX directory
• setfacl -M file.acl file|directory把设置权限的代码写到文件里,用M来调用
• 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
取消用户guoquan所有权限 如图
恢复权限:
ACL 文件上的group 权限是mask 值(自定义用户,自定义组,拥有组的最大权限), 而非 传统的组权限
mask 只影响除所有者和other 的之外的人和组的最大权限
Mask 需要与用户的权限进行逻辑与运算后,才能变成有限的权限
getfacl 可看到特殊权限:flags
原创文章,作者:旧城以西,如若转载,请注明出处:http://www.178linux.com/27605