리눅스 파일 권한 및 관리

▼ 사용자 및 그룹
자원 할당 :
인증 : 인증
권한 : 권한 부여
회계 | 오디션 : 감사

사용자 사용자

리눅스 사용자 : 사용자 이름 / UID의
관리자 : 루트, 0
일반 사용자 : 1-60000 자동 분배
시스템 사용자 : 1-499, 1-999 (CentOS7)
데몬 할당 권한에 대한 리소스에 대한 액세스
사용자가 로그인 할 때 : 500 + 1000 + ( CentOS7)
대화 형 로그온
그룹 그룹

리눅스 그룹 : 그룹 이름 / GID
관리자 그룹 : 뿌리, 0
정상 그룹 :
시스템 그룹 : 1-499, 1-999 (CENTOS7)
일반 그룹 : 500 + 1000 + (CENTOS7)
리눅스 보안 컨텍스트

실행 프로그램 : 프로세스 (과정)
하여 프로세스의 개시로 실행 :
루트 : / 빈 / CAT의
MAGE : / 빈 / 고양이
프로세스의 리소스에 액세스 할 수있는 권한은 프로세스 실행하는 사람의 신원에 따라
분류 리눅스 그룹을

사용자의 주 그룹 (기본 그룹)는
사용자가 하나 개의 그룹 만 한 주에 속해 있어야합니다
사용자 이름과 그룹 이름, 그리고 단 하나의 사용자, 그룹 개인 포함
사용자 (보충 그룹)의 추가 설정을
사용자가 0 개 이상 추가 그룹에 속할 수 있습니다
▷ 사용자 그룹 프로파일
메인 구성 파일 :
은 / etc / Passwd 파일 : 사용자와 (이름, UID, 주 그룹 ID) 자신의 속성 정보
은 / etc / 그룹 : 그룹 속성 정보와
은 / etc / 그림자 : 사용자 비밀번호 관련 속성
을 / etc / gshadow 파일 : 그룹 암호 및 관련 속성
passwd 파일 형식

[루트 @의 centos7 ~] $ 고양이 / etc / passwd에
첸 : X : 1000 : 1000 : 첸 : / 홈 / 첸 : / 빈 / bash는

  

1.login 이름 : 이름 (왕) 로그인
암호 (X 축) : 2.passwd
3.UID : 사용자 식별 번호 (1000)
4.GID : 기본 그룹 번호 (1000)에서 로그인
이름이나 주석 : 5.GECOS
6.home 디렉토리 : 사용자의 홈 디렉토리 (/ home / 왕)

7.shell : 사용자의 기본 쉘 (/ 빈 / bash는)

그림자 파일 형식

[루트 @의 centos7 ~] $ 고양이의 / etc / 그림자
첸 : * : 0 : 99999 : 7 :::

  

1. 이름으로 로그인
일반적으로 사용 SHA512 암호화 : 2. 사용자 암호
암호가 변경 될 때 마지막 재생 3. 1970년 1월 1일에서
4. 암호 (0 수단은 언제든지 변경 될 수 있습니다) 몇 일에서 변경 될 수 있습니다
암호를 변경해야 며칠 5. (99999이 만료되지 않습니다 나타냅니다)
암호는 사용자 (기본 일주) 경고 시스템을 만료 6. 며칠 전에
계정 암호가 몇 일 후에 만료 잠 깁니다 7
년 1 월 1970 8 첫번째 날짜, 일수가 실패 계정

그룹 파일 형식

그룹 이름 : 그룹 이름은이다
암호를 설정하는 것이 필요 없음을 / etc / gshadow 파일에 기록됩니다 그룹 암호를 입력합니다. 그룹 설정 암호 (단지 암호를 알고에) 일반 사용자가 그룹에 가입 할 수 있도록
그룹 ID입니다 다음 GID가
추가 그룹 (구분 쉼표)의 현재 사용자 그룹 목록
, vigr VI의 / etc / 그룹에 해당
gshdow 파일 형식을

그룹 이름 : 그룹의 이름입니다
: 그룹 암호
목록은 그룹 암호를 변경하고 그룹의 구성원 관리자 : 그룹 관리자 목록
사용자 목록의 현재 그룹 추가 그룹 : 쉼표로 구분 된 다수의 사용자
vigr는 해당 -s VI의 / etc / gshadow 파일

▼ 파일 권한
하거나 pwck과는 grpck

사용자 관리 명령
1.useradd
2.usermod
3.userdel
4.id
5.su
6.passwd
7.chage
그룹 계정 관리 명령
1.groupadd
2.groupmod
3.groupdel
4.gpasswd
5.groupmems
6.groups
▷ 사용자 관리 명령
● 새로운 사용자 관련 파일 및 명령
파일 관련
은 / etc / 기본 / useradd와
의 / etc / skel이 / *이
같은 /etc/login.defs
초보자들 passwd 파일 형식 배치는 사용자 생성
chpasswd 대량 사용자 암호를 수정

useradd와用户创建:

은 useradd [옵션] LOGIN
-u UID
에 확인 UID 고유성과 -o -u 옵션
기본 그룹 사용자가 GID 그룹 이름, 소속, 또는에 지정된 -g GID
-c를 "주석"사용자 주석 정보
-d HOME_DIR 홈 디렉토리 (없음) 지정된 경로
사용자의 기본 쉘 -s 쉘, 파일 사용 가능을 / etc / 쉘의 목록에 지정된
-G GROUP1을 [GROUP2, ...] 사용자가 추가 그룹, 이전 대상 그룹을 지정하기 위해 존재는
그룹 사용자 그룹을 사용하여 샷, 민간 단체의 단체 사진을 만들 수 없습니다 -N
시스템 사용자를 생성 -r 6 CentOS는 :. ID <500의 CentOS는 7 :. ID <1000
-m 시스템의 사용자를위한 홈 디렉토리 생성
-M의 홈 디렉토리가 만들어지지 않습니다 비 시스템 이용자

usermod에 [옵션] USERNAME "사용자 속성 수정"

하고 usermod [옵션] 로그인
-u UID : 새로운 UID
-g GID : 새로운 주요 그룹
-G GROUP1이 [GROUP2이 ... [ , GROUPN가]]] : 새로 추가 된 그룹은 원래 그룹이 추가로 적용됩니다, 당신은 유지하는 경우 원래, -a 옵션을 사용해야합니다
새 기본 SHELL의 : -s SHELL
-c '주석': 새 주석 정보
-d 홈 : 홈 디렉토리가 자동으로 생성되지 않습니다, 새로운 홈 디렉토리 및 이동 주택 원본 데이터를 만들려면 한편 -m 옵션
-l login_name은 : 새 이름
-L : 지정된 사용자를 잠금,은 / etc / 그림자 비밀 번호 표시 줄에 증가!
-U :! UNLOCK 지정된 사용자는 / etc / 암호 필드를 그림자하는 것은 제거
-e YYYY - MM-DD : 사용자 계정의 유효 기간을 나타냅니다
비 활동 기간을 설정 : 비활성 -f가

SU [옵션 ...] [-] [사용자 [인수는 ...]] "사용자 전환하거나 다른 사용자로 명령을 실행"


사용자 전환 방법 :
SU 사용자 이름 : 대상 사용자의 프로필을 읽지 않습니다 nonlogin 형 스위치는, 현재 작업 디렉토리를 변경하지 않습니다
스와 - 사용자 이름 : 로그 타입 스위치, 대상 사용자의 프로필을 읽고, 홈 디렉토리로 전환 완전히 전환
암호없이 다른 사용자에게 루트 SU를 비 - 루트 사용자 암호를 전환 할 필요가
신원 실행 변경 :
SU [-] 사용자 이름을 -C '명령'
- UserName의 SU는 -l UserName의 SU 대응

passwd에 [옵션] 사용자 이름 "암호"

일반적인 옵션 :
-d : 지정된 사용자 암호 삭제
-l을 : 지정된 사용자 잠금
-u를 : 특정 사용자의 잠금을 해제하려면
강제로 사용자가 다음 로그온시 암호를 변경 : -e
-f : 강제로 작업
-n mindays 사용의 최소 기간을 지정
-x maxdays를 : 최대 사용 기간
-w warndays : 사전에 많은 일을 경고하기 시작했다 방법
-i inactivedays을 : 비활성 기간
--stdin 옵션 : 표준 입력에서 사용자 암호를 수신
예 : "비밀번호"에코 | passwd를 --stdin 옵션을 USERNAME

사용자 암호 정책을 수정합니다 :

CHAGE [OPTION] ... LOGIN
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
-l显示密码策略

다른 사용자 관련 명령 :

  • chfn 명령은 개인 정보를 지정
  • chsh 명령 지정된 쉘
  • 손가락

관련 명령의 그룹

그룹 생성
groupadd [옵션]을 ... GROUP_NAME는
GID GID 번호 지정 -g [GID_MIN, GID_MAX]
-R 및 LT는 시스템 그룹 작성
에 CentOS 6 : ID <500.
CentOS는 7 : ID <1000.

그룹 수정 삭제
편집 그룹 속성을 : groupmod
groupmod [OPTION] ... 그룹
-n GROUP_NAME : 새 이름
-g GID : 새 GID
그룹 삭제 : groupdel
그룹을 groupdel

변화와 뷰 그룹 멤버

groupmems [옵션] [액션]
옵션 :
-g, --group GROUPNAME 지정된 그룹 (root 만)로 변경
작업 :
-a, --add 이름 그룹에 가입하기 위해 사용자 지정
, --delete 사용자 이름이 그룹에서 사용자를 삭제 -d를
- p는, 상기 그룹의 모든 멤버에서 제거 --purge
-l, --list 그룹 구성원의리스트 디스플레이
그룹 [옵션]. [USERNAME는] ... 그룹 목록을 보는 사용자가 속한

파일 권한

  • 주요 파일 사용 권한은 객체의 세 가지 유형에 대해 정의
  1. 그것은 유, 주요 소유자
  2. 그룹은 그룹 g이고
  3. 다른 기타, 오
  • 각 클래스의 각 파일은 세 방문자가 권한이 정의

R 컨텐츠 얻을 수있는 파일 뷰어 클래스 도구를 사용하여
컨텐츠 수정할 수 있습니다 w를
커널을 끌기 위해이 문서를 넣을 수 있습니다 x는 프로세스 시작
 디렉토리 :
R 당신은 파일 목록에서이 디렉토리를 볼 수 LS를 사용하여
도 될 수이 디렉토리에 파일을 만들 수 있습니다 승 디렉토리에있는 파일 삭제
파일 메타 데이터를 볼 ls -l로 사용할 수 X를 사용하면, 디렉토리에 CD를이 디렉토리에 있습니다 (R과 호환 가능해야합니다)
X X에만 디렉토리 권한이 아닌 권한 X 파일에

소유자와 개질 파일의 그룹
소유자 수정 된 파일 : 대한 Chown에
대한 Chown [옵션들은] ... [소유자] [실체는] ...은 FILE
명령들은
OWNER의
OWNER : 그룹
: 그룹은 대장도 대체 될 수있다.
-R : 재귀
대한 Chown [OPTION] ... --reference = RFILE 파일 ...
상기 수정 된 파일의 그룹이다을 chgrp의
chgrp하지 [옵션] ... 파일 그룹
을 chgrp [옵션] = ... --reference FILE ... RFile
-R 및 재귀 LT

파일 권한을 수정
은 chmod [옵션]을 ... ...은 FILE 8 진수 MODE -
-R & LT : 수정하는 재귀 적 권한
은 chmod [옵션] ... 모드 [모드]를 ... ...은 FILE
모드 :
모든 사용자의 클래스를 수정 권한
U = g = UG = O A = U = g =
사용자 권한 또는 비트들의 특정 클래스에 의해 변형
U UG + O + + G- A- A + + O- -
은 chmod [옵션] ... - 참조 = RFILE 파일 ...
참조 RFILE 파일 권한 같은 RFILE에 대한 파일을 수정

파일 및 디렉토리합니다 (umask를)위한 새로운 기본 권한
의 umask 값은 생성 된 파일 권한을 유지하는 데 사용할 수 있습니다

새로운 기본 권한 파일 : 결과는 실행의 존재에 의해 얻은 경우 666 - umask를, (홀수) 권한은 그 권한 +1
777-의 umask : 새로운 디렉토리에 대한 기본 권한
권한이없는 사용자의 umask가 002 인
루트의 umask를가 022입니다

리눅스 파일 시스템에 대한 특별 권한 (SUID, SGID, 스티커)
과정에 대한 모든 실행 파일을 시작할 수 없습니다 (1) 프로그램의 개시는 파일이 실행 권한이 있는지 여부에 따라 달라집니다
, (2) 프로세스를 시작 한 후 해당 프로세스를 주요 그룹이 개시가된다, 프로세스의 개시는 그룹이 속하는입니다
(3) 파일에 액세스하는 과정은, 프로세스의 개시에 따라 달라 때 권한을
응용 프로그램 파일 속성 : 파일의 소유자와, (a)는 프로세스의 개시 주요 권리
개시 (b)는 프로세스, 속 그룹에 속하는 파일, 응용 프로그램 파일이 권한 집합을하다
© 응용 프로그램 파일 "기타"권한

1.SUID "실행 파일에 대한 사용 권한"


모든 실행 파일은 프로세스를 시작할 수 없습니다 : 프로그램의 개시는 파일이 실행 권한이 있는지 여부에 따라
프로세스로 시작한 후, 소유자의 프로세스는 원본 파일의 소유자
SUID 바이너리 실행에만 유효
SUID 세트 무의미한 디렉토리
권한 :

chmod를 U +의 FILE ...
우리가 FILE chmod를 ...

  

SGID "실행 파일에 대한 사용 권한"

모든 실행 파일은 프로세스를 시작할 수 없습니다 : 프로그램의 개시는 파일이 실행 권한이 있는지 여부에 따라 달라집니다

과정으로 시작한 후, 원래의 프로그램 파일에 대한 프로세스의 그룹은 기이고

권한 :

chmod를 U +의 FILE ...
우리가 FILE chmod를 ...

  

디렉토리에 SGID 권한

이 사용자 그룹이 속하는 기본적으로 사용자의 기본 그룹에 속하는 파일을 만들 때

디렉토리가 SGID를 설정되면,이 디렉토리가이 디렉토리에 속하는이 디렉토리에 생성 된 파일의 사용자 그룹에 대한 쓰기 권한은 그룹입니다

종종 협력 디렉토리를 생성하는 데 사용

권한 :

는 chmod g의 DIR + S ...
chmod를 GS DIR ...

  

[GPL @ centos7 test_dir] $ 터치 F1
[루트 @의 centos7의 test_dir] $ 게요
총 0
-rw-RW-r-- 사용. 왕 왕 1 0 5 월 16 5시 1분 F1

[루트 @의 centos7의 test_dir] $ chmod를 용의 g + S / 데이터 / test_dir

[GPL @ centos7 test_dir] $ 터치 F2
[GPL @ centos7 test_dir] $ 게요
총 0
-rw-RW-r-- 사용. 왕 왕 1 0 5 월 16 5시 1분 F1
-rw-RW-r-- 사용. 왕 1 개 루트 0 5 월 16 5시 1분 F2
[GPL @ centos7 test_dir] $

  

3. 스티커 位

디렉토리는 일반적으로 사용자가 쓰기 권한이 파일 권한이나 소유권에 관계없이, 그 디렉토리에있는 파일을 삭제할 수 있습니다 가지고있다

스티키 비트는 소유자 만 또는 루트 파일이 파일을 삭제할 수 있습니다, 디렉토리에 설정되어

파일 스티커 의미 세트

권한 :

DIR t는 chmod 오 + ...
chmod를 해주 DIR ...

  

허가 맵
SUID : 사용자 오너 실행 허가 비트 점유
S : 소유자는 X 권한 보유
오너 NOX를 허가 : S
그룹에 속하는 그룹 권한 비트 실행 점유 : SGID를
S : 그룹은 X 권한이없는
S를 그룹 : 질소 산화물 권한
스티커 : 다른, 다른 실행 권한 비트를 차지
X가 다른 허가 : t
T : 어떤 권한 X 다른

"위해 chattr 특정 파일 속성을 설정

chattr +i당신은 변경, 삭제, 이름을 바꿀 수 없습니다
chattr +a 만 추가 콘텐츠
lsattr 표시 특정의 속성을

[루트 @의 centos7의 test_dir] $를 위해 chattr + I F1 키
[루트 @의 centos7의 test_dir] $ lsattr
---------------- ./f3
---- I ----------- ./f1

[root@centos7 test_dir]$su wang
[gpl@centos7 test_dir]$ mv f1 f111
mv: cannot move ‘f1’ to ‘f111’: Operation not permitted
[gpl@centos7 test_dir]$

  

访问控制列表ACL

ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加,方法如下:
tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test
ACL生效顺序:所有者,自定义用户,自定义组,其他人
所属组的权限变成mask的权限
所有权限不能超mask权限(除了user所有者的权限)

ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权限),而非传统的组权限

getfacl 可看到特殊权限:flags

通过ACL赋予目录默认x权限,目录内文件也不会继承x权限

base ACL #不能删除

setfacl -k dir # 删除默认ACL权限

setfacl –b file #清除所有ACL权限

getfacl file1 | setfacl --set-file=- file2 #复制file1的acl权限给file2

mask只影响除所有者和other的之外的人和组的最大权限

Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限(Effective Permission)
用户或组的设置必须存在于mask权限设定范围内才会生效
setfacl -m mask::rx file

–set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以
示例:
setfacl --set u::rw,u:wang:rw,g::r,o::- file1

备份和恢复ACL
主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息

备份:getfacl -R /tmp/dir1 > acl.txt
删除:setfacl -R -b /tmp/dir1
恢复:setfacl -R --set-file=acl.txt /tmp/dir1
	#方式2:setfacl --restore acl.txt
查看:getfacl -R /tmp/dir1

  以上到此结束,想要继续看的,未完待续。

추천

출처www.cnblogs.com/guopeilin/p/10926928.html