用户组和权限详解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户组和权限详解相关的知识,希望对你有一定的参考价值。
时间:2017.11.16
作者:李强
参考:man,info,magedu讲义
声明:以下英文纯属个人翻译,英文B级,欢迎纠正,盗版不纠,才能有限,希望不误人子弟为好。
1、使用目的与场景
2、官方说明
3、写在前面
因为上述配置影响着所有的用户,所以一般不建议直接改动配置文件
而是通过一些特定的命令去修改,然后用命令你去检查各个配置文件的依赖性是否正确。
vipw vigr vigr -s pwck grpck
对文件进行编辑时使用这些命令可以有语法及依赖性检查。还是相当于直接手动该文件,只是保证了你没有改变这个文件里面内容的格式,但是相关的文件并没有一次改完,所以还是会用命令靠谱些
4、修改文件及涉及的环境变量
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/etc/default/useradd
/etc/defult/useradd-
/etc/skel/*
/etc/login.defs
$USER,
5、用法
1、用户
云盘管理,这个目录下有100个用户,对每个用户有每个用户的家目录
不同之间没有好像访问的权利,
1、可以共享,就是这个目录的权限放开,
2、给特定用户访问权限就是云盘的密码连接,你输入密码就可以访问,
3、当然你可以指定特殊账号可以进行访问。给其目录新加一个用户的访问权。
1.1、useradd
sarah:x:505:506::/home/sarah:/sbin/nologin /etc/passwd保存用户信息的文件格式 -p:添加passwd -e:用户有效期 -f:密码有效期 -u:添加uid -g:为用户添加gid -G:添加用户的附属组 -c:添加用户的解释comment -d:添加的用户的家目录 -s:添加用户的shell类型 -D:用户的默认设置查看 /etc/default/useradd|useradd- -l:不将用户加入到lastlog和faillog数据库 -k:重新为用户执行skel目录,不用默认的/etc/skel(包含系统创建用户的基本设置) -K: Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others). -m:创建家目录 -M:不创建家目录 -N:不创建和用户名称一样的用户组 -r:创建系统用户 -U:允许创建重复uid的用户,不检查uid的唯一性 -D -b -D -e -D -f -D -g -D -s 以上修改/etc/default/useradd.此文件内容
1.2、usermod
-u: 修改用户的uid -g:强制设置一个组为用户的新主组 -G: 修改用户的附属组 -d:新的家目录对用户,新的家目录不会自动创建,而且源家目录也不会删除,相当于cp不加 -a,最好配合-m使用,保留原家目录信息并移动。 -c:修改用户的comment -s:修改用户的shell -a: -m: 移动用户的家目录到新的目录和-d一起使用 -l: 给用户改名字 -L:锁定用户。在/etc/shadow的用户密码前加! -U:解锁用户,去掉在/etc/shadow的用户密码前的!
1.3、userdel
默认就删除用于,家目录什么没有删除 -f:强制删除 -r:删除家目录和邮件 -R -Z
1.4、passwd
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username] DESCRIPTION The passwd utility is used to update user’s authentication token(s). This task is achieved through calls to the Linux-PAM and Libuser API. Essentially, it initializes itself as a "passwd" service with Linux-PAM and utilizes configured password modules to authenticate and then update a user’s password. A simple entry in the global Linux-PAM configuration file for this service would be: # # passwd service entry that does strength checking of # a proposed password before updating it. # passwd password requisite pam_cracklib.so retry=3 passwd password required pam_unix.so use_authtok # Note, other module types are not required for this application to function correctly. OPTIONS -k The option -k, is used to indicate that the update should only be for expired authentication tokens (passwords); the user wishes to keep their non-expired tokens as before. -l This option is used to lock the specified account and it is available to root only. The locking is per- formed by rendering the encrypted password into an invalid string (by prefixing the encrypted string with an !). --stdin This option is used to indicate that passwd should read the new password from standard input, which can be a pipe. -u This is the reverse of the -l option - it will unlock the account password by removing the ! prefix. This option is available to root only. By default passwd will refuse to create a passwordless account (it will not unlock an account that has only "!" as a password). The force option -f will override this protection. -d This is a quick way to delete a password for an account. It will set the named account passwordless. Available to root only. -e This is a quick way to expire a password for an account. The user will be forced to change the password during the next login attempt. Available to root only. -n This will set the minimum password lifetime, in days, if the user’s account supports password lifetimes. Available to root only. -x This will set the maximum password lifetime, in days, if the user’s account supports password lifetimes. Available to root only. -w This will set the number of days in advance the user will begin receiving warnings that her password will expire, if the user’s account supports password lifetimes. Available to root only. -i This will set the number of days which will pass before an expired password for this account will be taken to mean that the account is inactive and should be disabled, if the user’s account supports pass- word lifetimes. Available to root only. -S This will output a short information about the status of the password for a given account. Available to root user only.
1.5、chage
改变用户密码的时间信息 可以直接chage + 用户,会一步一步提示修改那个 也可以加上option 单个选项进行修改 -d 最后一次修改密码的时间如果设置为0就是强制下次登录必须修改密码,可以用具unix元年的s数,也可以用YYYY-MM-DD的格式 -E用户到期时间可以用YYYY-MM-DD的格式.也可以是到1970年1月1日的格式 -I 密码过期的时间 -m最少要多少天改密码,0表示随时 -M最多到多少天必须密码 -W在密码到期提前多少天给用户提醒。 chage -l login 显示用户的密码时间信息 修改的文件是/etc/shadow
1.8、chfn
就是来修改/etc/passwd 中的comment字段 chfn直接执行会一步一步的让你填写内容 finger可以来查看用户的comment信息
1.9、chsh
就是来修改/etc/passwd 中的shell字段 chsh直接执行也会提示你修改当前用户的shell -s 指定shell -l 显示/etc/shells有哪些shell
2、组
2.1、groupadd
-f, --force This option causes the command to simply exit with success status if the specified group already exists. When used with -g, and the specified GID already exists, another (unique) GID is chosen (i.e. -g is turned off). -g, --gid GID 指定一个组id。 -K, --key KEY=VALUE Overrides /etc/login.defs defaults (GID_MIN, GID_MAX and others). Multiple -K options can -o, --non-unique 不检查guid唯一性 -p, --password PASSWORD 给组设置密码 -r, --system 创建一个系统组 -R, --root CHROOT_DIR Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
2.2、groupmod
-n 修改组的名称。 -g 修改组id
2.3、gpasswd
-a --add user 添加用户到组中 -d --delete user 从组里删除用户 -r --remove-passwd 删除密码 -R--restrict 限制用户访问这个组,在/etc/gshadow在上!,只允许组成员通过newgrp和密码加入到这个组中 -A -M --members user,.... 设置组成员列表
2.4、groupdel
-R, --root CHROOT_DIR 不能删除有用户的主组
2.5、groupmems
-a添加 -d删除 -l查看 -g更改 -ppurge清空所有用户 -R --root CHROOT_DIR
2.6、newgrp
可以删除辅助组,主组不能删
3、信息查看
3.1、finger
3.2、id
id 默认查看当前登录信息 id user 查看配置文档 id [OPTION]... [USERNAME] -a ignore, for compatibility with other versions -Z, --context 仅打印当前用户的安全上下文,后面不加用户名 -g, --group print only the effective group ID -G, --groups print all group IDs -n, --name print a name instead of a number, for -ugG -r, --real print the real ID instead of the effective ID, with -ugG -u, --user print only the effective user ID
3.3、groups user
3.4、getent passwd|shadow|group|gshadow user
文件权限:
文件属性;
ll
stat
chown 改变文件所有者
chgrp 改变文件的属组信息
-R 递归
文件权限的3个对象
owner u
group g
other o
文件操作的权限
readable
writable
excutable
rwx 可读可写可执行
421
chmod 777
修改文件权限,分别针对ugoa
a是针对有。
可以+-,可用777也可用rwx
-R递归
新建文件或目录的默认权限
/etc/bashrc
~/.bashrc
umask
特殊权限chattr
lsattr
suid
sgid
sticky
acl
access control list
更精细化的对文件的权限进行管理,
other部分更精细化
getfacl
setfacl
centos7之前版本需要手动添加文件系统对acl的支持
tune2fs -o acl /dev/sb1
mount -o acl /dev/sdb1 /mnt/test
chmod
chown
chgrp
x是执行权限
X是只对目录有进入权限,但是对文件没有execute权限。
如果目录下file1有x权限那么使用chmod -R a+X dir1
就会将dir1下的file1的所有都设置x,判断因为本身有x,所以会认为可以给其他使用者x权限
这里要注意使用风险。
对目录,x是基本权限。
对执行脚本, 只设置x,只能执行。无法查看和改写,写的太烂不好意思给人看,用就行
对root的权限有特殊性。
本文出自 “我是一只小小菜鸟” 博客,请务必保留此出处http://lajifeiwomoshu.blog.51cto.com/5110076/1982388
以上是关于用户组和权限详解的主要内容,如果未能解决你的问题,请参考以下文章