728x90
반응형
파일 권한 기본
(mobaXterm 을 활용해 실습. cd /mnt/c/Users 같이 c 앞에 /mnt 써줘야 한다.)
파일 권한
- 파일 권한은 rwx 로 구성된다.
- r read 읽기
- w write 쓰기
- x execute 실행
파일 권한 범주
- user 소유자
- g group 파일 소유자가 속한 그룹에 포함된 사용자
- others user, group 을 제외한기타 사용자
$ cd /mnt/c/Users
hanboreum@DESKTOP-VO9DV1I:/mnt/c/Users$ ls -al // 권한 확인
total 0 //해당 디렉토리 내 파일이나 서브 디렉토리가 없다는 뜻
lrwxrwxrwx 1 hanboreum hanboreum 18 Dec 7 2019 'All Users' -> /mnt/c/ProgramData
-r-xr-xr-x 1 hanboreum hanboreum 174 Dec 7 2019 desktop.ini
- lrwxrwzrwz
- l: 파일 링크. 심볼릭 링크를 의미한다.
- rwx : 소유자에 대한 권한 read, write, execute
- rwx: 소유자 그룹에 대한 권한 read, write. execute
- rwx: 기타 사용자에 대한 권한 read, wirte,execute
- 1: 하드 링크 수
- hanboreum: 파일 소유자
- hanboreum: 파일 그룹
- 18: 심볼릭 링크의 바이트 수
- Dec 7 2019: 마지막 수정 날짜
- 'All Users': 심볼릭 링크의 이름
- /mnt/c/ProgramData: 심볼릭 링크가 가리키는 실제 경로
Q. 소유자에게만 읽기, 쓰기, 실행 권한이 있다면?
A. lrwx------
파일 권한 변경
chmod 파일 권한 변경
- chmod [옵션][권한][파일명]
- 옵션: 권한을 설정할 때 사용할 수 있는 추가 옵션. -R 옵션 사용 시 디렉토리 내 모든 파일에 대한 권한 변경 가능
- 권한: 설정할 권한을 지정
- chmod [u or g or o or a]
- u user, g group, others, all
- 파일명: 권한을변경할 파일이나 디렉토리이름
- 심볼릭 (문자) 모드
- 권한을 rwx 로 나타낸다. 권한 추가, 삭제 가능
- 사용자
- u
- g
- o
- a : user, group, others 모든 사용자
- 권한
- r read
- w write
- x execute
- 연산자
- + 권한 추가
- - 권한 제거
- = 권한 설정
chmod u+x test.file // user 에게 실행 권한 부여
chmod g-x test.file // group 에게 실행 권한 삭제
ls -al
ls -l // 이 명령어로 권한을 확인 할 수 있다.
- 숫자 모드
- 권한을 숫자로 표현
- r: 4
- w: 2
- e: 1
- 각 사용자의 권한을 합산하여 숫자로 나타낸다.
- rw- : 6
- r-- : 4
- rwx: 7
- r-x: 5
- 권한을 숫자로 표현
chmod 777 test.file //test.file 의 사용자, 사용자 그룹, 기타 사용자에게 읽기, 쓰기, 실행 권한 부여
chmod 755 test.file // 소유자에게 rwx, 사용자 그룹에게 rx, 기타 사용자에게 rx
chmod 744 test.file// 소유자에게 rwx, 사용자 그룹에게 r, 기타 사용자에게 r
// 권한 확인
ls -al
ls -l
특수권한
읽기, 쓰기, 실행 외 특수한 기능을 가진 권한
Setuid, Setgid, sticky bit 으로 나뉜다.
- Setuid: set user id 프로그램 실행 시 해당 프로그램이 실행되는 사용자의 권한이 아니라, 파일 소유자의 권한으로 실행되게 한다.
- 보통 시스템 관리자가 특정 작업을 수행할 수 있게 하기 위해 사용
- ex) 사용자의 권한은 비밀번호를 변경할 수 없지만, 파일 소유자 권한은 변경할 수 있다.
chmod u+s test.file //소유자에게 setuid
// x가 아니라 s 로 출력된다.
-rwsrwxr--
- Setgid: setuid 와 비슷하지만 그룹에 적용됨. 이 권한이 설정되는 사용자의 권한이 아니라, 파일 소유자의 그룹 권한으로 실행되게 한다.
- 디렉터리에 setgid 설정 시 해당 디렉터리 안 새로 생성되는 파일들의 그룹이 자동으로 해당 디렉터리의 그룹으로 설정된다.
- ex) 공동 작업 하는 팀의 특정 디렉터리에서 파일을 공유하고 수정할때 setgid를 설정하면 그 디렉터리 내의 파일들이 모두 동일한 그룹을 가지게 된다.
chmod g+x test.file
ls -l
//그룹이 rws 로 변경
-rwxrwsr
//권한 회수
chmod g-x test.file
- Sticky bit: 설정된 디렉터리 안에서는 파일의 소유자만 가능, 파일을 삭제, 변경할 수 없다. 주로 공용 디렉터리에서 사용된다.
chmod +t test.file
ls -l test.file
//권한 끝에 -T 가 표시된다.
-rwxrwsr-T
파일 및 디렉토리 생성, 글 작성
//파일 생성
touch test.file
// 글 작성
echo "hello linux" > test.file
// 글 확인
cat test.file
절대경로 상대경로
- 절대 경로
- 파일 시스템의 루트 (최상위) 부터 시작하는 경로
- / 부터 시작. 경로의 정확한 위치를 나타낸다.
- 언제나 같은 경로를 나타내므로, 현재 디렉터리 위치의 상관 없이 정확하게 같은 위치를 참조할 수 있다.
cd /home/name/doc
- 상대경로
- 현재 작업중인 디렉터리를 기준으로 하는 경로
- 현재 위치에 따라 달라지기에 작업 디렉터리 따라 경로가 달라진다.
cd doc
절대경로와 상대경로에서 rm, cp, mv
//절대경로
//디렉터리 생성
sudo mkdir -p /home/name/doc
//파일 생성
touch /home/name/doc/file.test
//생성된 파일 확인
ls /home/name/doc
//*권한 때문에 Permission denied가 나올 수도 있다.
//chown: 디렉터리 소유자와 그룹을 변경하느 명령어
//suco chown <owner>:<group><file:dic path>
sudo chown hanboreum:hanboreum /home/name/doc
touch /home/name/doc/file.txt
// 절대경로로 파일 생성
touch file.txt
cp: 복사
//상대경로
//file.txt를 file2.txt 생성 복사
cp file.txt file2.txt
//절대 경로
cp /home/name/doc/file.txt /home/name/doc/file.txt
mv 파일 이동
// 절대경로
mv /home/name/doc/file.txt /home/name/doc2/
//절대경로
mv doc2/file2.txt doc/
mv 이름 변경
// 상대경로
mv file.txt newname.txt
//절대경로
mv /home/name/doc/file.txt /home/name/doc/newname.txt
//상대 경로로 바꾸며 경로 변경
mv file txt. /home/name/doc2/newfile.txt
//절대 경로로 바꾸며 경로 변경
mv /home/name/doc2/file.txt /home/name/doc/newname.txt
rm 파일 삭제
//상대 경로
rm file.txt
//절대경로
rm /home/name/doc/file.txt
find
- 파일 시스템 내에서 파일과 디렉토리를 검색하는데 사용된다.
- find [path][option][search condition]
- 경로 생략 시, 현재 디렉토리에서 시작.
//파일 이름 검색
find -name "file3.txt"
//확장자 txt 검색
find -name "*.txt"
//file로 시작하는 모든 파일
find -name "file*"
//대소문자 구분 없이 검색
find -iname "file*"
type
주어진 명령어가 쉘 내에서 어떤 유형의 명령어인지 확인
//디렉터리 찾기
find /home/name type d
//일반 파일 찾기
find /home/name -type f
//심볼릭 링크 찾기
find -type l
size
- 파일 크기
//1GB보다 작은 파일 찾기
find -size -1G
// 정확히 1GB 파일 찾기
find -size 1G
time
수정 시간
// 7일 이상 수정되지 않은 파일
find -mtime +7
//7일 이내 수정된 파일
find -mtime -7
//7일 이내에 접근된 파일 찾기
find -atime -7
//오늘변경된 파일 찾기
find -ctime 0
Perm
파일 권한으로 찾기
// 권한 777 인 파일 (= rwe rwe rwe)
find -perm 777
//권한 755 이하인 파일
find -perm -755
-use, -group
소유자, 그룹 권한 파일 찾기
//소유자 user파일
find -user name
//그룹 group 파일
find -group group
728x90
'기타' 카테고리의 다른 글
linux - 명령어 (0) | 2025.02.23 |
---|---|
linux - 명령어 실행 시 조회 순서, 명령어에 경로가 포함된 경우 실행 차 (0) | 2025.02.23 |
Elastic search? (0) | 2025.02.17 |
Redis 를 어디에 쓸까 (0) | 2025.01.10 |
Redis란 (0) | 2025.01.08 |